Post on 20-Jan-2016
description
transcript
© 2006 Open Grid Forum
OGF HPC-Basic Profile Application Interoperability Demonstration
GIN-CG
© 2006 Open Grid Forum
Overview
• Application• Standards• Implementations• Demo• Future
© 2006 Open Grid Forum
Scientific Application
© 2006 Open Grid Forum
Plasma Charge Minimization
• Undergraduate project• Total system energy minimization of point
charges around the surface of a sphere• Three different applications
• Pre processing – generate input files• Main processing – parallel distributed
processing• Post-processing – choose optimal solution
© 2006 Open Grid Forum
Participation
• DEISA – UNICORE, SuSE, AMD 64-bit, 1 core• NorduGrid – ARC, Debian Linux, i686, 16 core• UK NGS/OMII-UK – GridSAM, Scientific Linux 4.7,
AMD 64-bit, 256 core• University of Virginia Campus Grid – GENESIS2,
Ubuntu Linux, i686, 8 core
• Platform - BES++ Client
© 2006 Open Grid Forum
ARC features
• Standards compliant WS interfaces.
• Modular architecture.• Core components for job
execution (AREX), information exchange (ISIS), data storage (Chelonia), and security.
• Broad range of supported platforms.
• Straightforward user interfaces.• Developer friendliness, supports
services in Java, Python and C++.
• Supports IPv6.
Thanks to Peter Stefan
© 2006 Open Grid Forum
Job Execution Client and Server
The client:• Modular library + CLI tools.• Allows grid users accessing
different middleware operated grid services: gLite CREAM2, Unicore, pre-WS ARC.
• Available on MS Windows, MacOS X, Solaris and Linux.
The server:• Implements a CE.• Supports BES/JSDL/GLUE2 with
ARC extensions.• Conforms to numerous LRMSes.
Thanks to Peter Stefan
© 2006 Open Grid Forum
Genesis II – Standards Based Grid Implementation
• Users FIRST!• Design the system from the ground up with the overriding
mantra that users come first!• Users don’t want to know about grids• Provide a secure, cohesive system in a production system
available to users today!
• Provide an open source, reference implementation of the OGSA and OGSA-related specifications• Use standards and proto-standards available from the OGF
and OGSA to provide feedback into the OGF process on various standards based on implementation experience
Genesis II“Open Source, OGSA Implementation”Thanks to Mark Morgan
© 2006 Open Grid Forum
(Most) everything is a file or directory
• Files and directories can be accessed without knowing anything about Grids, Web Services, or anything thanks to FUSE/IFS• FUSE/IFS map the Grid into the file system
• BES resources, queues are directories• “ls” to list the jobs, “cat” a job to see its state• “cp” a JSDL file into the directory -> start the job up• A shell script can start jobs by copying
• Genesis II containers are directories• “ls” to see the services and porttypes
• IDP are files/directories• IS’s are directories
• “cp” a query file to IS, creates result• RDBMS’s will be directories• The user can access all of these services without dealing with
Web Services!!
Genesis II“Open Source, OGSA Implementation”Thanks to Mark Morgan
© 2006 Open Grid Forum
GridSAM – Use & Characteristics
• Currently deployed and used (amongst others):• On UK National Grid Service (NGS)• University College London and Imperial College London (numerous projects)• Open Geospatial Consortium (OGC)• 2 deployments within Chinese automotive industry• Chinese Drug Discovery project• Southampton University
• Characteristics:• Easily installed and configured• Client install on Windows, Mac OS X and Linux• Server install on many popular Linux variants• Supports PBS, DRMAA, Sun GridEngine, Condor, Globus, LSF batch systems• Standards-based: HPC Basic Profile v1.0, OGSA-BES v1.0, JSDL v1.0, HPC
File Staging Profile (partial)• Supports FTP, SFTP, HTTP, HTTPs, GridFTP, WebDav data protocols• User-focused development and Open Source…
Thanks to Steve Crouch
© 2006 Open Grid Forum
Availability and Future Developments
• Availability:• SourceForge gridsam project• With bundled Apache Tomcat/Axis/WSS4j (WS-Security):
• OMII-UK Campus Grid Toolkit (CGT) – automated client or server install• OMII-UK Development Kit – heavily assisted client or server installation
• Future Developments:• For end-users:
• Refactored documentation (with improved OGF standards coverage)• Full support for HPC File Staging Profile across PBS, Condor & Fork DRMs• Full support for JSDL Resource selection across PBS, Condor & Fork
DRMs• JSDL Parameter Sweep Extension• Support for SRB and iRODS
• For resource owners:• Packaging as standalone, manually configurable web archive (WAR) file• Job submission through multiple remote SSH accounts
Thanks to Steve Crouch
© 2006 Open Grid Forum
• UNICORE used in• DEISA (European Distributed Supercomputing Infrastructure)• National German Supercomputing Center NIC• Gauss Center for Supercomputing
(Alliance of the three German HPC centers & official National Grid Initiative for Germany in the context of EGI)
• SKIF-Grid (Russion-Belarus HPC Infrastructure)• PRACE (European PetaFlop HPC Infrastructure) – starting-
up• Traditionally taking up major
requirements from i.e. • HPC users (i.e. MPI, OpenMP)• HPC user support teams• HPC operations teams• …and via SourceForge Platform
Grid driving High Performance Grid driving High Performance Computing (Computing (HPC))
Thanks to Morris Riedel
© 2006 Open Grid Forum
Guiding Principles, Implementation Strategies
• Open source under BSD license with software hosted on SourceForge• Standards-based: OGSA-conform, WS-RF 1.2 compliant, adoption and
driving of various Open Grid Forum (OGF) standards• Open, extensible Service-Oriented Architecture (SOA)• Interoperable with other Grid technologies• Seamless, secure and intuitive following a vertical end-to-end approach• Mature Security: X.509, proxy and VO support• Workflow support tightly integrated while being extensible for different
workflow languages and engines for domain-specific usage• Application integration mechanisms on the client, services and resource
level• Variety of clients: graphical, command-line, API, portal, etc.• Quick and simple installation and configuration• Support for many operating systems (Windows, MacOS, Linux, UNIX) and
batch systems (LoadLeveler, Torque, SLURM, LSF, OpenCCS)• Implemented in Java to achieve platform-independence
Thanks to Morris Riedel
UNICOREWS-RF
hostingenvironment
XNJS – Site 1
IDB
UNICORE Atomic Services
OGSA-*
ServiceRegistry
Local RMS (e.g. Torque, LL, LSF, etc.)
Target System Interface – Site 1
Local RMS (e.g. Torque, LL, LSF, etc.)
X.509, Proxies, SOAP, WS-RF,
WS-I, JSDL
OGSA-ByteIO, OGSA-BES, JSDL,
HPC-BP, OGSA-RUS, UR
X.509, XACML, SAML, Proxies
DRMAA
UCCcommand-line client
URCEclipse-based Rich client
Portal e.g. GridSphere
HiLAProgrammingAPI
Gateway – Site 1
UVOSVO
Service
ExternalStorage
USpace
GridFTP, Proxies
USpace
XUUDB
WorkflowEngine
ServiceOrchestrator
XACML entity
UNICOREWS-RFhostingenvironment
XNJS – Site 2
IDB
UNICORE Atomic Services
OGSA-*
Target System Interface – Site 2
XUUDB
XACML entity
Gateway – Site 2CISInfo
Service
OGSA-RUS, UR,GLUE 2.0
Grid services hosting
job incarnation
web service stack
data transfer to external storages
authorization
authentication
scientific clientsand applications
central services running in WS-RF
hosting environments
Gateway
http://www.unicore.eu Thanks to Morris Riedel
© 2006 Open Grid Forum
Challenges
• Time - 4 days to do core work• Learning curve – middlewares, demo requirements• Impacted many decisions, compromise!• Select best time/benefit approach• Good team coordination, high communication critical• Exploitation of standards support for each middleware probably not
complete!• Compatibility of BES++ client and middleware
• Client has some limitations – e.g. no delegation support (ARC), no support for full EPRs (Genesis II)
• Middleware support for standards and data differs… how to support?• Approach was hybrid of ‘highest common denominator’ of support,
and customisation• JSDL – generate middleware-oriented rendering based on template• Data – use what we could get working for each middleware• Support for full EPRs was blocker for Genesis II
© 2006 Open Grid Forum
Standards/Data Protocols/Security Supported in Demo (at the moment!)
• Standards:• HPC Basic Profile v1.0
• OGSA BES (Basic Execution Service) v1.0• JSDL (Job Submission Description Language) v1.0• HPC Profile Application Extension v1.0 – ARC, GridSAM
• HPC File Staging Profile – UNICORE only• Data protocols:
• UNICORE, ARC – ftp• GridSAM – GridFTP
• Security:• Direct middleware -> certificate CA trust (just import
CAs)
© 2006 Open Grid Forum
Compute Related Standards
Job ManagementOGSA-BES(GFD 108)
HPC Domain Specific ProfileHPC Basic Profile
(GFD 114)
ArchitectureOGSA EMS Scenarios
(GFD 106)
Use CasesGrid Scheduling Use Cases
(GFD 64)
EducationISV Primer (GFD 141)
AgreementWS-Agreement
(GFD 107)
Programming InterfaceDRMAA
(GFD 22/133)
Programming InterfaceSAGA
(GFD 90)
AccountingUsage Record
(GFD 98)
InformationGLUE Schema 2.0
(GFD. 147)
Job Definition
File TransferHPC File Staging
(GFD 135)
Job DescriptionJSDL
(GFD 56/136)
Application DescriptionHPC Application
(GFD 111)
Application DescriptionSPMD Application
(GFD 115)
Job ParameterizationParameter Sweep
(GFD. 149)
Extend
Uses
Produces
Describes
Supports
Profiles
© 2006 Open Grid Forum
Compute Related Standards
Job ManagementOGSA-BES(GFD 108)
Job ManagementOGSA-BES(GFD 108)
HPC Domain Specific ProfileHPC Basic Profile
(GFD 114)
HPC Domain Specific ProfileHPC Basic Profile
(GFD 114)
ArchitectureOGSA EMS Scenarios
(GFD 106)
Use CasesGrid Scheduling Use Cases
(GFD 64)
EducationISV Primer (GFD 141)
AgreementWS-Agreement
(GFD 107)
Programming InterfaceDRMAA
(GFD 22/133)
Programming InterfaceSAGA
(GFD 90)
AccountingUsage Record
(GFD 98)
InformationGLUE Schema 2.0
(GFD. 147)
Job Definition
File TransferHPC File Staging
(GFD 135)
File TransferHPC File Staging
(GFD 135)
Job DescriptionJSDL
(GFD 56/136)
Job DescriptionJSDL
(GFD 56/136)
Application DescriptionHPC Application
(GFD 111)
Application DescriptionHPC Application
(GFD 111)
Application DescriptionSPMD Application
(GFD 115)
Job ParameterizationParameter Sweep
(GFD. 149)
Extend
Uses
Produces
Describes
Supports
Profiles
JSDL Template
<JobDefinition xmlns="http://schemas.ggf.org/jsdl/2005/11/jsdl"> <JobDescription> <Application> <@APPLICATION_TYPE@ xmlns="@APPLICATION_TYPE_NAMESPACE@"> <Executable>@MINEM_INSTALL_LOCATION@/update_file</Executable> <Argument>input.txt</Argument> <Argument>output.txt</Argument> <Output>stdout.txt</Output> <Error>stderr.txt</Error> @OPTIONAL_WORKING_DIR_ELEMENT@ </@APPLICATION_TYPE@> </Application>
<DataStaging> <FileName>input.txt</FileName> <CreationFlag>overwrite</CreationFlag> <Source> <URI>@INPUT_FILE_URI@</URI> </Source> @OPTIONAL_HPCFSP_CREDENTIAL@ </DataStaging> <DataStaging> <FileName>output.txt</FileName> <CreationFlag>overwrite</CreationFlag> <DeleteOnTermination>false</DeleteOnTermination> <Target> <URI>@OUTPUT_FILE_URI@</URI> </Target> @OPTIONAL_HPCFSP_CREDENTIAL@ </DataStaging>
<DataStaging> <FileName>stdout.txt</FileName> <CreationFlag>overwrite</CreationFlag> <DeleteOnTermination>false</DeleteOnTermination> <Target> <URI>@STDOUT_FILE_URI@</URI> </Target> @OPTIONAL_HPCFSP_CREDENTIAL@ </DataStaging> <DataStaging> <FileName>stderr.txt</FileName> <CreationFlag>overwrite</CreationFlag> <DeleteOnTermination>false</DeleteOnTermination> <Target> <URI>@STDERR_FILE_URI@</URI> </Target> @OPTIONAL_HPCFSP_CREDENTIAL@ </DataStaging> </JobDescription>
@OPTIONAL_MYPROXY_ELEMENT@
</JobDefinition>
3. Upload input files3. Upload input files3
How it Fits Together…
BES++Client
UNICORE
GridSAM
ARC
FTP
GridFTP
FTPClient Job Service
Data Service
Minem
Application
minem-interop.pl
MyProxy
Minem
Minem
MinemSecurity Service
1. Create Minem input files
1. Create Minem input files
12. Generate JSDLs from
template2. Generate JSDLs from
template 2
4. Submit JSDLs across middlewares
4. Submit JSDLs across middlewares
4
6. Download input files6. Download input files
6
7. Select best result7. Select best result
7
8. Generate/upload image to web server8. Generate/upload image to web server
8
5. Monitor jobs until completion
5. Monitor jobs until completion
5
© 2006 Open Grid Forum
Future
• Support full EPRs for Genesis II• Include CREAM-BES within interop demo• Harmonise standards support across all middlewares
• HPC Basic Profile Application Extension (currently supported by GridSAM, ARC)
• HPC File Staging Profile (currently supported by UNICORE)• This would need middleware development!
• Support for single data protocol across all middlewares?• HPC File Staging Profile only mandates support for one protocol
from ftp, http, scp (does not mandate a specific one, or all three)• Issues with each e.g. GridFTP: would need support in Genesis II,
production-level support in UNICORE, and delegation support in BES++ client for ARC
• Again, middleware development required!• We already know ‘data’ is a next big Grid challenge – protocol
support a key part of this challenge
© 2006 Open Grid Forum
Thanks
• Demo development – Steve Crouch, OMII-UK• Core Interop assistance
• ARC• Peter Stefan - NorduGrid
• Genesis 2• Mark Morgan - UVa
• GridSAM• Justin Bradley – OMII-UK• Richard Boardman – OMII-UK
• UNICORE• Shahbaz Memon –Juelich
• BES++• Chris Smith - Platform
• Resource provision• Andrew Grimshaw - UVa• Balazs Konya - NorduGrid• Matteo Turilli – UK NGS• Morris Riedel – Juelich