how to bring the power of cloud and distributed ... fileadela neacsu scilab and diet may 14, 2014 4...

23
How to bring the power of Cloud and Distributed Infrastructures to Scilab? Adela NEACSU Eddy CARON Benjamin DEPARDON May 14, 2014 Adela NEACSU Scilab and DIET May 14, 2014 1 / 23

Upload: dangthien

Post on 01-May-2018

221 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

How to bring the power of Cloud and DistributedInfrastructures to Scilab?

Adela NEACSU Eddy CARON Benjamin DEPARDON

May 14, 2014

Adela NEACSU Scilab and DIET May 14, 2014 1 / 23

Page 2: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

1 Motivations

2 The middlewareOverviewDIET architecture

3 Scilab: Integration architectureServer sideClient side: Scilab module

4 Example

5 Conclusions and Future work

Adela NEACSU Scilab and DIET May 14, 2014 2 / 23

Page 3: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

Motivations

Motivations

MotivationsI Increase Scilab computational powerI Use Scilab in a distributed environmentI Brings the Scilab capabilities to a middlewareI Brings the middleware capabilities to Scilab

What we learn? What we show?I How to interface a middleware with Scilab?

Former approachesI Message-passing (PVM)I Parallel libraries (ScaLAPACK)

Adela NEACSU Scilab and DIET May 14, 2014 3 / 23

Page 4: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

The middleware Overview

DIET: a Grid and Cloud middleware

I Distributed Interactive Engineering ToolboxI Context: Development of a toolbox for deploying application services

providers with a hierarchical architecture for scalabilityI A middleware designed for HPC in heterogeneous and distributed

environments (i.e. Grid and Clouds)I One simple approach: RPC programming model for large distributed

infrastructureI DIET is compliant with the Grid-RPC standard

I GRAAL research team and SysFera company starting 2000I Web: http://graal.ens-lyon.fr/DIET

Adela NEACSU Scilab and DIET May 14, 2014 4 / 23

Page 5: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

The middleware DIET architecture

DIET components

ClientI Application which uses DIET to solve problemsI Diversity – Web page/PSE/compiled programI Transparency – only knows the Master Agent

Master Agent

Local Agent

Server Daemon

Adela NEACSU Scilab and DIET May 14, 2014 5 / 23

Page 6: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

The middleware DIET architecture

DIET components

Client

Master AgentI Platform entry pointI Finds the best server instanceI Returns a reference to the client

Local Agent

Server Daemon

Adela NEACSU Scilab and DIET May 14, 2014 6 / 23

Page 7: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

The middleware DIET architecture

DIET components

Client

Master Agent

Local AgentI Transmits information and data between MA and serversI Stores information for each subtreeI Used to create a scalable hierarchy

Server Daemon

Adela NEACSU Scilab and DIET May 14, 2014 7 / 23

Page 8: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

The middleware DIET architecture

DIET components

Client

Master Agent

Local Agent

Server DaemonI Computational server – manages a processor or a clusterI Offers services and information about itself

Adela NEACSU Scilab and DIET May 14, 2014 8 / 23

Page 9: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

The middleware DIET architecture

DIET architecture

Adela NEACSU Scilab and DIET May 14, 2014 9 / 23

Page 10: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

Scilab: Integration architecture

Integration

IntegrationI Where does Scilab fit in a DIET architecture?

I ClientI Server

I What APIs to use?

Adela NEACSU Scilab and DIET May 14, 2014 10 / 23

Page 11: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

Scilab: Integration architecture Server side

Server side: Multiple Scilab instances for multiple clients

One instance per request

! Own environment for request

! Serving multiple clients at once

% Requests overlap

% Variables name conflict

% Start and terminate – time consumingfunctions

Adela NEACSU Scilab and DIET May 14, 2014 11 / 23

Page 12: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

Scilab: Integration architecture Server side

Server side: Single Scilab instance for multiple clients

Single instance with mutex

! Faster – no need to restart foreach client

! No overlapping

! No conflicts

% Blocking calls

% Requires clean-up

Adela NEACSU Scilab and DIET May 14, 2014 12 / 23

Page 13: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

Scilab: Integration architecture Server side

Server side

I Choice – single instance with mutex lockI Use call_scilab interface

I Start/Stop a Scilab instanceI Send commands

I Access for non-Scilab users

Adela NEACSU Scilab and DIET May 14, 2014 13 / 23

Page 14: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

Scilab: Integration architecture Client side: Scilab module

Client side: Scilab module

Scilab moduleI ATOMS (AuTomatic mOdules

Management for Scilab)I Fast and easy integrationI Well defined structureI Load and start in two simple steps

Adela NEACSU Scilab and DIET May 14, 2014 14 / 23

Page 15: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

Scilab: Integration architecture Client side: Scilab module

ATOMS

What is it?The packaging system of Scilab external modules

What does it offer?I Multi-platformI GuidelinesI Skeleton to get startedI Calls to external C/C++/Fortran programs

Adela NEACSU Scilab and DIET May 14, 2014 15 / 23

Page 16: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

Scilab: Integration architecture Client side: Scilab module

Data management

Data typesI DIET_FILE – easy transfer of scriptsI DIET_CONTAINER – ALL other types of data

I double, integer, string, booleanI scalars and matricesI sparse matricesI polynomialsI real and complex, signed or unsigned numbers

Adela NEACSU Scilab and DIET May 14, 2014 16 / 23

Page 17: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

Example

Example

Four simple steps

1. Create a script / Declare variables

2. Load the sci2diet module

3. Call DIET from within Scilab

4. Get results !

Adela NEACSU Scilab and DIET May 14, 2014 17 / 23

Page 18: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

Example

Example - client side view

Adela NEACSU Scilab and DIET May 14, 2014 18 / 23

Page 19: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

Example

Example - Client side view

Adela NEACSU Scilab and DIET May 14, 2014 19 / 23

Page 20: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

Example

Example - Server side view

Adela NEACSU Scilab and DIET May 14, 2014 20 / 23

Page 21: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

Conclusions and Future work

Conclusions

I Successful integrationI Two-parts architecture

I Run Scilab tasks on serverI Call DIET from a Scilab instance

I Easy to useI Code available here: http://graal.ens-lyon.fr/DIET

Adela NEACSU Scilab and DIET May 14, 2014 21 / 23

Page 22: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

Conclusions and Future work

Future work

Data persistencyI Store intermediary data on DIET platformI Save time and memoryI Requires pre-knowledge about data

Improve schedulingI Plug-in scheduler for DIETI Collect information from the Scilab engine directlyI Better and faster selection of servers

Adela NEACSU Scilab and DIET May 14, 2014 22 / 23

Page 23: How to bring the power of Cloud and Distributed ... fileAdela NEACSU Scilab and DIET May 14, 2014 4 / 23. The middleware DIET architecture DIETcomponents Client I ApplicationwhichusesDIETtosolveproblems

Thank youfor your attention !