servicess, a new programming model for the cloud daniele lezzi, rosa m. badia, jorge ejarque, raul...
TRANSCRIPT
![Page 1: ServiceSs, a new programming model for the Cloud Daniele Lezzi, Rosa M. Badia, Jorge Ejarque, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f145503460f94c28174/html5/thumbnails/1.jpg)
ServiceSs, a new programming model for the
CloudDaniele Lezzi, Rosa M. Badia, Jorge Ejarque, Raul Sirvent, Enric Tejedor
Grid Computing and Clusters Group Barcelona Supercomputing Center
OGF-Europe COS on Software Development Tools for Distributed Computing
OGF28, Munich 15 March 2010
![Page 2: ServiceSs, a new programming model for the Cloud Daniele Lezzi, Rosa M. Badia, Jorge Ejarque, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f145503460f94c28174/html5/thumbnails/2.jpg)
COS on Software Development Tools for Distributed Computing
OGF28, Munich 15 March 2010
Outline
• StarSs programming model
• COMP Superscalar framework
• COMP Superscalar towards SOA and Clouds
• ServiceSs
2
![Page 3: ServiceSs, a new programming model for the Cloud Daniele Lezzi, Rosa M. Badia, Jorge Ejarque, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f145503460f94c28174/html5/thumbnails/3.jpg)
COS on Software Development Tools for Distributed Computing
OGF28, Munich 15 March 2010
...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
T10 T20
T30
T40
T50
T11 T21
T31
T41
T51
T12
…
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
![Page 4: ServiceSs, a new programming model for the Cloud Daniele Lezzi, Rosa M. Badia, Jorge Ejarque, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f145503460f94c28174/html5/thumbnails/4.jpg)
COS on Software Development Tools for Distributed Computing
OGF28, Munich 15 March 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
• Tailored for Cell/B.E. processor
• C or Fortran
• GPUSs (Next session talk by Rosa M. Badia)
• NestedSs
• Hybrid approach that combines SMPSs and CellSs
![Page 5: ServiceSs, a new programming model for the Cloud Daniele Lezzi, Rosa M. Badia, Jorge Ejarque, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f145503460f94c28174/html5/thumbnails/5.jpg)
COS on Software Development Tools for Distributed Computing
OGF28, Munich 15 March 2010
COMPSs
• Componentisation of the GRID superscalar 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
![Page 6: ServiceSs, a new programming model for the Cloud Daniele Lezzi, Rosa M. Badia, Jorge Ejarque, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f145503460f94c28174/html5/thumbnails/6.jpg)
COS on Software Development Tools for Distributed Computing
OGF28, Munich 15 March 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 SumItf {
@ClassName(“example.Sum")
@MethodConstraints(OSType = "Linux")
void genRandom(
@ParamMetadata(type = Type.FILE, direction = Direction.OUT)
String f
);
@ClassName(“example.Sum")
...
}
Task constraints
Parametermetadata
Implementation
Java interface
6
![Page 7: ServiceSs, a new programming model for the Cloud Daniele Lezzi, Rosa M. Badia, Jorge Ejarque, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f145503460f94c28174/html5/thumbnails/7.jpg)
COS on Software Development Tools for Distributed Computing
OGF28, Munich 15 March 2010
Custom Java Class Loader
Java app code
COMPSs runtime
Annotated
interface
Javassist
insertscalls to
Custom Loader
uses
input
C/C++ app code
COMPSs runtime
Interface
insertscalls to
Stubs Generator
input
JNI
![Page 8: ServiceSs, a new programming model for the Cloud Daniele Lezzi, Rosa M. Badia, Jorge Ejarque, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f145503460f94c28174/html5/thumbnails/8.jpg)
COS on Software Development Tools for Distributed Computing
OGF28, Munich 15 March 2010
COMPSs and XtreemOS
• COMPSs has been ported in the XtreemOS framework by means of the Simple API for Grid Applications (SAGA).
• COMPSs benefits from SAGA by delegating to it the job execution including resource allocation and data transfers.
![Page 9: ServiceSs, a new programming model for the Cloud Daniele Lezzi, Rosa M. Badia, Jorge Ejarque, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f145503460f94c28174/html5/thumbnails/9.jpg)
COS on Software Development Tools for Distributed Computing
OGF28, Munich 15 March 2010
Integration in a Service-Oriented and Cloud infrastructure
•Main idea: 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
9
![Page 10: ServiceSs, a new programming model for the Cloud Daniele Lezzi, Rosa M. Badia, Jorge Ejarque, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f145503460f94c28174/html5/thumbnails/10.jpg)
COS on Software Development Tools for Distributed Computing
OGF28, Munich 15 March 2010
COMPSs and EMOTIVE Cloud
![Page 11: ServiceSs, a new programming model for the Cloud Daniele Lezzi, Rosa M. Badia, Jorge Ejarque, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f145503460f94c28174/html5/thumbnails/11.jpg)
COS on Software Development Tools for Distributed Computing
OGF28, Munich 15 March 2010
COMPSs and EMOTIVE Cloud
•The Virtualization Resource Management and Monitoring (VRMM) layer wraps each virtualized node and monitors its state
•Within the VRMM layer, the Virtualization Manager (VtM) provides an application-specific virtual machine (VM) for each application; the application is given full control of its execution environment without introducing risk to the underlying system or other applications
•The VMs are created on demand, according to application requirements, and are consolidated in the provider’s physical resources to optimise their use
•A Resource Monitor (RM) monitors task and resource status, including historical information
•SERA (Semantically-Enhanced Resource Allocator): Resources allocation using semantics and agents
![Page 12: ServiceSs, a new programming model for the Cloud Daniele Lezzi, Rosa M. Badia, Jorge Ejarque, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f145503460f94c28174/html5/thumbnails/12.jpg)
COS on Software Development Tools for Distributed Computing
OGF28, Munich 15 March 2010
ServiceSs envisioned architecture
12
COMPSs API
COMPSs API
COMPSs API
JavaApp
WS
Co
nta
iner
Ru
nti
me
Man
ag
er
COMPSsruntime
instance 1
CloudScheduler
COMPSsruntime instance N
WorkerVM 1
WorkerVM 1
WorkerVM 1
WorkerVM M
COMPSsApplication
Side
JavaApp
JavaApp
Cloud
WS
Co
nta
iner
UserSide
App
App
User
WS
Co
nta
iner
WS
Co
nta
iner
WorkerVM 1
ExternalWS
WorkerFP7 OPTIMIS Project(Optimized Infrastructure Services)
![Page 13: ServiceSs, a new programming model for the Cloud Daniele Lezzi, Rosa M. Badia, Jorge Ejarque, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f145503460f94c28174/html5/thumbnails/13.jpg)
COS on Software Development Tools for Distributed Computing
OGF28, Munich 15 March 2010
COMPSs and EMOTIVE Cloud – Step 1
VM1 VMnVM2
1. The Task Scheduler asks SERA for 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
![Page 14: ServiceSs, a new programming model for the Cloud Daniele Lezzi, Rosa M. Badia, Jorge Ejarque, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f145503460f94c28174/html5/thumbnails/14.jpg)
COS on Software Development Tools for Distributed Computing
OGF28, Munich 15 March 2010
Next steps
1. Extension of the COMPSs API to support the new features
2. Extension of the Runtime Manager
3. Tools for deployment of the core elements and composite applications.
COMPSs API
COMPSs API
COMPSs API
JavaApp
WS
Co
nta
iner
Ru
nti
me
Man
ager
COMPSsruntime
instance 1
CloudScheduler
COMPSsruntime
instance N
WorkerVM 1
WorkerVM 1
WorkerVM 1
WorkerVM M
COMPSsApplication
Side
JavaApp
JavaApp
Cloud
WS
Co
nta
iner
UserSide
App
App
User
WS
Co
nta
iner
WS
Co
nta
iner
WorkerVM 1
ExternalWS Worker
• www.bsc.es/grid• www.emotivecloud.net