Resource Selection Services for a Single Job Execution Soonwook Hwang National Institute of Informatics/NAREGI OGSA F2F RSS Session Sunnyvale, CA, US Aug 15, 2005
Provisioning Deployment Configuration Information Services Service Container Data Container Accounting Services Execution Planning Services Candidate Set Generator (Work -Resource mapping) Job Manager Reservation RSS Services to be defined What are the services OGSA-RSS wants to define?
What are the OGSA-EMS Problems? According to the OGSA Architecture v1.0 documents –Finding execution candidate locations (CSG) What are the locations at which a job can execution? –Selecting execution location (EPS) Once where a job can execute is known, where should it actually run? –Preparing for execution (the focus of ACS and CDDLM-WG) Deployment and configuration of binaries and libraries, staging data –Initiating and managing the execution (the focus of BES- WG)
RSS Problems: Essential, but Challenging Defining the interfaces and protocols of the OGSA Resource Selection Services (RSS) is an integral part of the OGSA-EMS architecture, but seems to be very challenging –Interactions with many other OGSA EMS components Job Manger (JM), Information Service (IS), Service Container (SC), Reservation Service (RS), etc –Various job types Single, atomic job A set of jobs w/o dependency –e.g., embarrassingly-parallel applications A set of jobs w/ dependency –e.g., workflows
Let’s focus on a simple case to identify some interactions between RSS and other EMS Services Focusing on resource selection services for the execution of a single, atomic job –A single job that exactly fits into the JSDL v1.0 spec –Not considering complex jobs such as workflows and embarrassingly parallel applications JSDL v1.0 specification –Job identification requirements –Resource requirements –Data requirements
Resource Selection Scenarios 1.JM sends to EPS a JSDL document with a job ’ s resource requirements written in it 2.EPS hands off the JSDL document to CSG 3.CSG creates a candidate set of resources, returning it to EPS –CSG looks up the Information Service to find resources that match the job ’ s resource requirements 4.EPS selects the best one among the candidate resources –EPS perhaps uses some selection policy to select the best one 5.JM submit the JSDL document to the se
Interactions between RSS and other EMS Services EPS CSG Info Service Service Container Job Manager User submits job as abstract JSDL document along with selection policy CSG might interact with SC directly SC publishes information about resource attributes Concretized JSDL Concretized JSDL Candidate EPRs Candidate EPRs Concrete JSDL Concrete JSDL EPR to the SC EPR to the SC Abstract JSDL Abstract JSDL Selection Policy Selection Policy ① ② ③ ④ ⑤ ⑥ ⑦ Concrete JSDL Concrete JSDL Abstract JSDL Abstract JSDL
Abstract and Concrete JSDL Abstract JSDL –a JSDL document where some of elements necessary for initiating the execution of a job have yet to be filled E.g., a JSDL document with no hostname specified in it Concrete JSDL –a self-sufficient JSDL document for job execution
Job Manager (JM) Responsible for managing and controlling of jobs during their entire lifetime Submits jobs described in a JSDL document to a Service Container which the EPR returned from EPS points to –uses the protocol and interfaces defined in the OGSA BES specification
Information Service (IS) A placeholder to keep attributes metadata about resources Service Containers publish their resource attributes along with their own EPRs to IS –Static information Architecture, OS version, Hostname, etc –Dynamic information CPU load, Queue length, etc
Candidate Set Generator (CSG) Performs a simple, dumb matchmaking with the IS to identify a list of container services that have resource capabilities that meet the job ’ s resource requirements Concretizes the abstract input JSDL document using resource information retrieved from the IS –e.g., might fill in the “ CandidateHost ” element Passes EPRs to candidate hosts and the more concretized JSDL document back to EPS Discussion –Should CSG be dumb or intelligent? E.g., Should selection policy be reflected in CSG as well when CSG locating candidate resources?
Execution Planning Service (EPS) Select the best one among the candidate resources sent from CSG If needed (?), may want to interact with the IS to get additional resource information that could be used to more concretize the JSDL document returned from CSG Uses the selection policy which is given as input to select the best one Discussion –Is it a good idea to allow EPS to interact with IS as well? –What kinds of selection policies should be considered? –Where should selection policy be put, EPS, or CSG, or both?
Selection Policy Some user preference or priority to be allowed to put on each of resource requirements specified in the JSDL document – e.g., Condor ClassAD Some objective function –e.g., minimum execution time, lowest cost, reservation, etc Application-specific selection algorithm Discussion –Is working on the Condor ClassAD-like user preference mechanism within this OGSA-RSS-WG as an example of selection policy worth trouble to do?
Reservation Service (RS) Will probably reside on local resources, directly interacting with local schedulers (e.g., maui, PBSPro) to get and manage reservations on locally reservable resources Will probably provide a common interface –“ MakeReservation ” –“ CancelReservation ” Maybe some advanced service container could act as the RS by providing such a common reservation interface
Reservation as Selection Policy EPS CSG Info Service Service Container Job Manager User submits job as abstract JSDL document along with selection policy SC publishes information about resource attributes Concretized JSDL Concretized JSDL Candidate EPRs Candidate EPRs Abstract JSDL Abstract JSDL Selection Policy Selection Policy ① ② ③ ④ ⑤ ⑥ ⑦ RS Concrete JSDL Concrete JSDL EPR to the SC EPR to the SC (w/ Reservation) Make Reservation from 21:00 – 23:00 August 15, 2005 Concrete JSDL Concrete JSDL Abstract JSDL Abstract JSDL
EPS makes reservations EPS CSG Info Service Service Container Job Manager User submits job as abstract JSDL document along with selection policy SC publishes information about resource attributes Concretized JSDL Concretized JSDL Candidate EPRs Candidate EPRs Abstract JSDL Abstract JSDL Selection Policy Selection Policy ① ② ③ ④ ⑤ ⑥ ⑦ RS EPS makes reservation(s) Concrete JSDL Concrete JSDL EPR to the SC EPR to the SC (w/ Reservation) Make Reservation from 21:00 – 23:00 August 15, 2005 Concrete JSDL Concrete JSDL Abstract JSDL Abstract JSDL
CSG makes reservations EPS CSG Info Service Service Container Job Manager User submits job as abstract JSDL document along with selection policy Concretized JSDL Concretized JSDL Candidate EPRs Candidate EPRs Abstract JSDL Abstract JSDL Selection Policy Selection Policy ① ② ③ ④ ⑤ ⑥ ⑦ RS CSG makes reservations Concrete JSDL Concrete JSDL EPR to the SC EPR to the SC (w/ Reservation) Make Reservation from 21:00 – 23:00 August 15, 2005 Concrete JSDL Concrete JSDL Abstract JSDL Abstract JSDL Selection Policy Selection Policy EPS confirms reservation(s) Make Reservation from 21:00 – 23:00 August 15, 2005
Discussions on Reservation Service Which one should interact with the RS, EPS, or CSG, or perhaps JM? –How about some kind of a global RS that interacts with the local RS to make reservation on behalf of either ESP or CSG? How does the RS have an effect on the design of EPS and CSG?
Summery of Discussion Topics Should CSG perform a simple matchmaking or have some intelligence in locating available resources? Is it a good idea to allow EPS to interact with IS as well e.g., to have it concretize the input JSDL document? Is there any use case for this? What kinds of selection policy should be considered? Where should selection policy be put, only EPS, or CSG as well? Is working on the Condor ClassAD-like user preference mechanism as an example of selection policy worth trouble to do? Which one should interact with the local RS, EPS or CSG? Is it a good idea to regard Reservation as a selection policy? How about some global reservation service? Do we need it? How does it affect the interface design of EPS and CSG? In General, how the RS affect on the design of EPS and CSG? Any other important issues to discuss together?
Thank you
What is the Architecture EPS CSG Info Service Service Container Job ManagerReservation Service User submits job as JSDL document CSG gets potential atomic reservations from reservation service CSG retrieves service info (info model not important) Job Manager asks EPS where to run EPS asks CSG for candidate execution plans (concretized JSDL) EPS commits the reservation(s) to be used CSG might inspect service containers directly Service container publishes information about itself
JM makes reservations EPS CSG Info Service Service Container Job Manager User submits job as abstract JSDL document along with selection policy SC publishes information about resource attributes Abstract AbstractJSDL Concretized JSDL Concretized JSDL Candidate EPRs Candidate EPRs Concrete ConcreteJSDL Abstract JSDL Abstract JSDL Selection Policy Selection Policy ① ② ③ ④ ⑤ ⑦ RS JM makes reservations Concrete JSDL Concrete JSDL EPS to the SC EPS to the SC ⑥