Keys to Attracting the Newest HPC Talent – Post-Millennials

By Andy Morris, IBM Cognitive Infrastructure

August 19, 2019

⟦Connect with HPC users and learn new skills in the IBM Spectrum LSF User Community.⟧

For engineers and scientists growing up in the 80s, the current state of HPC makes perfect sense. We were schooled in Fortran, Pascal, and Macro-assembler, and frequently had to wait in line for a terminal to complete programming assignments. For Generation X and the Boomers preceding us, it was nearly impossible to graduate in a scientific discipline without programming or at least scripting skills.1 Command-line interfaces (CLIs), job schedulers, and MPI feel natural to this cohort.

Today, the next generation of HPC users are just entering the workplace. This generation (let’s call them the “iGen”), born after 1995, doesn’t remember a time before the internet.2 iGen elders were pre-teens when the first iPhone was introduced. They’ve grown up tethered to their devices, tapping and swiping touchscreens, and using Instagram and Snapchat.

While today’s science grads are smarter and more capable than ever, their idea of a CLI is a collaborative notebook, and installing software seems old school – they’d rather pull a ready-to-run container from a registry.3 To unleash the productivity of this next generation of users, HPC managers need to modernize tools, interfaces and processes and enable new HPC professionals to focus on science rather than computer science.

Technology is critical in the fight for top talent

Having the latest technology is not just about productivity – it’s an important element in the battle to attract the best and brightest graduates essential for competitiveness. 82% of workers under age 35 say that workplace technology influences their choice when taking on a new job, and this is likely to be even higher among the tech-savvy graduates targeted by HPC centers and labs.4 Members of the iGen want to use the latest technology. They grew up using smartphones, tablets, and apps in their daily lives and expect to use the same tools in their workplace. Also, post-millennials see their technical competency as the key to their marketability. They want to acquire skills that will help them get ahead and ensure future employment.

Keys to modernizing HPC for the next generation

  • Modern language support – Fortran and C have been favorite programing languages among HPC professionals for decades. They are optimized, produce tight compiled code, and offer extensive, mature scientific libraries and MPI support. Today, the most popular programming languages among young developers include Python, Java, JavaScript, PHP, Swift, and Go. While Fortran isn’t going anywhere, language bindings for standard math libraries and CUDA/GPU libraries are widely available in Python, Java, and C#. HPC managers should encourage the use of modern languages such as Python and Java. Python is the new Fortran with robust support for machine learning and HPC libraries supporting modern language bindings. Modern languages are better suited to accessing GPUs and calling the RESTful APIs used to marshall cloud services – increasingly important capabilities in modern HPC.

 

  • Wrap legacy tools with graphical interfaces – Most HPC tools are launched from the command line, accepting complex sets of input parameters and files to a workload manager to guide simulation. Scripts are frequently used to manage multi-step workflows and mask much of this complexity from users. Rather than have knowledge workers focus on learning these CLIs, applications and workflows can be expressed as black boxes and exposed via self-documenting interfaces such as HPC portals or web-based notebooks. Most workload managers provide web-based tools or mobile apps to launch, monitor, and manage simulations. A scientist or engineer will still need to have expertise in tools appropriate to their discipline (For example, coding a Nastran file to describe structures and apply load and add boundary conditions) but the user can be productive without the need to learn the intricacies of shell programming and command-line interfaces.

 

  • Deploy collaborative frameworks that support visualization – Most simulation tools (CFD, FEA, Geosciences, etc.) rely on post-processing tools to visualize simulation results. Rather than treating visualization as a discrete step, simulation results should be displayed visually from within a notebook or web-portal rendering XY plots, 2D or 3D images and animations as appropriate using remote visualization. These capabilities are expected by today’s graduates. They improve productivity and usability and enable better collaboration and knowledge sharing for greater productivity.

 

  • Extend infrastructure to the cloud – While HPC users accept that simulations often queue for hours until resources are available, the notion of finite computing resources is foreign to the generation that grew up with cloud services. Managing cost is important, but HPC managers should put the software and management controls in place to enable hybrid cloud computing with automated cloud-bursting. Selective use of cloud-bursting can help organizations reduce their on-premise footprint, improve efficiency and agility, and ultimately reduce cost by paying for infrastructure only when it is needed.

 

  • Leverage GPUs for a greener data center – Young people are more concerned about the environment than their parents. According to Gallup, 70% of adults aged 18 to 34 worry about global warming.5 It’s no accident that the top supercomputers on the Green 500 list are all powered by GPUs. For younger HPC professionals, aggressively embracing GPUs makes sense. Increased use of GPUs isn’t only about performance – reducing the HPC center’s carbon footprint is also a philosphical issue. Also, with power and cooling costs increasingly dominating total spending in HPC, it makes economic sense to focus new graduates on re-expressing legacy code to exploit modern GPUs.

[Also learn how datacenters are reducing their HPC carbon footprint.]

  • Embrace containers – Today’s computer science graduates have grown up with fundamentally different ideas about how to build software than their predecessors. Internet-scale applications use containers to realize modular microservice architectures enabling performance, scalability, and fault tolerance. While containers are used in HPC today, they are mostly used for ease of packaging applications and making them portable. The coming generation of HPC developers will leave their mark on how application services are designed and deployed using containers and container management platforms such as Kubernetes for next-generation HPC & AI application services.

 

An HPC toolset for the modern age

The IBM Spectrum LSF portfolio provides the tooling needed to support existing HPC applications and help centers modernize, providing an environment that is more intuitive and easier to use for the next generation of HPC users. Capabilities include:


References

1 Generation X was born between 1965 and 1979 and Baby Boomers were born between 1944 and 1964 – https://www.kasasa.com/articles/generations/gen-x-gen-y-gen-z

2 The iGen or Generation Z – https://en.wikipedia.org/wiki/Generation_Z

3 Notebooks are open-source web applications that allow users to share live code – a good example is the Jupyter network, formerly IPython – https://jupyter.org/

4 Technology, jobs and the future of work – https://www.mckinsey.com/featured-insights/employment-and-growth/technology-jobs-and-the-future-of-work

5 Do younger generations care more about global warming? – https://climatecommunication.yale.edu/publications/do-younger-generations-care-more-about-global-warming/

Return to Solution Channel Homepage
HPCwire