The EDGeS project receives Community research funding 1 Porting Applications to the EDGeS Infrastructure A comparison of the available methods, APIs, and.

Slides:



Advertisements
Similar presentations
Building Portals to access Grid Middleware National Technical University of Athens Konstantinos Dolkas, On behalf of Andreas Menychtas.
Advertisements

DC-API: Unified API for Desktop Grid Systems Gábor Gombás MTA SZTAKI.
1 Generic logging layer for the distributed computing by Gene Van Buren Valeri Fine Jerome Lauret.
P-GRADE and WS-PGRADE portals supporting desktop grids and clouds Peter Kacsuk MTA SZTAKI
WS-PGRADE: Supporting parameter sweep applications in workflows Péter Kacsuk, Krisztián Karóczkai, Gábor Hermann, Gergely Sipos, and József Kovács MTA.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
1 Application Specific Module for P-GRADE Portal 2.7 Application Specific Module overview Akos Balasko MTA-SZTAKI LPDS
DIRAC API DIRAC Project. Overview  DIRAC API  Why APIs are important?  Why advanced users prefer APIs?  How it is done?  What is local mode what.
Christopher Jeffers August 2012
GRAPPA Part of Active Notebook Science Portal project A “notebook” like GRAPPA consists of –Set of ordinary web pages, viewable from any browser –Editable.
1 port BOSS on Wenjing Wu (IHEP-CC)
Connecting OurGrid & GridSAM A Short Overview. Content Goals OurGrid: architecture overview OurGrid: short overview GridSAM: short overview GridSAM: example.
A Distributed Computing System Based on BOINC September - CHEP 2004 Pedro Andrade António Amorim Jaime Villate.
Business Unit or Product Name © 2007 IBM Corporation Introduction of Autotest Qing Lin.
Flexibility and user-friendliness of grid portals: the PROGRESS approach Michal Kosiedowski
David Adams ATLAS ATLAS Distributed Analysis David Adams BNL March 18, 2004 ATLAS Software Workshop Grid session.
GenWrapper: A Generic Wrapper for Running Legacy Applications on Desktop Grids Attila Csaba Marosi Joint EGEE and EDGeS Summer School on.
07/06/11 New Features of WS-PGRADE (and gUSE) 2010 Q Q2 Miklós Kozlovszky MTA SZTAKI LPDS.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
SCI-BUS is supported by the FP7 Capacities Programme under contract nr RI Creating the Autodock gateway from WS-PGRADE/gUSE and making it cloud-enabled.
1 Overview of the Application Hosting Environment Stefan Zasada University College London.
Wenjing Wu Computer Center, Institute of High Energy Physics Chinese Academy of Sciences, Beijing BOINC workshop 2013.
LCG Middleware Testing in 2005 and Future Plans E.Slabospitskaya, IHEP, Russia CERN-Russia Joint Working Group on LHC Computing March, 6, 2006.
The EDGeS project receives Community research funding 1 SG-DG Bridges Zoltán Farkas, MTA SZTAKI.
INFSO-RI Enabling Grids for E-sciencE Supporting legacy code applications on EGEE VOs by GEMLCA and the P-GRADE portal P. Kacsuk*,
WS-PGRADE portal and its usage in the CancerGrid project M. Kozlovszky, P. Kacsuk Computer and Automation Research Institute of the Hungarian Academy of.
Application portlets within the PROGRESS HPC Portal Michał Kosiedowski
The european ITM Task Force data structure F. Imbeaux.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Code Applications Tamas Kiss Centre for Parallel.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Convert generic gUSE Portal into a science gateway Akos Balasko 02/07/
 Apache Airavata Architecture Overview Shameera Rathnayaka Graduate Assistant Science Gateways Group Indiana University 07/27/2015.
