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

40
Forschungszentrum Jülich in der Helmholtz-Gemeinschaft Unicore: Extended Application Support Philipp Wieder L. Kirtchakova, M. Romberg, B. Schuller Research Centre Jülich 2 nd International Summer School on Grid Computing Vico Equense, Italy, July 28, 2004

Upload: others

Post on 11-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 2: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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é

Page 3: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 4: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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…

Page 5: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 6: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 7: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 8: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 9: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 10: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 11: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 12: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 13: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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.

Page 14: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 15: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 16: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 17: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 18: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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?

Page 19: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

July 28, 2004 19Forschungszentrum Jülichin der Helmholtz-Gemeinschaft

UNICORE workflow model

Import

Transfer

Transfer

Compile

Link

ExecuteScript

Export UNICORE Job

SubJobB

SubJobA

SubJobC

Page 20: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

?

Page 21: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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>

Page 22: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

July 28, 2004 22Forschungszentrum Jülichin der Helmholtz-Gemeinschaft

Workflow description

Page 23: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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>

Page 24: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 25: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

July 28, 2004 25Forschungszentrum Jülichin der Helmholtz-Gemeinschaft

MetaPlugin: Workflow builder

MetaPlugin

WorkflowBuilder

ResourceAllocator

JobBuilder

WorkflowBuilderRead workflow XML fileBuild workflow object

WorkflowBuilderXML Workflow

Page 26: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 27: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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)

Page 28: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

July 28, 2004 28Forschungszentrum Jülichin der Helmholtz-Gemeinschaft

MetaPlugin: workflow adjustment

Page 29: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

July 28, 2004 29Forschungszentrum Jülichin der Helmholtz-Gemeinschaft

MetaPlugin: workflow adjustment (cont)

Page 30: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

July 28, 2004 30Forschungszentrum Jülichin der Helmholtz-Gemeinschaft

MetaPlugin: workflow control panel

Page 31: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

July 28, 2004 31Forschungszentrum Jülichin der Helmholtz-Gemeinschaft

MetaPlugin: Workflow description

Page 32: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 33: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 34: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 35: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 36: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 37: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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)

Page 38: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 39: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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

Page 40: Unicore: Extended Application SupportUnicore as the underlying Grid middleware is used to integrate the various applications & to add domain-specific workflow support Forschungszentrum

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/