Enabling Grids for Escienc E Grid Application Platform
Enabling Grids for E-scienc. E Grid Application Platform Academia Sinica Grid Computing Shih-Chun Chiu, Hurng-Chun Lee EGEE 2 nd User Forum Manchester, UK www. eu-egee. org EGEE-II INFSO-RI-031688
Grid Application Development Enabling Grids for E-scienc. E • Grid application development consists of – Interfacing underlying computing resources – Implementing application logics – Designing user interfaces Many routine and tedious works Many efforts can be reused to speedup the development EGEE-II INFSO-RI-031688
Grid Application Platform (GAP) A light-weight framework for developing problem solving applications on the Grid Enabling Grids for E-scienc. E Developing customizable problem solving applications Presentation Tier web portal commandline Proxy management Visualization Configuration & Plug-ins User Management Components Application Tier Job Management <interface> Application depen ds contai ns <interface> Command extends Autodock Application Shell Application Docking Command Run. Script Command Blast Application More Applications| … Visualization Command More Commands … Seamless access to Grid applications Distributed system architecture powered by VQS client APIs n Portable application package: lightweight client-side package for managing jobs and running applications n Virtual Queuing System: high-level meta-schedule with application specific resource matching n Local System Agent: uniform interface for adapting heterogeneous computing environments Supported computing environments n Single Server Features n Computing Cluster: PBS, EGEE-II INFSO-RI-031688 Grid: LCG, g. Lite architecture n Service-oriented n Portable, intuitive and application specific user interface n Integrated proxy delegation and automatic proxy renewal with My. Proxy server n Multi-user environment with historical job archiving and grid proxy management n Uniform interface integrating a variety of computing environments ranged from single workstation to world-wide Grid n Dynamic resource allocation based on application specification n Full Java implementation
Layered Architecture and MVC pattern Enabling Grids for E-scienc. E • – – – • A Grid Application GAP has a layered architecture GAP Extensibility Reusability Maintainability Re-usable interface components Each layer provides interface for its upper layer to access grids easily. High-level application logic Interfacing computing resources controller (Model) Re-usable nterface components High-level application logic EGEE-II INFSO-RI-031688 Interfacing computing resources (View) grid
Interfacing computing environments (1 st layer) Enabling Grids for E-scienc. E VQSClient APIs n Light-weight Java APIs with Java-Co. G VQSCliet APIs User Manager VQS n Extendable job scheduling mechanism n Multi-thread job dispatching, job status checking n Application-oriented resource allocation xml-rpc Job Repository LSA Virtual Queuing System n Represent heterogeneous computing environment with a set of uniform interfaces for Job handling and resource information query n Having the flexibility to also adapt high- xml-rpc level job scheduling frameworks Protocols xml-rpc Local System Agents n Message level – n XML-RPC n Condor Class. Ads n Data transfer level – DIANE n simple copy n ftp / https n gsiftp EGEE-II INFSO-RI-031688 WISDOM Clusters
VQSClient APIs highlight • User (basic User operations with Grid proxy handlers) user. set. XXX(); user. init. My. Proxy(); • Job user. login(); user. init. Grid. Proxy(); user. delegate. Proxy(); (basic Job operations with advanced features) job. set. XXX(); job. submit(); job. recover. Inputs(); job. save. Options(); job. resubmit(); job. fetch. Outputs(); • Job. Manager job. save. LSARequirements(); job. delete(); job. update(); job. get. Logging. Info(); job. clone(); (more efficient multi-thread Job operations)� Job. Manager. submit. Jobs(user, job. List); Job. Manager. delete. Jobs(user, job. List); Job. Manager. recover. Inputs(user, job. List); Job. Manager. resubmit. Jobs(user, job. List); Job. Manager. update. Jobs(user, job. List); Job. Manager. fetch. Outputs(user, job. List);
High Level Application Logic (2 nd layer) Enabling Grids for E-scienc. E Job. Group Command. Param keep track of jobs status Grid generate input Command extends Run. Shell. Script EGEE-II INFSO-RI-031688 fetch visualize Output. Sand. Box Virtual. Screening Object
(cont. )High Level Application Logic (2 nd layer) Enabling Grids for E-scienc. E Job. Group keep track of jobs status Command. Param User input Command Grid generate fetch visualize Output. Sand. Box extends login more Virtual. Screening. Proc Object more Run. Shell. Script Atlas. Analysis. Proc Virtual. Screening. Proc 2 Application EGEE-II INFSO-RI-031688 Long-Term Persistence
(cont. )High Level Application Logic (2 nd layer) Enabling Grids for E-scienc. E Command Pipeline Command A launch generate Command B Pipeline. Handle EGEE-II INFSO-RI-031688 co ol r t n Command C ………
Various User Interfaces and Reusable UI Components (top layer) Enabling Grids for E-scienc. E controller (Model) Re-usable nterface components High-level application logic EGEE-II INFSO-RI-031688 Interfacing computing resources (View) grid
The integrated environment Enabling Grids for E-scienc. E • M. V. C. pattern integrating the web interface with the two different docking systems – The 1 st layer makes use of DIANE and WS-WISDOM to submit docking jobs to the Grid – The 2 nd layer implements the logic of the in-silico screening pipeline – The top layer presents biology aspects EGEE-II INFSO-RI-031688
GUI designed by biologists Enabling Grids for E-scienc. E Compound selection Complex visualization Target selection Energy table Docking parameter setter EGEE-II INFSO-RI-031688
- Slides: 12