Cloud-Readiness and Looking Beyond Application Scaling

By Chris Downing

April 11, 2018

Editor’s note: In a follow-on to his well-received “How the Cloud Is Falling Short for HPC” article, Red Oak’s Chris Downing turns his attention to getting applications cloud-ready.

There are two aspects to consider when determining if an application is suitable for running in the cloud. The first, which we will discuss here under the title application readiness, lets us examine how the run-time of the job is affected by the environment we are running in. The second, workflow readiness, forces us to think more broadly about how the jobs fit in to our day-to-day activities, and how effectively we are getting things done.

Application readiness

Application performance is fairly well understood in the HPC community. We go to great lengths to benchmark codes and determine the optimum job parameters based on the scaling characteristics observed. We avoid overheads and penalties such as those arising from virtualisation, and we insist on the most performant hardware our budgets can stretch to.

There are a few simple steps application developers can take to make their software more amenable to running in the cloud. The most crucial is a sane approach to checkpointing – the majority of well-developed apps do this by default, but it is a feature which could easily be overlooked in a home-spun tool which gradually grows in popularity and scope. Efficient checkpoint mechanisms are crucial to on-premise HPC, but even more so in the cloud where pre-emptible instances will be the de facto job environment.

Another aspect to consider is the potential for changes to temporary storage. The overwhelming majority of HPC applications write their outputs to simple text files, with the more keenly developed software making use of the likes of HDF5 or NetCDF to manage their data. Co-existence of HPC workloads with enterprise IT tools allows us to open up a few new avenues of research when figuring out how to deliver better performance – the simplest of which would be the use of databases. Running multiple “production” databases on a HPC cluster is not common due to the perceived fragility of the infrastructure, but in the cloud, it would be trivial. Depending on the application, a database could offer performance benefits in the analysis phase, as well as opening the door to providing results of large simulations to the wider community as a service.

Finally, users should remember that the many (perhaps most) applications do not scale particularly well anyway or are often only ran over a small number of nodes – in that case, using fewer cores for a longer duration is more efficient provided a longer wait is tolerable. While the poor price/performance of public clouds for multi-node scientific computing can easily be interpreted as a reason not to use these resources, it should instead be thought of as a gentle shove away from wasteful practices, and towards patience. The focus for applications running in the cloud should therefore be on extracting value from the outputs, which is a workflow problem rather than an application one.

Workflow readiness

The workflow which surrounds and links together applications is another area where optimisation will need to occur and is arguably the area where we ought to focus our attention when considering the cloud. At the design-of-experiments level, researchers who are being steered towards cloud usage should consider whether their research project is making best use of the available resource scaling. The sort of large scale, embarrassingly-parallel parameter space exploration which might have struggled to get approval to run on a crowded HPC system is a perfect model for the cloud – the researcher is effectively limited only by their budget and their ability to deal with the job outputs.

Storage utilisation is another area where workflows can be optimised for the cloud. When jobs directly interact with a permanent file system as is the case for traditional HPC, users do not need to worry much about what state their data is in until they actually want to perform their analysis. The same model could work in the cloud, but the ephemeral nature of cloud resources means that each job would need to first get data out of a separate persistent store (likely an object storage service), then put the file back at the end. Rather than seeing this as a nuisance, users should consider whether “serverless” computing offers a route to turn these put/get steps into part of an automated data analysis pipeline, for example by running data cleansing or analysis scripts programmatically. Rather than the user waiting for jobs to finish them performing a series of manual steps to extract something valuable, portions of the analysis can be turned into a scripted procedure which occurs automatically once the necessary data are available.

Containerised workflows are increasingly popular in HPC with Singularity leading the charge towards making reproducible user-defined environments the norm. Running in a container makes HPC jobs portable, both between different on-premise systems and between physical and cloud resources. Combining containerised applications with general-purpose serverless analysis scripts, it is easy to imagine how a community of researchers using the same code might be able to put together a set of computational and analysis pipelines, leading to more standardised outputs and easing the process of turning discoveries into publication-ready results. More importantly – rather than just sharing their outputs, researchers would have an easier way to share their whole pipeline. This might raise some questions regarding competition but is surely the best route to improving the reproducibility of science.

Making it happen

Most of the modifications described here are well outside the comfort zone of a novice research software engineer. Likewise, refactoring crusty Fortran code to accommodate modern system architectures is likely to be just as unappealing to the new wave of computer scientists as working on mainframe Cobol would be – perhaps even less so, given the likely salary differential. There is therefore room in the middle for a new skillset, one which brings together an interest in scientific computing with an acceptance that traditional HPC cluster designs might not be the future – something like Scientific DevOps.

As with “normal” research software engineering in years past (and, some would argue, still to this day), the problem will inevitably be money. Paying people to churn out publications as part of the process of scientific discovery is accepted practice but exploring new methods of how to get stuff done has proved to be a much tougher sell. Those responsible for dishing out grant money tend to be somewhat cautious, and traditionalists.

We should therefore be looking to the cloud providers themselves to drive this innovation – as the adage goes, you need to spend money to make money, and right now a large pool of scientific computing users are lagging far behind their enterprise counterparts in cloud adoption. Tapping into this market will naturally require some investment on the part of Amazon, Google and Microsoft – but they should recognise that people and skills are more important than new features when splashing around their marketing budget.

About the Author

