Automated Instantiation of Heterogeneous Fast Flow CPU/GPU Parallel Pattern Applications in Clouds

Parallel scientific workloads typically entail highly-customised software environments, involving complex data structures, specialised systems software, and even distinct hardware, where virtualisation is not necessarily supported by third-party providers. Considering the expansion of cloud computing in different domains and the development of different proprietary (e.g. Amazon Web Services, Azure) and open source cloud platforms (Eucalyptus, OpenStack, OpenNebula), users should arguably be able to automatically and seamlessly migrate their parallel workloads across cloud platforms using standardised virtual machines. However, even if it is easier to migrate the workload between nodes when the nodes have a similar configuration on the same platform, the transition between different platforms typically raises different issues such as vendor lock-in, portability, and interoperability. In this paper, we describe our work to automatically deploy a complex parallel software stack on heterogeneous hybrid cloud platforms. We have elastically deployed FastFlow - a C/C++ pattern-based programming framework for multi-/many-core and distributed platforms -- using virtual machines on both CPU and GPU-based architectures between heterogeneous virtualised platforms. Our approach relies on the standard Open Virtualization Format (OVF) in order to achieve a universal description of virtual appliances. Such a description is not only useful for elastically migrating and deploying, but also to determine the hardware/system software configuration needed switching to any new (cloud) image format. We have successfully evaluated our work using virtual machines based on VirtualBox and Amazon Web Services on local cluster and public cloud providers.

[1]  Dejan S. Milojicic,et al.  OpenNebula: A Cloud Management Tool , 2011, IEEE Internet Computing.

[2]  Luis Miguel Vaquero Gonzalez,et al.  Facing Services in Computational Clouds , 2008, High Performance Computing Workshop.

[3]  Wen-Syan Li,et al.  Calibrating Resource Allocation for Parallel Processing of Analytic Tasks , 2009, 2009 IEEE International Conference on e-Business Engineering.

[4]  Alexander Papaspyrou,et al.  Open cloud computing interface : core , 2011 .

[5]  Rajkumar Buyya,et al.  Adapting Market-Oriented Scheduling Policies for Cloud Computing , 2010, ICA3PP.

[6]  Hung-Yu Wei,et al.  Dynamic Auction Mechanism for Cloud Resource Allocation , 2010, 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing.

[7]  Kuribayashi Shin-ichi,et al.  Congestion control method with fair resource allocation for cloud computing environments , 2011 .

[8]  Peter Kilpatrick,et al.  Targeting Distributed Systems in FastFlow , 2012, Euro-Par Workshops.

[9]  Rajkumar Buyya,et al.  InterCloud: Utility-Oriented Federation of Cloud Computing Environments for Scaling of Application Services , 2010, ICA3PP.

[10]  Shin-ichi Kuribayashi,et al.  Congestion control method with fair resource allocation for cloud computing environments , 2011, Proceedings of 2011 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing.

[11]  James Bret Michael,et al.  Cloud to cloud interoperability , 2011, 2011 6th International Conference on System of Systems Engineering.

[12]  Jun Li,et al.  ArA: Adaptive resource allocation for cloud computing environments under bursty workloads , 2011, 30th IEEE International Performance Computing and Communications Conference.

[13]  Christine Morin,et al.  Contrail Virtual Execution Platform Challenges in Being Part of a Cloud Federation - (Invited Paper) , 2011, ServiceWave.

[14]  Horacio González-Vélez,et al.  N‐body computations using skeletal frameworks on multicore CPU/graphics processing unit architectures: an empirical performance evaluation , 2014, Concurr. Comput. Pract. Exp..

[15]  Eduardo Huedo,et al.  On the use of clouds for grid resource provisioning , 2011, Future Gener. Comput. Syst..

[16]  Rajkumar Buyya,et al.  SLA-Based Resource Allocation for Software as a Service Provider (SaaS) in Cloud Computing Environments , 2011, 2011 11th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[17]  Nikos Loutas,et al.  Cloud Computing Interoperability: The State of Play , 2011, 2011 IEEE Third International Conference on Cloud Computing Technology and Science.

[18]  Guangwen Yang,et al.  DABGPM: A Double Auction Bayesian Game-Based Pricing Model in Cloud Market , 2010, NPC.

[19]  Chuan Wu,et al.  A Reverse Auction Based Allocation Mechanism in the Cloud Computing Environment , 2013 .

