The Maryland Advanced Research Computing Center (MARCC) is a state of the art High Performance Computing (HPC) facility that provides resources (HPC, storage and analytics) for researchers at Johns Hopkins University, The University of Maryland at College Park and eventually to all other schools in the state of Maryland. The software engineer will provide direct support to all users on the effective utilization of resources, code development, debugging, optimization, installation and maintenance of open source scientific applications. The incumbent will enable faculty to advance research-computing agendas by providing direct technical support and training modules on HPC topics to the research community. There will be also many opportunities to establish scientific collaborations and partnerships with research groups.
This position will interact with an array of departmental and central administrative offices, faculty, staff, researchers, and students, and with numerous external constituents (i.e. other college administrators and faculty, private businesses, industry partners, officials of federal and local agencies and research foundations) for the purpose of accomplishing HPC technology goals. This includes providing instruction on protocol, regulations and guidelines pertinent to the agency and/or University. Works routinely with University faculty, administrators, students, and researchers. Collaborates regularly with professional colleagues from the central IT@JHU organization, and from other academic departments. Collaborates regularly with colleagues in industry and at other peer institutions.
Essential Duties & Responsibilities:
Maintain job scheduling and storage allocation systems and policies to ensure fair allocation of shared resources.
Install and maintain scientific applications
Provide basic support and guidance on application utilization
Clearly document steps followed on application installation
Establish and maintain research collaborations
Work with researchers to provide assistance with grant applications
Application development, debugging, optimization
Maintain Math libraries and MPI packages
General HPC support
Extensively document processes so that users can easily find useful information and other IT staff can perform routine tasks and provide backup.
Ensure solutions released to the community are stable and usable.
Ensure resources meet the community's needs and are highly available to the group with limited interruption.
Provide required facility activity data for University and government reports.
Provide first line of support via phone, email, or face to face on MARCC related issues
Maintain MARCC web site and FAQs
Understand HPC technical needs. Work closely with the facility's director and oversight groups to successfully implement policies and procedures
Continuously evaluate new tools and technologies for use in existing and future clusters
Recommend solutions and new technologies for facility.
Provides regular workshops on HPC related topics to ensure the effective utilization of resources
Develops materials and workshop content on different HPC topics.
Attend department and University-sponsored training to increase knowledge, improve skills, and
learn new skills. May substitute University training for supervisor approved commercial job related course offerings.
Attends at least three full-day in-class or on-line training programs per year, and department training pertinent to their job.
Familiarity with XSEDE resources to effectively combine local and external resources for training
Ability to utilize web resources to complement local resources
Provide basic and intermediate workshops on scientific topics
Bachelor's degree required. Five years related experience. Additional education may substitute for required experience and additional related experience may substitute for required education, to the extent permitted by the JHU equivalency formula.
Related work experience:
Minimum 3 years' experience providing user support on an HPC environment
Familiarity with configuration of the HPC software stack, including MPI, OpenMP, Intel, and GNU compilers, Math libraries.
Experience with scientific application management packages like Lua modules, Environment modules
Experience with queuing systems like SLURM, PBS, Torque
Excellent scripting skills, python, perl, shell
Knowledge of scientific software applications in academic supercomputing environments is desired
Experience in database programming (mysql, Mariadb)
Ability to maintain confidentiality
Excellent customer service skills
Excellent communication skills
Must demonstrate strong critical thinking and analytical reasoning
Knowledge and Skill:
Proficient in scientific programming languages, C, C++, or Fortran
Experience in parallel programming, MPI and/or OpenMP
In-depth knowledge in the design, organization of cutting-edge technology in HPC environments.
Advanced knowledge of Linux, PHP/Python/Perl technology/toolkits.
In-depth understanding of HPC Cluster management software.
Understanding of massive high performance parallel storage and methodologies.
Understand, implement, troubleshoot, and support batch and workload management systems, including diagnosis of failed jobs, implementation of policies, and investigations of new features and services.
Install and configure infrastructure applications by following industry best practices to deliver effective solutions.
Proficiency on scientific applications like Matlab, R, others per discipline.
Must have the ability to multi-task and prioritize.
Must be adaptable and able to meet conflicting deadlines.
Exceptional organizational skills.
The ability to interact with peer institutions to support HPC directives effectively; furthering the goals of the MARCC facility.
Excellent oral and written interpersonal skills in terms of customer service, training, and evangelism of new technologies, negotiation, and persuasion.
Produce effective and thorough technical documentation.
Provide outstanding direct and indirect user support.
Research, recommend, and implement new technologies based on the value to the research facility.
Desired (not required) skills:
GPU and Cuda programming
Familiarity with visualization packages, Visit, Paraview
Johns Hopkins University remains committed to its founding principle, that education for all students should be grounded in exploration and discovery. Hopkins students are challenged not just to learn but also to advance learning itself. Critical thinking, problem solving, creativity, and entrepreneurship are all encouraged and nourished in this unique educational environment. After more than 130... years, Johns Hopkins remains a world leader in both teaching and research. Faculty members and their research colleagues at the university's Applied Physics Laboratory have each year since 1979 won Johns Hopkins more federal research and development funding than any other university. The university has nine academic divisions and campuses throughout the Baltimore-Washington area. The Krieger School of Arts and Sciences, the Whiting School of Engineering, the School of Education and the Carey Business School are based at the Homewood campus in northern Baltimore. The schools of Medicine, Public Health, and Nursing share a campus in east Baltimore with The Johns Hopkins Hospital. The Peabody Institute, a leading professional school of music, is located on Mount Vernon Place in downtown Baltimore. The Paul H. Nitze School of Advanced International Studies is located in Washington's Dupont Circle area.