Chris Downing joined Red Oak Consulting @redoakHPC in 2014 on completion of his PhD thesis in computational chemistry at University College London. Having performed academic research using the last two UK national supercomputing services (HECToR and ARCHER) as well as a number of smaller HPC resources, Chris is familiar with the complexities of matching both hardware and software to user requirements. His detailed knowledge of materials chemistry and solid-state physics means that he is well-placed to offer insight into emerging technologies. Chris, Senior Consultant, has a highly technical skill set working mainly in the innovation and research team providing a broad range of technical consultancy services. To find out more www.redoakconsulting.co.uk.

Subscribe to HPCwire's Weekly Update!

Be the most informed person in the room! Stay ahead of the tech trends with industy updates delivered to you every week!

InfiniBand Still Tops in Supercomputing

July 19, 2018

In the competitive global HPC landscape, system and processor vendors, nations and end user sites certainly get a lot of attention--deservedly so--but more than ever, the network plays a crucial role. While fast, perform Read more…

By Tiffany Trader

HPC for Life: Genomics, Brain Research, and Beyond

July 19, 2018

During the past few decades, the life sciences have witnessed one landmark discovery after another with the aid of HPC, paving the way toward a new era of personalized treatments based on an individual’s genetic makeup Read more…

By Warren Froelich

WCRP’s New Strategic Plan for Climate Research Highlights the Importance of HPC

July 19, 2018

As climate modeling increasingly leverages exascale computing and researchers warn of an impending computing gap in climate research, the World Climate Research Programme (WCRP) is developing its new Strategic Plan – and high-performance computing is slated to play a critical role. Read more…

By Oliver Peckham

HPE Extreme Performance Solutions

Introducing the First Integrated System Management Software for HPC Clusters from HPE

How do you manage your complex, growing cluster environments? Answer that big challenge with the new HPC cluster management solution: HPE Performance Cluster Manager. Read more…

IBM Accelerated Insights

Are Your Software Licenses Impeding Your Productivity?

In my previous article, Improving chip yield rates with cognitive manufacturing, I highlighted the costs associated with semiconductor manufacturing, and how cognitive methods can yield benefits in both design and manufacture.  Read more…

U.S. Exascale Computing Project Releases Software Technology Progress Report

July 19, 2018

As is often noted the race to exascale computing isn’t just about hardware. This week the U.S. Exascale Computing Project (ECP) released its latest Software Technology (ST) Capability Assessment Report detailing progress so far. Read more…

By John Russell

InfiniBand Still Tops in Supercomputing

July 19, 2018

In the competitive global HPC landscape, system and processor vendors, nations and end user sites certainly get a lot of attention--deservedly so--but more than Read more…

By Tiffany Trader

HPC for Life: Genomics, Brain Research, and Beyond

July 19, 2018

During the past few decades, the life sciences have witnessed one landmark discovery after another with the aid of HPC, paving the way toward a new era of perso Read more…

By Warren Froelich

D-Wave Breaks New Ground in Quantum Simulation

July 16, 2018

Last Friday D-Wave scientists and colleagues published work in Science which they say represents the first fulfillment of Richard Feynman’s 1982 notion that Read more…

By John Russell

AI Thought Leaders on Capitol Hill

July 14, 2018

On Thursday, July 12, the House Committee on Science, Space, and Technology heard from four academic and industry leaders – representatives from Berkeley Lab, Argonne Lab, GE Global Research and Carnegie Mellon University – on the opportunities springing from the intersection of machine learning and advanced-scale computing. Read more…

By Tiffany Trader

HPC Serves as a ‘Rosetta Stone’ for the Information Age

July 12, 2018

In an age defined and transformed by its data, several large-scale scientific instruments around the globe might be viewed as a ‘mother lode’ of precious data. With names seemingly created for a ‘techno-speak’ glossary, these interferometers, cyclotrons, sequencers, solenoids, satellite altimeters, and cryo-electron microscopes are churning out data in previously unthinkable and seemingly incomprehensible quantities -- billions, trillions and quadrillions of bits and bytes of electro-magnetic code. Read more…

By Warren Froelich

Tsinghua Powers Through ISC18 Field

July 10, 2018

Tsinghua University topped all other competitors at the ISC18 Student Cluster Competition with an overall score of 88.43 out of 100. This gives Tsinghua their s Read more…

By Dan Olds

HPE, EPFL Launch Blue Brain 5 Supercomputer

July 10, 2018

HPE and the Ecole Polytechnique Federale de Lausannne (EPFL) Blue Brain Project yesterday introduced Blue Brain 5, a new supercomputer built by HPE, which displ Read more…

By John Russell

Pumping New Life into HPC Clusters, the Case for Liquid Cooling

July 10, 2018

High Performance Computing (HPC) faces some daunting challenges in the coming years as traditional, industry-standard systems push the boundaries of data center Read more…

By Scott Tease

Leading Solution Providers

SC17 Booth Video Tours Playlist

Altair @ SC17

Altair

AMD @ SC17

AMD

ASRock Rack @ SC17

ASRock Rack

CEJN @ SC17

CEJN

DDN Storage @ SC17

DDN Storage

Huawei @ SC17

Huawei

IBM @ SC17

IBM

IBM Power Systems @ SC17

IBM Power Systems

Intel @ SC17

Intel

Lenovo @ SC17

Lenovo

Mellanox Technologies @ SC17

Mellanox Technologies

Microsoft @ SC17

Microsoft

Penguin Computing @ SC17

Penguin Computing

Pure Storage @ SC17

Pure Storage

Supericro @ SC17

Supericro

Tyan @ SC17

Tyan

Univa @ SC17

Univa

  • arrow
  • Click Here for More Headlines
  • arrow
Do NOT follow this link or you will be banned from the site!
Share This