Programming a service Cloud Rosa M. Badia, Jorge Ejarque, Daniele Lezzi, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group Barcelona Supercomputing.

Slides:



Advertisements
Similar presentations
1 Exceptions: An OO Way for Handling Errors Rajkumar Buyya Grid Computing and Distributed Systems (GRIDS) Laboratory Dept. of Computer Science and Software.
Advertisements

1 Towards an Open Service Framework for Cloud-based Knowledge Discovery Domenico Talia ICAR-CNR & UNIVERSITY OF CALABRIA, Italy Cloud.
11 Application of CSF4 in Avian Flu Grid: Meta-scheduler CSF4. Lab of Grid Computing and Network Security Jilin University, Changchun, China Hongliang.
Building Portals to access Grid Middleware National Technical University of Athens Konstantinos Dolkas, On behalf of Andreas Menychtas.
Introduction to Grid Application On-Boarding Nick Werstiuk
User-driven resource selection in GRID superscalar Last developments and future plans in the framework of CoreGRID Rosa M. Badia Grid and Clusters Manager.
Barcelona Supercomputing Center. The BSC-CNS objectives: R&D in Computer Sciences, Life Sciences and Earth Sciences. Supercomputing support to external.
Cloud Computing for Education & Cloud Learning Minjuan Wang to BT Research Center (Abu Dhabi) Educational Technology San Diego State University
Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.
Database System Concepts and Architecture
EU 2nd Year Review – Jan – Title – n° 1 WP1 Speaker name (Speaker function and WP ) Presentation address e.g.
University of Minnesota Optimizing MapReduce Provisioning in the Cloud Michael Cardosa, Aameek Singh†, Himabindu Pucha†, Abhishek Chandra
SLA-Oriented Resource Provisioning for Cloud Computing
System Center 2012 R2 Overview
ProActive Task Manager Component for SEGL Parameter Sweeping Natalia Currle-Linde and Wasseim Alzouabi High Performance Computing Center Stuttgart (HLRS),
CoreGRID Workpackage 5 Virtual Institute on Grid Information and Monitoring Services Authorizing Grid Resource Access and Consumption Erik Elmroth, Michał.
Aneka: A Software Platform for .NET-based Cloud Computing
Distributed Application Management Using PLuSH Jeannie Albrecht, Christopher Tuttle, Alex C. Snoeren, and Amin Vahdat UC San Diego CSE {jalbrecht, ctuttle,
Workload Management Massimo Sgaravatto INFN Padova.
EUROPEAN UNION Polish Infrastructure for Supporting Computational Science in the European Research Space User Oriented Provisioning of Secure Virtualized.
Ch 4. The Evolution of Analytic Scalability
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Environment for Management of Experiments on the Grid Master of Science Thesis AGH University of Science and Technology, Krakow, Poland Faculty of Electrical.
Nimbus & OpenNebula Young Suk Moon. Nimbus - Intro Open source toolkit Provides virtual workspace service (Infrastructure as a Service) A client uses.
Raffaele Di Fazio Connecting to the Clouds Cloud Brokers and OCCI.
Differentiated Access to Virtual Resources in Cloud Environments M. Fazio and A. Puliafito Euro-TM Workshop.
LOGO Scheduling system for distributed MPD data processing Gertsenberger K. V. Joint Institute for Nuclear Research, Dubna.
Copyright © 2011 EMC Corporation. All Rights Reserved. MODULE – 6 VIRTUALIZED DATA CENTER – DESKTOP AND APPLICATION 1.
Transparent Grid Enablement Using Transparent Shaping and GRID superscalar I. Description and Motivation II. Background Information: Transparent Shaping.
Semantic Interoperability Berlin, 25 March 2008 Semantically Enhanced Resource Allocator Marc de Palol Jorge Ejarque, Iñigo Goiri, Ferran Julià, Jordi.
IPlant Collaborative Tools and Services Workshop iPlant Collaborative Tools and Services Workshop Collaborating with iPlant.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Resource Brokering in the PROGRESS Project Juliusz Pukacki Grid Resource Management Workshop, October 2003.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Middleware for Grid Computing and the relationship to Middleware at large ECE 1770 : Middleware Systems By: Sepehr (Sep) Seyedi Date: Thurs. January 23,
Server Virtualization
Cloud Age Time to change the programming paradigm?
ServiceSs, a new programming model for the Cloud Daniele Lezzi, Rosa M. Badia, Jorge Ejarque, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group.
 Apache Airavata Architecture Overview Shameera Rathnayaka Graduate Assistant Science Gateways Group Indiana University 07/27/2015.
CoreGRID Workpackage 5 Virtual Institute on Grid Information and Monitoring Services Michał Jankowski, Paweł Wolniewicz, Jiří Denemark, Norbert Meyer,
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Aneka Cloud ApplicationPlatform. Introduction Aneka consists of a scalable cloud middleware that can be deployed on top of heterogeneous computing resources.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
EGI Technical Forum Madrid COMPSs in the EGI Federated Cloud Daniele Lezzi – BSC EGI Technical Forum Madrid.
Presentation 3: Designing Distributed Objects. Ingeniørhøjskolen i Århus Slide 2 af 16 Outline Assumed students are knowledgeable about OOP principles.
The EUBrazilOpenBio-BioVeL Use Case in EGI Daniele Lezzi, Barcelona Supercomputing Center EGI-TF September 2013.
Cloudsim: simulator for cloud computing infrastructure and modeling Presented By: SHILPA V PIUS 1.
Tutorial on Science Gateways, Roma, Catania Science Gateway Framework Motivations, architecture, features Riccardo Rotondo.
Cloud interoperability and elasticity with COMPSs Federated Cloud F2F Jan , Amsterdam Daniele Lezzi – Barcelona Supercomputing Center.
© 2012 Eucalyptus Systems, Inc. Cloud Computing Introduction Eucalyptus Education Services 2.
Claudio Grandi INFN Bologna Virtual Pools for Interactive Analysis and Software Development through an Integrated Cloud Environment Claudio Grandi (INFN.
1 An unattended, fault-tolerant approach for the execution of distributed applications Manuel Rodríguez-Pascual, Rafael Mayo-García CIEMAT Madrid, Spain.
EGI Technical Forum Madrid The EUBrazilOpenBio-BioVeL Use Case in EGI Daniele Lezzi – BSC EGI Technical Forum Madrid.
Daniele Lezzi Execution of scientific workflows on federated multi-cloud infrastructures IBERGrid Madrid, 20 September 2013.
LOFAR - Calibration, Analysis and Modelling of Radio-Astronomy Data EGI Conference May 2015, Lisbon Daniele Lezzi – Barcelona Supercomputing.
Project Cumulus Overview March 15, End Goal Unified Public & Private PaaS for GlassFish/Java EE Simplify deployment of Java EE Apps on top of.
Support to user communities in EGI with COMPSs Federated Cloud F2F Jan , Amsterdam Daniele Lezzi – Barcelona Supercomputing Center.
Computer System Structures
Workload Management Workpackage
Introduction to Distributed Platforms
Duncan MacMichael & Galen Deal CSS 534 – Autumn 2016
Cloud Management Mechanisms
Grid Computing.
Recap: introduction to e-science
Management of Virtual Execution Environments 3 June 2008
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Ch 4. The Evolution of Analytic Scalability
Distributed Systems through Web Services
Distributed System using Web Services
Presentation transcript:

Programming a service Cloud Rosa M. Badia, Jorge Ejarque, Daniele Lezzi, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group Barcelona Supercomputing Center Cloud Futures Workshop, Redmond, WA, 8-9 April 2010

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 Outline StarSs programming model COMPSs framework EMOTIVE Cloud COMPSs towards SOA and Clouds ServiceSs Conclusions 2

Cloud Futures Workshop, Redmond, WA, 8-9 April for (i=0; i<N; i++){ T1 (data1, data2); T2 (data4, data5); T3 (data2, data5, data6); T4 (data7, data8); T5 (data6, data8, data9); }... Sequential Application T1 0 T2 0 T3 0 T4 0 T5 0 T1 1 T2 1 T3 1 T4 1 T5 1 T1 2 … Resource 1 Resource 2 Resource 3 Resource N Task graph creation based on data precedence Task selection + parameters direction (input, output, inout) Scheduling, data transfer, task execution Synchronization, results transfer Parallel Resources (cluster, grid) Star Superscalar Programming Model 3

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 StarSs programming model GRIDSs, COMPSs Tailored for Grids or clusters Data dependence analysis based on files C/C++, Java SMPSs Tailored for SMPs or homogeneous multicores Altix, JS21 nodes, Power5, Intel-Core2 C or Fortran CellSs / GPUSs Tailored for Cell/B.E. processor / for GPUs C or Fortran NestedSs Hybrid approach that combines SMPSs and CellSs

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 COMPSs Componentised runtime Each component in charge of a functionality 5 Base technologies: Java as programming language ProActive: Reference implementation of the GCM model Used to build the components JavaGAT API that provides uniform access to different kinds of Grid middleware Used for job submission and file transfer

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 initialize(f1); for (int i = 0; i < 2; i++) { genRandom(f2); add(f1, f2); } print(f2); Java application COMPSs Programming model – Application + interface public interface = "Linux") void = Type.FILE, direction = Direction.OUT) String f } Task constraints Parameter metadata Implementation Java interface 6

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 Custom Java Class Loader Java app code COMPSs runtime Annotated interface Javassist inserts calls to Custom Loader uses input C/C++ app code COMPSs runtime Interface inserts calls to Stubs Generator input JNI

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 Runtime behavior Custom Loader Javassist initialize(f1); for (int i = 0; i < 2; i++) { genRandom(f2); add(f1, f2); } print(f2); Annotated interface Java code T1 T3 T2T4 Grids Clusters Files

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 HMMPfam: sample COMPSs application HMMER: set of tools for protein sequence analysis Based on statistical Hidden Markov Models (HMMs) hmmpfam: tool to compare a sequence against a database of HMMs (protein families) Computationally intensive Embarassingly parallel HMMPfam: Java application that uses hmmpfam Query sequences / database segmentation Programmed in a totally sequential fashion Selection of remote methods using a separate Java interface hmmpfam computation, merging of results 9

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 HMMPfam – Annotated interface public interface HMMPfamItf void = Type.STRING, direction = Direction.IN) String = Type.STRING, direction = Direction.IN) String = Type.FILE, direction = Direction.IN) String = Type.FILE, direction = Direction.IN) String = Type.FILE, direction = Direction.OUT) String resultFile void = Type.FILE, direction = Direction.INOUT) String = Type.FILE, direction = Direction.IN) String = Type.INT, direction = Direction.IN) int aLimit void = Type.FILE, direction = Direction.INOUT) String = Type.FILE, direction = Direction.IN) String resultFile2 ); } 10

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 HMMPfam – Main program public static void main(String args[]) throws Exception { split(fSeq, fDB, seqFrags, dbFrags); // Segment the query sequences file, the database file or both (done sequentially) for (String dbFrag : dbFrags) { //Launch hmmpfam for each pair of seq - db fragments for (String seqFrag : seqFrags) { HMMPfamImpl.hmmpfam(hmmpfamBin, finalArgs, seqFrag, dbFrag, output); seqNum++; } dbNum++; } while (outputs.size() > 1) { ListIterator li = outputs.listIterator(); while (li.hasNext()) { String firstOutput = li.next(); String secondOutput = li.hasNext() ? li.next() : null; if (secondOutput == null) break; if (sameSeqFragment(firstOutput, secondOutput)) // Merge output fragments of different db fragments (must take care when merging) HMMPfamImpl.mergeSameSeq(firstOutput, secondOutput, clArgs.getALimit()); else if (sameDBFragment(firstOutput, secondOutput)) // Merge output fragments of different sequence fragments (basically appending one to another) HMMPfamImpl.mergeSameDB(firstOutput, secondOutput); else // Avoid merging two output fragments of different sequence and db fragments li.previous(); } 11

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 HMMPfam – Tasks public static void hmmpfam(String hmmpfamBin, String commandLineArgs, String seqFile, String dbFile, String resultFile) throws Exception { String cmd = hmmpfamBin + " " + commandLineArgs + " + dbFile + " " + seqFile; // Execute command line Process hmmpfamProc = Runtime.getRuntime().exec(cmd); // Check the proper finalization of the process int exitValue = hmmpfamProc.waitFor(); if (exitValue != 0) { throw new Exception(Exit value for hmmpfam is + exitValue); } public static void mergeSameSeq(String resultFile1, String resultFile2, int aLimit) throws Exception {... } 12

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 HMMPfam 13

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 HMMPfam performance 14

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 HMMPfam – EBI runs European Bioinformatics Institute used HMMPfam in productions runs ELIXIR project, tests on the MareNostrum supercomputer protein sequences, divided in 150 files with sequences each TIGRFAM database, containing 3418 models (HMMs) 150 jobs submitted (i.e. COMPSs-HMMPfam executions), one for each input sequences file 12 hours of execution time per job, approximately 64 worker processors per job + 4 processors for the master 15

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 EMOTIVE CLOUD EMOTIVE CLOUD – Barcelona Elastic Management of Tasks for Virtualized Environments in the CLOUD – is an open-source software infrastructure for implementing 'cloud computing' on clusters. (recently released v 1.0) – is an open source collaborative software development project dedicated to providing an extensible, standards-based platform to address a broad range of needs in the resource management development space

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 EMOTIVE Cloud Scheduler Selects where to execute a task Virtualized Resource Management and Monitoring VM lifecycle management Creation of VMs VM monitoring VM destruction Data management Migration Checkpointing Data infrastructure Distributed file system EMOTIVE architecture: three different layers

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 SERA scheduler: SRLM and ERA SRLM Receives customer requests: job execution Negotiates the allocation with the resource agents Selects the resources which match with the job requests Receives from ERA scheduling proposals to selected resources Decides which is the best proposal Manages Execution Lifecycle Monitorizes the execution, recovers in case of failure, tries to improve the execution ERA Perform scheduling proposals Find schedules for the job requests using the semantic information of the resource descriptions and the provider rules Interacts with the different resources Resources reservation Creates VM for the execution Submits the jobs on the selected resources ERA SRLM Semantic Scheduler Resource Manager Resources

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 Integration in a Service-Oriented and Cloud infrastructure Goal: moving the COMPSs runtime from the client side to a server SOA platform Characteristics of this environment: Execution of application tasks offered as services N applications can be served simultaneously Several COMPSs can be deployed, to serve the tasks from one or more applications Resource provisioning brought by a Cloud 19

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 COMPSs and EMOTIVE Cloud – Step 1 VM1 VMn VM2 1.Existing pool of EMOTIVE VMs 2.COMPSs executes tasks on these VMS

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 COMPSs and EMOTIVE Cloud – Step 2 VM1 VMn VM2 1.The Task Scheduler requests SERA a pool of VMs 2.COMPSs executes tasks on these VMS 3.COMPSs requests the creation of more or bigger VMs (memory, CPU, etc) VMn+1

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 ServiceSs envisioned architecture 22 COMPSs API Java App WS Container Runtime Manager COMPSs runtime instance 1 Cloud Scheduler COMPSs runtime instance N Worker VM 1 Worker VM 1 Worker VM 1 Worker VM M COMPSs Application Side Java App Java App Cloud WS Container User Side App WS Container WS Container Worker VM 1 External WS Worker

Cloud Futures Workshop, Redmond, WA, 8-9 April 2010 Conclusions COMPSs is platform unaware programming model that simplifies the development of applications in distributed environments Transparent data managemet, task execution Parallelization at task level Independent of platform: clusters, grids, clouds COMPSs evolution on top of SERA and EMOTIVE cloud will enable the execution on federated clouds SERA is already able to submit jobs to EC2 Further evolution of COMPSs towards ServiceSs to enable the composition of services Graphical IDE to help deployment of services and development of applications Evolved runtime to support new features

Cloud Futures Workshop, Redmond, WA, 8-9 April