AgINFRA science gateway for workflows and integrated services 07/02/2012 Robert Lovas MTA SZTAKI.
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Applications.
Interactive Workflows Branislav Šimo, Ondrej Habala, Ladislav Hluchý Institute of Informatics, Slovak Academy of Sciences.
Parameter Study Principles & Practices. What is Parameter Study? Parameter study is the application of a single algorithm over a set of independent inputs:
NEES Cyberinfrastructure Center at the San Diego Supercomputer Center, UCSD George E. Brown, Jr. Network for Earthquake Engineering Simulation NEES TeraGrid.
George Goulas, Christos Gogos, Panayiotis Alefragis, Efthymios Housos Computer Systems Laboratory, Electrical & Computer Engineering Dept., University.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Services for advanced workflow programming.
1 IDGF International Desktop Grid Federation PORTING APPLICATION TO THE BOINC DESKTOP GRID: ISA RAS EXPERIENCE Mikhail Posypkin Oleg Zaikin Nikolay Khrapov.
Parameter Study Principles & Practices. Outline Data Model of the PS Part I Simple PS –Generating simple PS Workflow by introducing PS Input port – using.
Convert generic gUSE Portal into a science gateway Akos Balasko.
Chapter 2. System Structures
Tool Integration with Data and Computation Grid “Grid Wizard 2”
11 Introduction to EDGI Peter Kacsuk, MTA SZTAKI Start date: Duration: 27 months EDGI.
EGEE-II INFSO-RI Enabling Grids for E-sciencE P-GRADE overview and introduction: workflows & parameter sweeps (Advanced features)
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
Application Specific Module Tutorial Zoltán Farkas, Ákos Balaskó 03/27/
07/02/2012 WS-PGRADE/gUSE in use Lightweight introduction Zoltán Farkas MTA SZTAKI LPDS.
David Adams ATLAS ATLAS Distributed Analysis and proposal for ATLAS-LHCb system David Adams BNL March 22, 2004 ATLAS-LHCb-GANGA Meeting.
WS-PGRADE/gUSE in use Advance use of WS- PGRADE/gUSE gateway framework Zoltán Farkas and Peter Kacsuk MTA SZTAKI LPDS.
Grid Execution Management for Legacy Code Architecture Exposing legacy applications as Grid services: the GEMLCA approach Centre.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
Remote Api Tutorial How to call WS-PGRADE workflows from remote clients through the http protocol?
RI EGI-TF 2010, Tutorial Managing an EGEE/EGI Virtual Organisation (VO) with EDGES bridged Desktop Resources Tutorial Robert Lovas, MTA SZTAKI.
1 Globe adapted from wikipedia/commons/f/fa/ Globe.svg IDGF-SP International Desktop Grid Federation - Support Project SZTAKI.
1 IDGF International Desktop Grid Federation NEW TRENDS IN DESKTOP GRID COMPUTING Mikhail Posypkin Centre for Distributed Computing IITP RAS.
Convert generic gUSE Portal into a science gateway Akos Balasko.
Convert generic gUSE Portal into a science gateway Akos Balasko.
How to connect your DG to EDGeS? Zoltán Farkas, MTA SZTAKI
P-GRADE overview and introduction: workflows & parameter sweeps (Advanced features) Gergely Sipos MTA SZTAKI
Lightweight introduction
Lightweight introduction
Chapter 2: System Structures
Module 01 ETICS Overview ETICS Online Tutorials
Presentation transcript:

The EDGeS project receives Community research funding 1 Porting Applications to the EDGeS Infrastructure A comparison of the available methods, APIs, and technologies Attila Csaba Marosi MTA SZTAKI

Porting Applications to a BOINC Infrastructure 2 Porting Applications to BOINC Porting applications to BOINC is not a straightforward processPorting applications to BOINC is not a straightforward process The infrastructure requires the implementation of various components (work unit generator, assimilator, worker application, etc.)The infrastructure requires the implementation of various components (work unit generator, assimilator, worker application, etc.) Developers can find a wide variety of APIs and methods to port their applicationsDevelopers can find a wide variety of APIs and methods to port their applications It is not easy to select the best one for our applicationIt is not easy to select the best one for our application This presentation gives an overview of the available methods, APIs, and technologiesThis presentation gives an overview of the available methods, APIs, and technologies

Porting Applications to a BOINC Infrastructure 3 Application Types There are two types of applications:There are two types of applications: –Applications whose source code is available and can be modified easily –Legacy applications that cannot be modified (e.g. the source code is not available) or it is not advisable to modify them

Porting Applications to a BOINC Infrastructure 4 Available Methods, APIs, and Technologies Server sideServer side –BOINC API –DC-API –gUSE Client sideClient side –BOINC API –DC-API –Boinc Wrapper technology –GenWrapper technology

Porting Applications to a BOINC Infrastructure 5 BOINC API The original API, can only be used with BOINCThe original API, can only be used with BOINC A set of C and C++ functionsA set of C and C++ functions Rich feature set at the expense of complexityRich feature set at the expense of complexity 4 separate applications (WU generator, validator, assimilator, worker)4 separate applications (WU generator, validator, assimilator, worker) Complex porting processComplex porting process

Porting Applications to a BOINC Infrastructure 6 BOINC API Functionality WU Generator: - work unit generation, submission - work unit generation, submission - input and output file handling - input and output file handlingValidator: - validator frameworks (simple, low-level) - validator frameworks (simple, low-level)Assimilator: - handler function linked with a special program - handler function linked with a special program Initialisation Input and output file identification I/O wrappers Checkpointing Progress, credit reporting Critical sections Atomic file update Time handlers Graphics API (screen savers, icons) Other APIs (status, diagnostics, etc.) Grid System Client Application BOINC API Client Application BOINC API WU GeneratorValidatorAssimilator BOINC API

Porting Applications to a BOINC Infrastructure 7 DC-API Distributed Computing Application Programming InterfaceDistributed Computing Application Programming Interface Allows easy implementation and deployment of distributed applications on multiple grid environmentsAllows easy implementation and deployment of distributed applications on multiple grid environments An API that hides the details of BOINCAn API that hides the details of BOINC The DC-API is designed to be simple and easy to useThe DC-API is designed to be simple and easy to use Supports a master-worker programming modelSupports a master-worker programming model Work units are sequential applicationsWork units are sequential applications

