unicore: extended application supportunicore as the underlying grid middleware is used to integrate...
Post on 11-Jul-2020
1 Views
Preview:
TRANSCRIPT
Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Unicore: Extended Application Support
Philipp WiederL. Kirtchakova, M. Romberg, B. Schuller
Research Centre Jülich2nd International Summer School on Grid Computing
Vico Equense, Italy, July 28, 2004
July 28, 2004 2Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Contents
Motivation: Why extend Unicore?And how and where?
Real world examplesInteroperabilityDomain-specific user support: “Meta-workflow”Command line interface
Resumé
July 28, 2004 3Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Architecture revisited
ClientTier
ServerTier
Target SystemTier
UNICORE Client
Arcon Client Toolkit
Client-side Application
Target System Interface
Resource Manager
Gateway
Network Job SupervisorJobs & datatransfer toother NJSs
IncarnationDatabase
Plug-ins
July 28, 2004 4Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Why extend Unicore?
Unicore = Uniform Interface to Computing Resources
Enhance it to e.g.add resources to Unicore (applications, computing systems, …)provide application-/domain-specific user supportintegrate organisation-specific security solutionsimplement new core functionality…
July 28, 2004 5Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
How extend Unicore?
Client customisation through plug-ins:Integration of software & applicationsEnhancement of client’s functionality
Server customization through specific TSIs:Integration of new target systems (resources)Support for client-side enhancements (e.g. interactive access)
Client & Server extensions: Ask your developer!This may change with Open Source Unicore
July 28, 2004 6Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Hypothetical example
Integration of a development cluster into a UNICORE Grid:
Proprietary cluster management software (PCMS)Graphical user support for some application SAPAutomated job submission and result evaluation for system testing (AUST)
… see next slide
July 28, 2004 7Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Resource Manager
Where extend UNICORE?
ClientTier
ServerTier
Target SystemTier
Plugins
Target System InterfaceSAP
Client-side Application
SAP …
Arcon Client Toolkit
Gateway
Network Job SupervisorJobs & datatransfer toother NJSs
IncarnationDatabase
Plug-ins
UNICORE Client
PCMS
PCMS TSI
SAP Plugin
AUST
July 28, 2004 8Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Real world scenarios
Scenario I: InteroperabilityIntegration of Globus resources into Unicore
Unicore jobs on Globus resourcesIntegrated security solutionCross-Grid resource brokerage
Scenario II: “Meta-Workflow”Simplify user access to a complex and dynamic Grid:
Improve support for complex workflowsSelect resources automaticallyDistribute computations to multiple Grid nodes
July 28, 2004 9Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Scenario I: GRIP
… to realise the interoperability of UNICORE and Globus and to work towards standards for interoperability in the Global Grid Forum:
Development of an interoperability layer between the two Grid systemsInteroperable applicationsContributions made to the Global Grid ForumUNICORE towards Grid Services
July 28, 2004 10Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Requirements & usage scenarios
UNICORE GlobusJobs from UNICORE to Globus
Jobs from Globus to UNICORE
Bi-directional
Inter-Grid submission of jobsStatus monitoring of jobs Output retrieval & data transferHeterogeneous multi-site jobsSingle-sign onCross-Grid information services
July 28, 2004 11Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Grid approachUNICORE: User oriented workflow environmentGlobus: Services, APIs & portal builder
UNICORE as a workflow portal for Globus Security
UNICORE: End-to-end security modelGlobus: Requires transitive trust
Don’t violate UNICORE’s security modelResource description
UNICORE: One model for discovery & requestGlobus: Different models
Description mapping for discovery & request
Evaluation of requirements
July 28, 2004 12Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Design decisions
Use UNICORE’s sophisticated job & workflow modelSubmit jobs from UNICORE to Globus
Provide single sign-on without violating UNICORE’s security model
Generate temporary Globus credentials (proxies) in the UNICORE client
Postpone final integration of information services
Use semantic techniques to broker across Grids
July 28, 2004 13Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
TSI
Interoperability architecture
ClientTier
ServerTier
Target SystemTier
Globus TSI
Globus Server
UNICORE Server
UNICORE Client
Plug-ins
Globus client API
Globus:Set of extensible services and corresponding APIsProvides:SecurityJob submission & controlData transferInfo services
Globus protocols
Proxycert
Proxy plug-in
Generate Globus proxyFrom UNCICORE usercertificate. Ship proxyto TSI.
July 28, 2004 14Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Resource models: Comparison
UNICORE models user requests:Maximum of a resource that is available (policy restrictions!)Is a software available?
Globus/GLUE provides machine meta-data modelPhysical resources availableDynamic capabilities of resources
Softwareresources
Dynamicresources
Description ofStatic computing
UNICORE resource domain GLUE resource domain
July 28, 2004 15Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Cross-Grid resource broker
Ontology to translate resource descriptions automaticallyExtensible broker architectureExperimental brokeringWeb ServiceStandardised Grid resourcedescription/ontologyessential
NJSNJSGlobus3 BrokerGlobus3 Broker
TranslatorTranslator
Unicore-to-GlueMappingOntologyServiceService
TSITSI
IDBIDB
IndexServiceIndex
Service
Donal Fellows, University of Manchester
July 28, 2004 16Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Lessons learned
Realization of uni-directional interoperability UNICORE -> Globus is technically solved, but:Not sensible to add an interoperability layer for every non-UNICORE Grid systemSmall intersection of UNICORE & Globus resource models Widely accepted standards are crucial
Broader vision of interoperability: Not just interoperability with Globus, not just “static”interoperability
July 28, 2004 17Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Scenario II: OpenMolGRID
… to support the molecular design & engineeringprocess of drug design through automating the following tasks
data warehousingdata miningmolecular engineering
Unicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support
July 28, 2004 18Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Scenario II: Why Meta-Workflow?
Requirements:Automated workflow supportAutomated resource managementApplication support
… based on core UNICORE services and functions
So, why has UNICORE to be extended?
July 28, 2004 19Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
UNICORE workflow model
Import
Transfer
Transfer
Compile
Link
ExecuteScript
Export UNICORE Job
SubJobB
SubJobA
SubJobC
July 28, 2004 20Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
OpenMolGRID example workflow
Query Data Source
Structure Conversion 2D → 3D
Optimize 3D Structure
PropertyID + Values
DescriptorID num’s
Run Descriptor Calculation
Upload datato CDR
Upload datato CDR
Upload datato CDRAnalyse Data
Upload datato CDR
Build ModelsParameters
Extract/convertStructure data
Prepare Property File
?
July 28, 2004 21Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Workflow support: Realisation
UNICORE Servers (VSites)
UNICORE Client
Application Plugin
Application
ResourceManagementMetaPlugin
OpenMolGRID
UNICORE
Applications
WORKFLOWDESCRIPTION
<XML>
Metadata <XML>
July 28, 2004 22Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Workflow description
July 28, 2004 23Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Workflow XML schema- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">+ <xs:element name="workflow">- <xs:element name="task">- <xs:complexType>+ <xs:sequence><xs:attribute name="name" use="required" /><xs:attribute name="identifier" use="required" /><xs:attribute name="id" use="required" />- <xs:attribute name="export" use="required">+ <xs:simpleType></xs:attribute>- <xs:attribute name="split" use="required">+ <xs:simpleType></xs:attribute></xs:complexType></xs:element>+ <xs:element name="group">- <xs:element name="dependency">- <xs:complexType><xs:attribute name="pred" use="required" /><xs:attribute name="succ" use="required" /></xs:complexType></xs:element>+ <xs:element name="option"></xs:schema>
July 28, 2004 24Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
MetaPlugin: Overview
OpenMolGRIDWorkflow Support
components
UserPreferences
Server Resources(Applications, computeresources, storage, ...)
Client Resources(Plugins, resourcemanagement, ...)
Workflow description
July 28, 2004 25Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
MetaPlugin: Workflow builder
MetaPlugin
WorkflowBuilder
ResourceAllocator
JobBuilder
WorkflowBuilderRead workflow XML fileBuild workflow object
WorkflowBuilderXML Workflow
July 28, 2004 26Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
MetaPlugin: Resource Allocator
MetaPlugin
WorkflowBuilder
ResourceAllocator
JobBuilder
ResourceAllocatorFind resourcesTake user defaults into accountAttach them to the workflow
ResourceAllocator Workflow+ Resources
Workflow
Resource Management
User defaults
July 28, 2004 27Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
MetaPlugin: Job builder
MetaPlugin
ResourceAllocator
JobBuilder
WorkflowBuilder
JobBuilderMap workflow onto Unicore jobSet filenames, options ... (user interaction)Perform data distribution
JobBuilderWorkflow+ Resources
Resource Management
User defaults
Application plugin(s)
July 28, 2004 28Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
MetaPlugin: workflow adjustment
July 28, 2004 29Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
MetaPlugin: workflow adjustment (cont)
July 28, 2004 30Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
MetaPlugin: workflow control panel
July 28, 2004 31Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
MetaPlugin: Workflow description
July 28, 2004 32Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Application support
Use case: “Non-GUI” workflow support within applicationsRequirements: Re-use of existing codeSolution: Command line interface based on the MetaPluginTwo versions:
Command line interface: Rapid testing & widely applicableCommand line API: Integration into Java applications
July 28, 2004 33Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Command Line Interface (CLI)
Provide access to Unicore from within applicationsBuild & submit jobs without user interaction (unlike GUI client)All commands use certificates for authentication All commands executed per job, queuing module supports batch processingCLI (& API) completely realised in Java
July 28, 2004 34Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
CLI: Architecture
MetaPlugin
WorkflowBuilder
ResourceAllocator
JobBuilder
AJO creation facility
CLIJobBuilder
Resource Management
ArconToolkit
AJOhandling
Command line access API
July 28, 2004 35Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
CLI: Functions
build_ajo: Builds AJO from XML workflow & saves it to filesubmit: Reads an AJO from file & submits it to Vsite (synchronous/asynchronous -> AJO_ID to identify job)get_status: Get status for job with AJO_IDget_outcome: Get result files for job with AJO_IDabort_job: Abort job identified by AJO_ID & remove it from NJS
July 28, 2004 36Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Command Line API
Collects required resources at start-up and caches them internallyPrevents re-initializing of all resources for every job generation requestEnables subsequent command execution without restarting CLI
July 28, 2004 37Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
CLI: Example usage
cli = new CLAPI();
cli.execute("build_ajo", [options]);cli.execute("submit", [options]);
$>cli build_ajo [options]$>cli submit [options]
CLAPI (from Java application)CLI (from command line)
July 28, 2004 38Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
CLI Queue
Automatic successive processing of multiple jobs
Requestdirectory
Responsedirectory
CLIQ
submit
build_ajo
get_status
get_outcome
abort_job
CLAPI
polls/retrievesrequests
writesoutcome
July 28, 2004 39Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
UNICORE Client
App.
Resumé
ClientTier
ServerTier
Target SystemTier
App.
Gateway
NJS
App …
IncarnationDatabase
PCMS
PCMS TSI
Arcon Client Toolkit
App 2
CLI
App 1
CLAPI
WorkflowDescription
Res.-Mgmt
MetaPlugin
App.Plugin
App.Plugin
NJS
Globus Server
Globus TSI
Globus client API
IncarnationDatabase
July 28, 2004 40Forschungszentrum Jülichin der Helmholtz-Gemeinschaft
Recommended reading
Unicore Plus final report (good intro to Unicore): http://www.unicore.org/documents/UNICOREPlus-Final-Report.pdfGRIP: http://www.grid-interoperability.orgOpenMolGRID: http://www.openmolgrid.orgSources, docs, etc. at https://unicore.sourceforge.net/
top related