Grid Programming Environment (GPE) - GridLab
Grid Programming Environment (GPE) - GridLab
Grid Programming Environment (GPE) - GridLab
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 -