07.01.2015 Views

Grid Programming Environment (GPE) - GridLab

Grid Programming Environment (GPE) - GridLab

Grid Programming Environment (GPE) - GridLab

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Grid</strong><br />

<strong>Programming</strong><br />

<strong>Environment</strong> (<strong>GPE</strong>)<br />

Ralf Ratering<br />

Intel<br />

Parallel and Distributed Solutions Division (PDSD)<br />

- 1 -


The next step:<br />

<strong>Grid</strong> <strong>Programming</strong> <strong>Environment</strong> (<strong>GPE</strong>)<br />

Bringing applications to the <strong>Grid</strong>...<br />

High Level <strong>Grid</strong><br />

API<br />

Language<br />

independent<br />

definition<br />

Java reference<br />

implementation<br />

Visual <strong>Grid</strong><br />

SDK<br />

Applications<br />

<strong>Grid</strong>Beans<br />

<strong>Grid</strong> <strong>Programming</strong> Language<br />

Open <strong>Grid</strong> Service Architecture OGSA<br />

WS Resource Framework WSRF<br />

Web Services<br />

Client<br />

Framework<br />

OGSA enabled Server Components<br />

<strong>GPE</strong><br />

- 2 -


Use Case: Expert User<br />

<strong>Grid</strong> Client<br />

User Keystore<br />

WSRF<br />

Fully-fledged Java<br />

Application<br />

Application GS<br />

<strong>Grid</strong><br />

Broker GS<br />

Application GS<br />

Application Database GS<br />

<strong>Grid</strong> Service<br />

Information GS<br />

Run multiple applications in complex workflows<br />

Get all information from the <strong>Grid</strong><br />

- 3 -


Use Case: Application User<br />

Application Client<br />

WSRF<br />

<strong>Grid</strong><br />

Application<br />

<strong>Grid</strong> Service<br />

User Certificate<br />

Lightweight Java<br />

Application<br />

Only one application<br />

Get only application specific information<br />

Run lightweight client on mobile devices<br />

- 4 -


Use Case: Unaware User<br />

Web Browser<br />

JSP<br />

User<br />

DB<br />

Authenticate using<br />

server certificate<br />

Register<br />

Request/<br />

Response<br />

Server<br />

Server Certificate<br />

Service<br />

Provider<br />

WSRF<br />

Application<br />

<strong>Grid</strong> Service<br />

<strong>Grid</strong><br />

User<br />

Presentation<br />

oriented<br />

user interface<br />

What is a "<strong>Grid</strong>"<br />

Service provider offers a service on the<br />

web<br />

- 5 -


The <strong>Grid</strong> Developer<br />

<strong>Grid</strong> SDK<br />

Deploy<br />

Application GS<br />

Deploy<br />

Web Client<br />

Application Client<br />

<strong>Grid</strong><br />

Information GS<br />

Database GS<br />

<strong>Grid</strong> Client<br />

Broker GS<br />

Application<br />

Plug-in<br />

G-API<br />

WSRF<br />

Application GS<br />

<strong>Grid</strong>Bean = <strong>Grid</strong> Service + Client Plug-in<br />

Wrap existing applications<br />

Write new <strong>Grid</strong> applications<br />

Plug-in for Eclipse<br />

- 6 -


<strong>Grid</strong> Service Backends<br />

Application GS<br />

WSRF<br />

UNICORE GS<br />

Globus GS<br />

DRMAA GS<br />

Native Protocols<br />

UNICORE<br />

Network Job<br />

Supervisor<br />

Globus Job<br />

Manager<br />

Condor<br />

Sun <strong>Grid</strong> Engine<br />

<strong>GPE</strong> will provide <strong>Grid</strong> services to wrap<br />

different server types<br />

- 7 -


<strong>GPE</strong>: The big picture…<br />

<strong>Grid</strong> SDK<br />

Deploy Plug-Ins<br />

Expert Client<br />

Developer Workstation<br />

Deploy GS<br />

Plugins<br />

Plugins<br />

<strong>Grid</strong>Beans<br />

Application GS<br />

Keystore<br />

User Workstation<br />

UNICORE<br />

Application Client<br />

<strong>Grid</strong>Bean<br />

G-API<br />

WSRF<br />

<strong>Grid</strong><br />

Broker GS<br />

Database GS<br />

Globus<br />

User Certificate<br />

Application GS<br />

Web Client<br />

JSP<br />

Mobile Device<br />

Application Portal<br />

<strong>Grid</strong>Bean<br />

DRMAA<br />

Information GS<br />

Web Browser<br />

Service Certificate<br />

Service Provider<br />

- 8 -


<strong>GPE</strong> Step 1:<br />

Writing a UNICORE handler for Globus CoG<br />

SSH<br />

Globus<br />

CoG<br />

GT2<br />

GT3<br />

UNICORE<br />

AJO Builder Components and SecurityContext<br />

added<br />

Functionality: Task Execution and File Transfers<br />

- 9 -


<strong>GPE</strong> Step 2:<br />

Integrating UNICORE with Karajan<br />

SSH<br />

Karajan<br />

XML Job<br />

Description<br />

Karajan<br />

Engine<br />

Globus<br />

CoG<br />

GT2/3/4<br />

UNICORE<br />

Karajan-XML job description<br />

Workflow managed in Karajan Engine<br />

– Treat UNICORE jobs as Karajan tasks!<br />

- 10 -


<strong>GPE</strong> Current Status:<br />

Proof of concept implementation<br />

Application<br />

Client<br />

<strong>Grid</strong>Bean<br />

Expert<br />

Client<br />

Karajan<br />

XML Job<br />

Description<br />

mySQL<br />

Database<br />

Job Management<br />

Web Service<br />

Karajan Engine<br />

Globus<br />

CoG<br />

SSH<br />

GT2/3/4<br />

UNICORE<br />

<strong>Grid</strong>Bean<br />

Spool<br />

Directory<br />

Database keeps track of jobs and files<br />

Files are spooled at web service<br />

Service and two clients implemented<br />

- 11 -


Some Problems…<br />

Karajan is too simple<br />

– no resource descriptions, etc.<br />

Extend Karajan to match our requirements<br />

– Close cooperation with Globus CoG team<br />

– Cooperate with GGF SAGA-WG (JSDL-WG)<br />

UNICORE security model too strict<br />

Use Globus style proxy certificates<br />

- 12 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!