E-HPC: a library for elastic resource management in HPC environments

Next-generation data-intensive scientific workflows need to support streaming and real-time applications with dynamic resource needs on high performance computing (HPC) platforms. The static resource allocation model on current HPC systems that was designed for monolithic MPI applications is insufficient to support the elastic resource needs of current and future workflows. In this paper, we discuss the design, implementation and evaluation of Elastic-HPC (E-HPC), an elastic framework for managing resources for scientific workflows on current HPC systems. E-HPC considers a resource slot for a workflow as an elastic window that might map to different physical resources over the duration of a workflow. Our framework uses checkpoint-restart as the underlying mechanism to migrate workflow execution across the dynamic window of resources. E-HPC provides the foundation necessary to enable dynamic resource allocation of HPC resources that are needed for streaming and real-time workflows. E-HPC has negligible overhead beyond the cost of checkpointing. Additionally, E-HPC results in decreased turnaround time of workflows compared to traditional model of resource allocation for workflows, where resources are allocated per stage of the workflow. Our evaluation shows that E-HPC improves core hour utilization for common workflow resource use patterns and provides an effective framework for elastic expansion of resources for applications with dynamic resource needs.

[1]  Michael Abd-El-Malek,et al.  Omega: flexible, scalable schedulers for large compute clusters , 2013, EuroSys '13.

[2]  Feng Liu,et al.  Elastic job bundling: an adaptive resource request strategy for large-scale parallel applications , 2015, SC15: International Conference for High Performance Computing, Networking, Storage and Analysis.

[3]  Randy H. Katz,et al.  Above the Clouds: A Berkeley View of Cloud Computing , 2009 .

[4]  Philippe Merle,et al.  soCloud: a service-oriented component-based PaaS for managing portability, provisioning, elasticity, and high availability across multiple clouds , 2014, Computing.

[5]  P. Mell,et al.  The NIST Definition of Cloud Computing , 2011 .

[6]  Daniel S. Katz,et al.  Montage: a grid portal and software toolkit for science-grade astronomical image mosaicking , 2009, Int. J. Comput. Sci. Eng..

[7]  Erik Elmroth,et al.  Enabling Workflow-Aware Scheduling on HPC Systems , 2017, HPDC.

[8]  Gene Cooperman,et al.  Transparent User-Level Checkpointing for the Native Posix Thread Library for Linux , 2006, PDPTA.

[9]  Jeff Weber,et al.  Workflow Management in Condor , 2007, Workflows for e-Science, Scientific Workflows for Grids.

[10]  Erik Elmroth,et al.  A2L2: An Application Aware Flexible HPC Scheduling Model for Low-Latency Allocation , 2015, VTDC@HPDC.

[11]  Lavanya Ramakrishnan,et al.  VGrADS: enabling e-Science workflows on grids and clouds with fault tolerance , 2009, Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis.

[12]  J.P. Hanna,et al.  Dynamic resource allocation in an HPC environment , 2004, 2004 Users Group Conference (DOD_UGC'04).

[13]  Ann L. Chervenak,et al.  Characterizing and profiling scientific workflows , 2013, Future Gener. Comput. Syst..

[14]  Daniel S. Katz,et al.  Pegasus: A framework for mapping complex scientific workflows onto distributed systems , 2005, Sci. Program..

[15]  Daniel S. Katz,et al.  Swift: A language for distributed parallel scripting , 2011, Parallel Comput..

[16]  Rajkumar Buyya,et al.  A Taxonomy of Workflow Management Systems for Grid Computing , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[17]  Johan Tordsson,et al.  Improving cloud infrastructure utilization through overbooking , 2013, CAC.

[18]  Clive G. Page,et al.  Definition of the Flexible Image Transport System (FITS), version 3.0 , 2010 .

[19]  Dror G. Feitelson,et al.  Utilization, Predictability, Workloads, and User Runtime Estimates in Scheduling the IBM SP2 with Backfilling , 2001, IEEE Trans. Parallel Distributed Syst..

[20]  Carlo Curino,et al.  Apache Hadoop YARN: yet another resource negotiator , 2013, SoCC.

[21]  Jun Qin,et al.  ASKALON: A Development and Grid Computing Environment for Scientific Workflows , 2007, Workflows for e-Science, Scientific Workflows for Grids.

[22]  Randy H. Katz,et al.  Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center , 2011, NSDI.

[23]  Guilherme Galante,et al.  A Survey on Cloud Computing Elasticity , 2012, 2012 IEEE Fifth International Conference on Utility and Cloud Computing.

[24]  Abhishek Verma,et al.  Large-scale cluster management at Google with Borg , 2015, EuroSys.

[25]  Dick H. J. Epema,et al.  Experiences with the KOALA co-allocating scheduler in multiclusters , 2005, CCGrid 2005. IEEE International Symposium on Cluster Computing and the Grid, 2005..

[26]  Devarshi Ghoshal,et al.  Tigres Workflow Library: Supporting Scientific Pipelines on HPC Systems , 2016, 2016 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid).

[27]  Feng Zhao,et al.  Energy aware consolidation for cloud computing , 2008, CLUSTER 2008.

[28]  Jignesh M. Patel,et al.  Twitter Heron: Stream Processing at Scale , 2015, SIGMOD Conference.

[29]  Cristian Klein,et al.  An RMS Architecture for Efficiently Supporting Complex-Moldable Applications , 2011, 2011 IEEE International Conference on High Performance Computing and Communications.

[30]  Daniel S. Katz,et al.  Workflow task clustering for best effort systems with Pegasus , 2008, Mardi Gras Conference.

[31]  Yolanda Gil,et al.  Pegasus: Mapping Scientific Workflows onto the Grid , 2004, European Across Grids Conference.

[32]  Michael Lang,et al.  Exploring Distributed Resource Allocation Techniques in the SLURM Job Management System , 2013 .

[33]  Uwe Schwiegelshohn,et al.  Theory and Practice in Parallel Job Scheduling , 1997, JSSPP.

[34]  Anees Shaikh,et al.  A Cost-Aware Elasticity Provisioning System for the Cloud , 2011, 2011 31st International Conference on Distributed Computing Systems.

[35]  Dick H. J. Epema,et al.  KOALA: a co‐allocating grid scheduler , 2008, Concurr. Comput. Pract. Exp..

[36]  Eric A. Brewer,et al.  Borg, Omega, and Kubernetes , 2016, ACM Queue.