[20]  Jing Feng,et al.  Resource Allocation for Real-Time Tasks Using Cloud Computing , 2011, 2011 Proceedings of 20th International Conference on Computer Communications and Networks (ICCCN).

[21]  Rubén S. Montero,et al.  Key Challenges in Cloud Computing: Enabling the Future Internet of Services , 2013, IEEE Internet Computing.

[22]  Arch D. Robison,et al.  Structured Parallel Programming: Patterns for Efficient Computation , 2012 .

[23]  Ryszard Kowalczyk,et al.  Decentralized Co-allocation of Interrelated Resources in Dynamic Environments , 2008, 2008 IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology.

[24]  Asit Dan,et al.  Web services agreement specification (ws-agreement) , 2004 .

[25]  Marios D. Dikaiakos,et al.  Cloud Computing: Distributed Internet Computing for IT and Scientific Research , 2009, IEEE Internet Computing.

[26]  Fermín Galán Márquez,et al.  From infrastructure delivery to service management in clouds , 2010, Future Gener. Comput. Syst..

[27]  Octavian Prostean,et al.  The Overall Process Taken by Enterprises to Manage the IaaS Cloud Services , 2012 .

[28]  Bin Hu,et al.  Research on dynamic resource allocation with cooperation strategy in cloud computing , 2012, 2012 3rd International Conference on System Science, Engineering Design and Manufacturing Informatization.

[29]  Horacio González-Vélez,et al.  Heterogeneous Algorithmic Skeletons for Fast Flow with Seamless Coordination over Hybrid Architectures , 2013, 2013 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing.

[30]  Marin Litoiu,et al.  Resource provisioning for cloud computing , 2009, CASCON.

[31]  Rajkumar Buyya,et al.  Inter‐Cloud architectures and application brokering: taxonomy and survey , 2014, Softw. Pract. Exp..

[32]  Dana Petcu,et al.  Building a Mosaic of Clouds , 2010, Euro-Par Workshops.

[33]  Muli Ben-Yehuda,et al.  The Reservoir model and architecture for open federated cloud computing , 2009, IBM J. Res. Dev..

[34]  Horacio González-Vélez,et al.  A survey of algorithmic skeleton frameworks: high‐level structured parallel programming enablers , 2010, Softw. Pract. Exp..

[35]  Anirudha Sahoo,et al.  On Theory of VM Placement: Anomalies in Existing Methodologies and Their Mitigation Using a Novel Vector Based Approach , 2011, 2011 IEEE 4th International Conference on Cloud Computing.

[36]  Murray Cole,et al.  Algorithmic Skeletons: Structured Management of Parallel Computation , 1989 .

[37]  Massimo Torquati,et al.  Towards The Deployment Of Fastflow On Distributed Virtual Architectures , 2013, ECMS.

[38]  Borja Sotomayor,et al.  Virtual Infrastructure Management in Private and Hybrid Clouds , 2009, IEEE Internet Computing.

[39]  Randy H. Katz,et al.  A view of cloud computing , 2010, CACM.

[40]  Alexander Papaspyrou,et al.  Toward an Open Cloud Standard , 2012, IEEE Internet Computing.

[41]  Prashant J. Shenoy,et al.  Sharing-aware algorithms for virtual machine colocation , 2011, SPAA '11.

[42]  Rajkumar Buyya,et al.  Article in Press Future Generation Computer Systems ( ) – Future Generation Computer Systems Cloud Computing and Emerging It Platforms: Vision, Hype, and Reality for Delivering Computing as the 5th Utility , 2022 .

[43]  Radu Prodan,et al.  A survey and taxonomy of infrastructure as a service and web hosting cloud providers , 2009, 2009 10th IEEE/ACM International Conference on Grid Computing.

[44]  Christoph Rathfelder,et al.  A Framework for Multi-level SLA Management , 2009, ICSOC/ServiceWave Workshops.

[45]  Sanjay Chaudhary,et al.  Policy based resource allocation in IaaS cloud , 2012, Future Gener. Comput. Syst..

[46]  Peter Kilpatrick,et al.  The ParaPhrase Project: Parallel Patterns for Adaptive Heterogeneous Multicore Systems , 2011, FMCO.

[47]  Cody Bunch,et al.  OpenStack Cloud Computing Cookbook , 2012 .

[48]  Bo Wang,et al.  An Intelligent Capacity Planning Model for Cloud Market , 2011, J. Internet Serv. Inf. Secur..

[49]  Peter Kilpatrick,et al.  Accelerating Code on Multi-cores with FastFlow , 2011, Euro-Par.