Uniform access to heterogeneous Uniform access to heterogeneous grid infrastructures with grid infrastructures with
ISGC 2008, Taiwan Sylvain Reynaud
Uniform access to heterogeneous Uniform access to heterogeneous - - PowerPoint PPT Presentation
Uniform access to heterogeneous Uniform access to heterogeneous grid infrastructures with grid infrastructures with ISGC 2008, Taiwan Sylvain Reynaud Plan Plan Introduction Infrastructure heterogeneity Interoperability solutions
Uniform access to heterogeneous Uniform access to heterogeneous grid infrastructures with grid infrastructures with
ISGC 2008, Taiwan Sylvain Reynaud
Uniform access to heterogeneous grid infrastructures with JSAGA 2
Plan Plan
Introduction
– Interoperability solutions – What is JSAGA ?
Middleware heterogeneity
– Security – Data management – Execution management
Infrastructure heterogeneity
– Security – Data management – Execution management
Transport data to/from
worker nodes
Conclusion
Uniform access to heterogeneous grid infrastructures with JSAGA 3
Introduction Introduction
Interoperability solutions Interoperability solutions
The medium term solution (GIN)
– Forward jobs to other grid infrastructures
The long term solution (OMII-Europe)
– Adapt components to set common interfaces
Client-side adaptors and translators solution
– Meta-schedulers: GridWay, GridSAM… – Client API: GAT, CoG-Kit… …and
EGEE user
regional grids regional grids cluster cluster
Uniform access to heterogeneous grid infrastructures with JSAGA 4
Introduction Introduction
What is JSAGA ?... A simple example What is JSAGA ?... A simple example
job desc. gLite plug-ins Globus plug-ins
JSAGA JSAGA
WMS WMS
input data
SRM SRM
GridFTP GridFTP WS WS-
GRAM LCG LCG-
CE LCG LCG-
CE WS WS-
GRAM firewall
RUGBI EGEE
job
RSL
staging graph
JDL
delegate selection & files staging
job
Uniform access to heterogeneous grid infrastructures with JSAGA 5
Plan Plan
Introduction
– Interoperability solutions – What is JSAGA ?
Middleware heterogeneity
– Security – Data management – Execution management
Infrastructure heterogeneity
– Security – Data management – Execution management
Transport data to/from
worker nodes
Conclusion
Uniform access to heterogeneous grid infrastructures with JSAGA 6
Hide middleware heterogeneity Hide middleware heterogeneity
SAGA as the uniform interface SAGA as the uniform interface
–
– to enable end-users to … develop easily grid applications
programming capabilities >>
– service-oriented API – to enable engine to provide SAGA capabilities as efficiently as possible
jsaga-context-init jsaga-context-info jsaga-context-destroy jsaga-cat jsaga-cp jsaga-ls jsaga-logical jsaga-mkdir jsaga-mv jsaga-rm jsaga-rmdir jsaga-test jsaga-job-run jsaga-job-submit jsaga-job-monitor jsaga-job-getoutput protocol
Data Service Data Service SAGA API SAGA API Job File Context
control monitor
Job Service Job Service COMMANDS COMMANDS JSAGA ENGINE JSAGA ENGINE
security
Security Mgr Security Mgr
Uniform access to heterogeneous grid infrastructures with JSAGA 7
Hide middleware heterogeneity Hide middleware heterogeneity
SAGA as the uniform interface SAGA as the uniform interface
Implementation focuses on Implementation focuses on… …
Modularity and efficiency
– see next slides…
Software quality
– plug-ins are validated with a reusable test-suite
Lightness
– minimize external dependencies
dependencies
– install only what you need…
protocol
Data Service Data Service
control monitor
Job Service Job Service JSAGA ENGINE JSAGA ENGINE
security
Security Mgr Security Mgr
Uniform access to heterogeneous grid infrastructures with JSAGA 8
Hide middleware heterogeneity Hide middleware heterogeneity
Security Security
Security Mgr Security Mgr Data Service Data Service Job Service Job Service
Uniform access to heterogeneous grid infrastructures with JSAGA 9
/etc/grid-security/certificates /tmp/x509up_u_$UID ~/.globus/user*.pem
Hide middleware heterogeneity Hide middleware heterogeneity
Security Security Data and execution plug-ins
– declare
Security plug-ins
– declare
– engine set the context instance to first matching usage rule
X509 PKI InMemCred Globus
MyProxy VOMS Login / pwd jsaga-context-init jsaga-context-info jsaga-context-destroy planned construction done
proxy proxy path CA cert key p12 proxy pass phrase
Uniform access to heterogeneous grid infrastructures with JSAGA 10
Hide middleware heterogeneity Hide middleware heterogeneity
Data management Data management
Data Service Data Service Security Mgr Security Mgr Job Service Job Service
Uniform access to heterogeneous grid infrastructures with JSAGA 11
Hide middleware heterogeneity Hide middleware heterogeneity
Data management Data management The engine enables caching
– opened connections – information about entries – content of entries through
The engine chooses the most
appropriate plug-in methods to efficiently provide the requested functionality
– e.g. third-party transfer
catalog Logical files lfn rns P h y s i c a l f i l e s planned construction done cache srb gsiftp v1 gsiftp v2 dCache gsiftp
Data Service Data Service
http https mail file ftp sftp rbyteio tar zip cache gsiftp
Uniform access to heterogeneous grid infrastructures with JSAGA 12
Data Service Data Service
Hide middleware heterogeneity Hide middleware heterogeneity
Data management Data management
SAGA srm
Data Service Data Service
planned construction done catalog Logical files lfn rns P h y s i c a l f i l e s srb
The engine enables caching
– opened connections – information about entries – content of entries through
The engine chooses the most
appropriate plug-in methods to efficiently provide the requested functionality
– e.g. third-party transfer
cache http https mail file ftp sftp rbyteio tar zip cache gsiftp srm
Uniform access to heterogeneous grid infrastructures with JSAGA 13
Hide middleware heterogeneity Hide middleware heterogeneity
Execution management Execution management Data Service Data Service Security Mgr Security Mgr Job Service Job Service
Job control Job control Job monitoring Job monitoring
Uniform access to heterogeneous grid infrastructures with JSAGA 14
Job control Job control Job monitoring Job monitoring
Hide middleware heterogeneity Hide middleware heterogeneity
Execution management Execution management
SAGA user interface: getStatus / waitFor
Monitoring
Plug-in interfaces: querying / listening individual job / list of jobs / filtered jobs
Monitoring and job control are
independent
– e.g. monitor with gatekeeper, gLite- LB or gsiftp LIST command
Monitoring strategy of the engine
depends on
– monitoring capabilities of the plug-in – monitoring activities of the user
gatekeeper planned construction done gLite-WMS wsgram unicore6 cream gridvm query individual job listen individual job query filtered jobs PBS ssh local remote gsiftp-ls gatekeeper gLite-LB wsgram unicore6 cream gridvm … getStatus waitFor
Uniform access to heterogeneous grid infrastructures with JSAGA 15
Hide middleware heterogeneity Hide middleware heterogeneity
Execution management Execution management
jsaga-context-init jsaga-context-info jsaga-context-destroy jsaga-cat jsaga-cp jsaga-ls jsaga-logical jsaga-mkdir jsaga-mv jsaga-rm jsaga-rmdir jsaga-test jsaga-job-run jsaga-job-submit jsaga-job-monitor jsaga-job-getoutput jsaga-jobcollection-run jsaga-jobcollection-submit jsaga-jobcollection-monitor jsaga-jobcollection-getoutput language expression
Collection Mgr Collection Mgr
protocol
Data Service Data Service SAGA API SAGA API Job File Context Job Collection SAGA SAGA-
like +
jobs file
control monitor
Job Service Job Service COMMANDS COMMANDS JSAGA ENGINE JSAGA ENGINE
security
Security Mgr Security Mgr
Uniform access to heterogeneous grid infrastructures with JSAGA 16
Hide middleware heterogeneity Hide middleware heterogeneity
Execution management Execution management
Collection Mgr Collection Mgr Data Service Data Service Security Mgr Security Mgr Job Service Job Service
Uniform access to heterogeneous grid infrastructures with JSAGA 17
Hide middleware heterogeneity Hide middleware heterogeneity
Execution management Execution management JSDL + extensions
– Job collection
– Elapsed time – % jobs per status
– Individual jobs
– POSIX application – Script application
– Candidate tags
– Alternatives (e.g. local/remote) – Pre/post processing
– Elapsed time – Status
– Identifier – Information
SAGA JDL RSL-2 RSL-4 planned construction done JSDL+ext.
Uniform access to heterogeneous grid infrastructures with JSAGA 18
Hide middleware heterogeneity Hide middleware heterogeneity
Execution management Execution management basic
– Get parametric job index
default
– Get system properties (-Dxxx) – Evaluate math expressions – Manipulate strings – Format dates and floats
JEP
– Java Math Expression Parser
– https://sourceforge.net/projects/jep/ Bean Shell
– Lightweight Scripting for Java
– http://www.beanshell.org/
basic default NFunk BeanShell planned construction done
… <POSIXApplication> <Executable>myexec</Executable> <Argument>-from @{date('dd/MM/yyyy', now+24*INDEX)}</Argument> </POSIXApplication> …
Uniform access to heterogeneous grid infrastructures with JSAGA 19
Plan Plan
Introduction
– Interoperability solutions – What is JSAGA ?
Middleware heterogeneity
– Security – Data management – Execution management
Infrastructure heterogeneity
– Security – Data management – Execution management
Transport data to/from
worker nodes
Conclusion
Uniform access to heterogeneous grid infrastructures with JSAGA 20
Hide infrastructure heterogeneity Hide infrastructure heterogeneity
Security Security Hide middleware heterogeneity
– Security context types
Hide infrastructure heterogeneity
– Context instances (e.g. VOMS)
– e.g. EGEE, a regional grid
World World Grid Grid
E G E E E G E E l
a l h
t l
a l h
t
VOMS VOMS VOMS VOMS Globus Globus
Regional grid Regional grid
C C C C
N 2 P 3 I N 2 P 3
Uniform access to heterogeneous grid infrastructures with JSAGA 21
Hide infrastructure heterogeneity Hide infrastructure heterogeneity
Data management Data management Hide middleware heterogeneity
– Data management protocols
Hide infrastructure heterogeneity
– Protocol parameters (e.g. gsiftp)
– e.g. v1, v2, dCache impl., .NET
– e.g. NumStreams, BufferSize
World World Grid Grid
E G E E E G E E l
a l h
t l
a l h
t gsiftp:// (v1)
VOMS VOMS VOMS VOMS Globus Globus
Regional grid Regional grid
C C C C
N 2 P 3 I N 2 P 3
gsiftp:// (v2)
Uniform access to heterogeneous grid infrastructures with JSAGA 22
Hide infrastructure heterogeneity Hide infrastructure heterogeneity
Execution management Execution management Hide middleware heterogeneity
– Job management technologies
Hide infrastructure heterogeneity
– Computing Elements (e.g. GK)
– e.g. network filtering, shared FS
– e.g. $VO_?_SW_DIR, /usr/local
– e.g. monitor service URL, shell path on cygwin, default SE URL
– e.g. globus-url-copy, srmcp, Scp, wget, tar
World World Grid Grid
E G E E E G E E Regional grid Regional grid l
a l h
t l
a l h
t
C C C C
N 2 P 3 I N 2 P 3
http:// tar:// srb:// gsiftp:// (v1) srm:// lfn:// gatekeeper gatekeeper gatekeeper gatekeeper wsgram wsgram WMS WMS gatekeeper gatekeeper
VOMS VOMS VOMS VOMS Globus Globus
gsiftp:// (v2)
Uniform access to heterogeneous grid infrastructures with JSAGA 23
targeted grid or site
– domain name in URL – prefix of host name in URL
user
– grid name in URL fragment – initialized context instances
protocol / execution service
– supported context types
security context
– installed plug-ins plug-ins
JSAGA JSAGA
url://
execution execution
Hide infrastructure heterogeneity Hide infrastructure heterogeneity
Selected security context depends on Selected security context depends on… …
World World Grid Grid
E G E E E G E E Regional grid Regional grid l
a l h
t l
a l h
t
C C C C
N 2 P 3 I N 2 P 3
http:// tar:// srb:// gsiftp:// (v1) srm:// lfn:// gatekeeper gatekeeper gatekeeper gatekeeper wsgram wsgram WMS WMS gatekeeper gatekeeper
VOMS VOMS VOMS VOMS Globus Globus
gsiftp:// (v2)
Uniform access to heterogeneous grid infrastructures with JSAGA 24
Hide infrastructure heterogeneity Hide infrastructure heterogeneity
Selected security context depends on Selected security context depends on… …
plug-ins
JSAGA JSAGA
targeted grid or site
– domain name in URL – prefix of host name in URL
user
– grid name in URL fragment – initialized context instances
protocol / execution service
– supported context types
security context
– installed plug-ins
url://
World World Grid Grid
EGEE EGEE R e g iexecution execution
Uniform access to heterogeneous grid infrastructures with JSAGA 25
Transport data to/from workers Transport data to/from workers
Transfer path depends on Transfer path depends on… …
plug-ins
JSAGA JSAGA
grid or site
– network filtering policy – commands available on workers – services available from workers (close Storage Element, shared FS) – supported context instances
data to stage execution service
– protocols supported for staging
transfer protocol
– access mode (RO, WO, RW) – third-party transfer – supported data protection level
security context
– delegation capability – shared by several jobs – installed on some worker nodes – file size – required data protection level
job job desc desc. .
World World Grid Grid
EGEE EGEE R e g iUniform access to heterogeneous grid infrastructures with JSAGA 26
E E1
1
R R1
1
C C C' C'C'' C'' common E E E E
src src
executable
D D1
1
input data result std-error
RUGBI RUGBI
RUGBI RUGBI RUGBI EGEE CA
SMTP SMTP GSIFTP GSIFTP GSIFTP GSIFTP HTTP HTTP GSIFTP GSIFTP
X509
HTTPS HTTPS
Transport data to/from workers Transport data to/from workers
Transfer path depends on Transfer path depends on… …
grid or site
– network filtering policy – commands available on workers – services available from workers (close Storage Element, shared FS) – supported context instances
data to stage
– shared by several jobs – installed on some worker nodes – file size – required data protection level
job job job
C" C" E E
src src
D D1
1
E E C C R R1
1
E E1
1
C' C'
TAR TAR TAR TAR
execution service
– protocols supported for staging
transfer protocol
– access mode (RO, WO, RW) – third-party transfer – supported data protection level
security context
– delegation capability
Uniform access to heterogeneous grid infrastructures with JSAGA 27
Transport data to/from workers Transport data to/from workers
An example with 3 jobs (x2) An example with 3 jobs (x2)
glite-job-list-match myJobs.jdl | ????? > EGEE-rsc.xml jsaga-jobcollection-run myJobs.jdl EGEE-rsc.xml
EGEE EGEE
????? > OpenPlast-rsc.xml jsaga-jobcollection-run myJobs.jdl OpenPlast-rsc.xml
Regional grid Regional grid
Uniform access to heterogeneous grid infrastructures with JSAGA 28 cat << EOF > resources.xml <Selection xmlns="http://www.in2p3.fr/jsdl-extension"> <ResourceRequest name="MYJOB_@{PARAM}"> `xpath resources-OpenPlast.xml //SelectedGrid` `xpath resources-EGEE.xml //SelectedGrid` </ResourceRequest> </Selection> EOF jsaga-jobcollection-run myJobs.jdl resources.xml
Transport data to/from workers Transport data to/from workers
An example with 6 jobs An example with 6 jobs Regional grid Regional grid EGEE EGEE
Uniform access to heterogeneous grid infrastructures with JSAGA 29
Plan Plan
Introduction
– Interoperability solutions
Middleware heterogeneity
– Security – Data management – Execution management
Infrastructure heterogeneity
– Security – Data management – Execution management
Transport data to/from
worker nodes
Conclusion
Uniform access to heterogeneous grid infrastructures with JSAGA 30
Conclusion Conclusion
Summary of features Summary of features Hide middleware heterogeneity
– uniform interface
Hide infrastructure heterogeneity
– select security contexts, protocol versions, environment variables – transport data to/from workers
…through standard interfaces
– SAGA – JSDL
…with efficiency
– choose the most efficient strategy for job monitoring, job in/out staging, file operations – enable caching connections, files information and content
…with flexibility
– extensible (plug-ins) – customizable (configuration) – use infrastructures as they are – middleware specific features
Describe your job once, submit it worldwide ! Describe your job once, submit it worldwide !
http://grid.in2p3.fr/jsaga/
Uniform access to heterogeneous grid infrastructures with JSAGA 31
Conclusion Conclusion
Related projects Related projects
Many plug-ins contributed by JSAGA is being integrated into…
– Elis@
research grid infrastructures
– JJS (Java Job Submission)
based on QoS observed while submitting jobs)
– JUX (Java Universal eXplorer)