CS700:Graduate Seminar in Computer Science & Informatics

Software Deployment Challenges in High-Performance Computing
Jaroslaw Slawinski, Department of Mathematics and Computer Science

Advancements in science and engineering (SaE) require software tools to model and simulate studied phenomena. Along with the increase of scientific knowledge, the software becomes more complex and demands high-performance computing (HPC) environments to sustain the size of problems being processed. Typical SaE applications are legacy codes, need numerous, non-trivial software dependencies, and are distributed in the form of a source code without well-defined deployment mechanisms. Moreover, they are usually developed on few on-premises machines and for a limited set of targets, such as particular supercomputers. These applications^? typical targets are HPC machines that use cutting-edge technologies, are often singular units, and offer proprietary system software stacks. This combination does not mix well and field scientists struggle trying to execute a given SaE application on a specific target. Some studies show that even 30 percents of effort at HPC centers is devoted for just software deployment! In this talk, I will present research results that facilitate SaE application deployment for various (HPC) targets. Also, I will demonstrate how the software deployment extended beyond supercomputers may lead to realization of the utility computing vision where users may execute any application on any computational resource.