Porting Applications to a BOINC Infrastructure 8 DC-API Functionality Grid System Client Application DC-API Client Application DC-API Initialisation Work unit generation Input and output file handling Work unit submission Event processing (e.g. results) Result assimilation Work unit deletion Initialisation Input and output file identification Event processing (e.g. checkpointing) Progress reporting Configuration, logging, messaging Common features: ValidatorMaster Application BOINC APIDC-API

Porting Applications to a BOINC Infrastructure 9 BOINC Wrapper Technology Can be used to port legacy applications easilyCan be used to port legacy applications easily No need the change the original applicationNo need the change the original application The wrapper runs legacy applications as sub- processesThe wrapper runs legacy applications as sub- processes The wrapper plays the role of the BOINC client applicationThe wrapper plays the role of the BOINC client application Handles all communication with the core client (fraction, CPU time reporting, suspend, resume, abort, etc.)Handles all communication with the core client (fraction, CPU time reporting, suspend, resume, abort, etc.) Tasks:Tasks: –Compile the Wrapper –Create a Job description file (XML)

Porting Applications to a BOINC Infrastructure 10 BOINC Wrapper Structure BOINC core client BOINC application compiled with the BOINC libraries Wrapper Legacy Application Without the Wrapper With the Wrapper Executes the legacy application(s) in a specific order

Porting Applications to a BOINC Infrastructure 11 GenWrapper technology Generic wrapper interpreter based on GitBoxGeneric wrapper interpreter based on GitBox Runs legacy applications without BOINCificationRuns legacy applications without BOINCification Makes the BOINC API / DC-API available in POSIX shell scriptingMakes the BOINC API / DC-API available in POSIX shell scripting A shell interpreter is started instead of the real application that executes an application scriptA shell interpreter is started instead of the real application that executes an application script The scriptThe script –realizes BOINCification through script commands –may run legacy applications in any way –may perform any preparation on input-, output files, environment, etc. –may do whatever you can do in a script

Porting Applications to a BOINC Infrastructure 12 GenWrapper Structure BOINC core client Application Work unit A ZIP file (optional) Launcher GenWrapper binaries Legacy application Profile script Application script Input files 3. Extracts 5. Executes 1. Downloads 2. Downloads Acts as the BOINC client application 6. Gets executed by GitBox 4. Launches GitBox Can do almost anything that a shell script can (e.g. can start the legacy application) Output files 7. Produces

Porting Applications to a BOINC Infrastructure 13 gUSE & WS-PGRADE gUSE (grid User Support Environment)gUSE (grid User Support Environment) –is a grid virtualization environment –exposes the grid as a workflow –enables the execution of workflows simultaneously in many grids no matter what their middleware is WS-PGRADE is the user interface to supportWS-PGRADE is the user interface to support –editing, configuring, publishing workflows (as grid applications) Workflows can be built from four types of jobsWorkflows can be built from four types of jobs –Normal, sequential job –Generator –PS (Parameter Sweep) –Collector Jobs can be submitted to a BOINC DGJobs can be submitted to a BOINC DG

Porting Applications to a BOINC Infrastructure 14 gUSE Parameter Study Workflow GEN Grid job generates input parameter space COLL Collector grid job evaluates the results of the simulation SEQ Parameter sweep grid jobs (can run on a DG for example) This could be any workflow

Porting Applications to a BOINC Infrastructure 15 Comparison of the methods, APIs, and technologies (server side) BOINC API DC-APIgUSE Programming languageC/C++/Fortran/PythonC/C++(/Python) Jobs can execute any kind of binaries Number of applications to be written 3 (WU generator, Validator, Assimilator) 2 (Master application, Validator) 1 Workflow with at least 2 jobs (Generator, Collector) Easy to use GUI Can be used with other Grid middlewares Implementation effort (1. Maximum, 3. Minimum)122.5 Programming conceptMaster-workerMaster-worker Workflow based Parameter study support Method of execution From the command line From a portal

Porting Applications to a BOINC Infrastructure 16 Comparison of the methods, APIs, and technologies (client side) BOINC API DC-API BOINC Wrapper GenWrapper Programming language C/C++ /Fortran /Python C/C++ (/Java, experimental /Python) No programming, only a job description file POSIX shell scripting Suitable for legacy applications (difficult implementation) (difficult implementation) Suitable for non- legacy applications (if it is based on shell scripts) (if it is based on shell scripts) Application specific configuration support Logging support Checkpointing support (application level)

Porting Applications to a BOINC Infrastructure 17 Resources BOINC API (BOINC Wiki):BOINC API (BOINC Wiki): – DC-API:DC-API: – gUSE:gUSE: – BOINC Wrapper:BOINC Wrapper: – GenWrapper:GenWrapper: –