Www.see-grid-sci.eu SEE-GRID-SCI The SEE-GRID-SCI initiative is co-funded by the European Commission under the FP7 Research Infrastructures contract no.

Slides:



Advertisements
Similar presentations
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks MyProxy and EGEE Ludek Matyska and Daniel.
Advertisements

Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
A Computation Management Agent for Multi-Institutional Grids
SEE-GRID-SCI Hands-On Session: Workload Management System (WMS) Installation and Configuration Dusan Vudragovic Institute of Physics.
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
Slide 1 Client / Server Paradigm. Slide 2 Outline: Client / Server Paradigm Client / Server Model of Interaction Server Design Issues C/ S Points of Interaction.
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL March 25, 2003 CHEP 2003 Data Analysis Environment and Visualization.
University Of Maryland1 A Study Of Cyclone Technology.
PRASHANTHI NARAYAN NETTEM.
FIREWALL TECHNOLOGIES Tahani al jehani. Firewall benefits  A firewall functions as a choke point – all traffic in and out must pass through this single.
The SAM-Grid Fabric Services Gabriele Garzoglio (for the SAM-Grid team) Computing Division Fermilab.
Pilots 2.0: DIRAC pilots for all the skies Federico Stagni, A.McNab, C.Luzzi, A.Tsaregorodtsev On behalf of the DIRAC consortium and the LHCb collaboration.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Connector Types Interaction services broadly categorize connectors Many details are left unexplained. They fail to provide enough detail to be used in.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Connecting OurGrid & GridSAM A Short Overview. Content Goals OurGrid: architecture overview OurGrid: short overview GridSAM: short overview GridSAM: example.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
The Glidein Service Gideon Juve What are glideins? A technique for creating temporary, user- controlled Condor pools using resources from.
An Introduction to Software Architecture
Scalable Systems Software Center Resource Management and Accounting Working Group Face-to-Face Meeting June 13-14, 2002.
FESR Consorzio COMETA Grid Introduction and gLite Overview Corso di formazione sul Calcolo Parallelo ad Alte Prestazioni (edizione.
INFSO-RI Enabling Grids for E-sciencE Logging and Bookkeeping and Job Provenance Services Ludek Matyska (CESNET) on behalf of the.
Scalable Systems Software Center Resource Management and Accounting Working Group Face-to-Face Meeting October 10-11, 2002.
© 2008 Open Grid Forum Independent Software Vendor (ISV) Remote Computing Primer Steven Newhouse.
Parallel Computing with Matlab CBI Lab Parallel Computing Toolbox TM An Introduction Oct. 27, 2011 By: CBI Development Team.
INFSO-RI Enabling Grids for E-sciencE Workload Management System Mike Mineter
Computing Infrastructure for Large Ecommerce Systems -- based on material written by Jacob Lindeman.
Privilege separation in Condor Bruce Beckles University of Cambridge Computing Service.
The Alternative Larry Moore. 5 Nodes and Variant Input File Sizes Hadoop Alternative.
Tarball server (for Condor installation) Site Headnode Worker Nodes Schedd glidein - special purpose Condor pool master DB Panda Server Pilot Factory -
Server to Server Communication Redis as an enabler Orion Free
EGI-InSPIRE RI EGI-InSPIRE EGI-InSPIRE RI Direct gLExec integration with PanDA Fernando H. Barreiro Megino CERN IT-ES-VOS.
SEE-GRID-SCI The SEE-GRID-SCI initiative is co-funded by the European Commission under the FP7 Research Infrastructures contract no.
Interactive Workflows Branislav Šimo, Ondrej Habala, Ladislav Hluchý Institute of Informatics, Slovak Academy of Sciences.
US LHC OSG Technology Roadmap May 4-5th, 2005 Welcome. Thank you to Deirdre for the arrangements.
Faucets Queuing System Presented by, Sameer Kumar.
1 Andrea Sciabà CERN Critical Services and Monitoring - CMS Andrea Sciabà WLCG Service Reliability Workshop 26 – 30 November, 2007.
A PanDA Backend for the Ganga Analysis Interface J. Elmsheuser 1, D. Liko 2, T. Maeno 3, P. Nilsson 4, D.C. Vanderster 5, T. Wenaus 3, R. Walker 1 1: Ludwig-Maximilians-Universität.
Trusted Virtual Machine Images a step towards Cloud Computing for HEP? Tony Cass on behalf of the HEPiX Virtualisation Working Group October 19 th 2010.
INFSO-RI Enabling Grids for E-sciencE EGEE is a project funded by the European Union under contract INFSO-RI Grid Accounting.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
INFSO-RI Enabling Grids for E-sciencE Ganga 4 – The Ganga Evolution Andrew Maier.
Cloud Computing is a Nebulous Subject Or how I learned to love VDF on Amazon.
EMI INFSO-RI Argus Policies in Action Valery Tschopp (SWITCH) on behalf of the Argus PT.
EGEE is a project funded by the European Union under contract IST WS-Based Advance Reservation and Co-allocation Architecture Proposal T.Ferrari,
AMH001 (acmse03.ppt - 03/7/03) REMOTE++: A Script for Automatic Remote Distribution of Programs on Windows Computers Ashley Hopkins Department of Computer.
Static Process Scheduling
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Grid2Win : gLite for Microsoft Windows Roberto.
JAliEn Java AliEn middleware A. Grigoras, C. Grigoras, M. Pedreira P Saiz, S. Schreiner ALICE Offline Week – June 2013.
INFSO-RI Enabling Grids for E-sciencE Policy management and fair share in gLite Andrea Guarise HPDC 2006 Paris June 19th, 2006.
INFSO-RI Enabling Grids for E-sciencE Ganga 4 Technical Overview Jakub T. Moscicki, CERN.
HTCondor’s Grid Universe Jaime Frey Center for High Throughput Computing Department of Computer Sciences University of Wisconsin-Madison.
Tutorial on Science Gateways, Roma, Catania Science Gateway Framework Motivations, architecture, features Riccardo Rotondo.
Breaking the frontiers of the Grid R. Graciani EGI TF 2012.
EMI is partially funded by the European Commission under Grant Agreement RI Common Authentication Library Daniel Kouril, for the CaNL PT EGI CF.
Claudio Grandi INFN Bologna Virtual Pools for Interactive Analysis and Software Development through an Integrated Cloud Environment Claudio Grandi (INFN.
Trusted Virtual Machine Images the HEPiX Point of View Tony Cass October 21 st 2011.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) gLite Grid Introduction Salma Saber Electronic.
Enabling Grids for E-sciencE Claudio Cherubino INFN DGAS (Distributed Grid Accounting System)
UNICORE and Argus integration Krzysztof Benedyczak ICM / UNICORE Security PT.
Processes and threads.
Chapter 4: Business Process and Functional Modeling, continued
OGF PGI – EDGI Security Use Case and Requirements
(on behalf of the POOL team)
Design rationale and status of the org.glite.overlay component
Workload Management System ( WMS )
Workload Management System
Support for ”interactive batch”
An Introduction to Software Architecture
Presentation transcript:

SEE-GRID-SCI The SEE-GRID-SCI initiative is co-funded by the European Commission under the FP7 Research Infrastructures contract no Work Binder Application Service Branko Marović, Milan Potočnik Belgrade University Computer Centre Miloš Ivanović (University of Kragujevac) Serbia branko.marovic rcub.bg.ac.rs 4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event 2-6 March 2009

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Simplified Access to Computing Resources Provide simple and extensible communication and parallel programming paradigm  Quickly deliver worker jobs/processes  Facilitate communication between clients and workers  Make the infrastructure details transparent to users - abstract the infrastructure providing computing resources Build upon the producer-consumer paradigm to create associations between processes/jobs, but also involves resource allocation on top of external schedulers (grid workload managers and local queues) The current execution environment is gLite. The interaction with the infrastructure can be easily mapped to other grid and cloud computing platforms

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Is This Another Pilot-job Infrastructure? Both start placeholder jobs asynchronously and match them with the actual work Pilot infrastructures  Matching of job with the data describing the work to be done  If there is no work, the job exits immediately  The pilot-infrastructure only influences the job upon selection of work item from the repository Our approach  Matching is not done with the data from the work repository, but by establishing association with a live client interacting with the job  A job without a matching client can wait for some time in the pool of ready jobs  The communication between the client and worker can be intercepted (for logging, filtering, or altering by the mediator)

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Users’ Perspective of Applications and Processing Infrastructure Communication between clients and workers is the key feature  Required communication amount and timing should be suitable for TCP/IP network infrastructure Simple plug-in style programming model  Build interaction through a clean programming API, not through external descriptions (JDL) or scripting  Simple client, binder, and worker APIs and configurable client and worker code, and support for external (non-Java) worker programs  Support for direct (not through the binder) and application managed client-worker communication  Authorised users can easily install and manage individual applications on grid sites Security  User authentication via grid certificates (proxy, PKCS#12 bundles)  VOMS-based authorisation  Jobs are currently executed on behalf of Work Binder, not user - could apply glexec to change grid credentials of running jobs

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Applications Having readily available jobs is crucial for truly interactive applications  No warranties from infrastructure on job start latencies: hours, days! This pool also allows (almost) delay free  Dynamic (on demand) allocation of worker jobs  Iterative use of short jobs Several applications share the same pool of jobs – smaller overhead Master – Worker relationship allows creation of arbitrary dynamic hierarchies  Interactive applications  Dynamic workflows

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Establishing Dynamic Hierarchies

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Key Components Client – a program that requests and gets jobs, and then communicates with them. It may also be a job! Binder – a mediator providing a level of abstraction above the actual scheduler and job management infrastructure Worker – a placeholder job contacting the binder and, after being paired with the client, executes application code (class or separate program)

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Pool of Jobs Pre-emptive submission prevents start delays Adapt to site responsiveness Prevent flooding of job queues Job lifetime management Monitor consumption rate and bulk load Maintaining the satisfactory number of jobs in the pool Adhering to site policies

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Job states within binder

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Pool Management Complex job submission and pool maintenance strategies are employed in order to  Minimise the number of idle jobs  Reduce the chance for a client to face the empty pool Operational modes  Idle (no clients) – only willing CEs ( Computing Elements ) provide the minimal reserve  Active (during actual usage) – reserve maintained by all CEs Job allocation strategies  Panic/full throttle – global: get jobs ASAP from the best responding sites  Regular – on per-site basis, distribute the load fairly among CEs (within limits of their commitment)

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Simple Producer-Consumer Problem? Rules  Clients randomly request and consume worker jobs  Some time is required to produce new jobs  Job creation time (job start latency) is significant and provider (CE) dependant, but not fully deterministic  The infrastructure and local policies of participating resource providers (CEs) impose some constrains  Minimise the number of idle jobs  Reduce the chance for a client to face the empty pool, and thus be blocked or rejected  Active worker cannot be reassigned to a new client until finished (allowing this would permit having a smaller pool or reassignment of jobs used by abortable applications!) The resulting problem is far from being trivial!

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Pool Size Calculation In idle mode fixed by per-site commitments In regular mode depends on the predefined minimum, number of active clients, client arrival rate Client arrival rate is regularly sampled Old values are being attenuated exponentially A similar approach is used to calculate per-site job submission delays Global and CE parameters  Current usage  Response time  Expiration of ready jobs  Expected arrival of submitted and reused jobs  Expected new load

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Communication Binder is a proxy between the client and worker Simple TCP-based protocol Client  Required maximum wall clock time  Preferred resource provider(s) (CEs)  Application  End-user credentials (for check or glExec)  Description of further communication (e.g. client address:port) Worker  Owning resource provider (CEs)  Job instance ID  Available time  Application ID  Could also offer an alternative access point Error descriptions and routing data are also communicated Application-dependant header may follow Further application dependant communication through the same channel or by establishing direct communication After assigned work is finished, the job reports back to the binder

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Providing non-computing services within the mediator Persistence: handling/caching of results Monitoring and logging/performance data Application-level access control … Orchestration of individual client sessions, e.g. for multi participant whiteboards …

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Client Can communicate with the worker through the initial socket to binder or request a direct connection ClientConnector  connect( )  get () Communication primitives  sendData(..)/receiveData()  sendString(..)/receiveString()  getSocket() Can connect to several workers

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Binder Maintains the pool of free workers by submitting new jobs whenever needed Enforces infrastructure and site usage policies Performs authentication and authorisation Matchmaking between clients and workers A generic handler simply relays traffic between the client and worker (as a proxy server) Can be extended with application-specific handlers mediating the communication Key operational data (jobs, CEs) persisted in a database Usage logging

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Application-Specific Binder Handler Can provide some non-computational services public interface BinderHandler public void run(BinderConnector binderConnector); Connector provides communication primitives and access to underlying sockets towards the client and worker If the traffic is observed, the handler can track requests and responses and provide some features useful in interactive visualisation applications  Monitoring, logging, performance tracking  Persistence: handling/caching of results  May respond instead of worker to persistence-related requests  Can record some worker responses and, if the same request is later repeated, provide the response from the cache instead of letting the worker to recalculate  Application-level access control

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Worker Performs the actual computation Ran within worker jobs Information about supported applications, location of their code and binder in configuration file Connects to the binder and waits for a client for some time Starts application code  External program – via ExternalExecutor or ExternalListener  Application handler public interface WorkerHandler public void run(WorkerConnector workerConnector); Further communication is performed directly or via binder, connector provides  Communication primitives and access to the socket with the client (via binder or directly), or  Client-provided data for establishing alternative connection After the work is completed, reconnects to the binder asking for more work within job time limits, or jobs of finished workers are reused

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Allocation of Jobs by Lizza-PAKP Application Application uses groups of jobs in series of runs The jobs are requested until a group of desired size is created with 10s delay between tries There is no delay when there are already enough jobs in the pool, as in the case with 2 jobs, and after first series invocations  The delay is only noticed during warming up from idle mode with insufficient initial number of jobs  Adapts well to increasing number of requested jobs (but limited by the number of free nodes in underlying grid infrastructure) Subsequent delays are negligible - this needs to be re-evaluated in a concurrent setting  Job recycling of the jobs by the pool has dramatic positive impact on job allocation speed

4th EGEE User Forum/OGF 25 and OGF Europe's 2nd International Event March /20 Status Currently being tested with two SEE-GRID applications Monitoring of infrastructure usage and performance done with Event Logger Service Latest: The initial implementation of MPI support with a worker handler using mpirun Considering adding client utilities for file transfer and allocation and management of several workers May be extended with data provenance and data staging for workflows Availability and documentation  LGPL 3  Wiki, Javadoc, two examples (Echo & Reverse Remote Shell)   SVN/Trac source code repository (certificate based access)   svn://svn.egee-see.org/svn/work-binder.see-grid-sci.eu Interested applications with their requirements are welcome!