unicore: extended application supportunicore as the underlying grid middleware is used to integrate...

Post on 11-Jul-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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