160 likes | 265 Views
AJDL: Analysis Job Description Language. PPDG Collaboration Meeting LBL. David Adams BNL December 15, 2003. Analysis AJDL Data object types Service functions Conclusions. Contents. Analysis service. Functionality User specifies application, task and dataset
E N D
AJDL: Analysis Job Description Language PPDG Collaboration Meeting LBL David Adams BNL December 15, 2003
Analysis AJDL Data object types Service functions Conclusions Contents AJDL PPDG All Hands – uJDL session
Analysis service • Functionality • User specifies application, task and dataset • Service processes and returns result • User examines result, modifies task or changes dataset and resubmits • User monitors job during processing • User has option to kill job • Common interface • Provides the above • Allows generic service to be shared • Robust, efficient analysis service is difficult AJDL PPDG All Hands – uJDL session
9. fill Job 1 Dataset 1 Dataset 2 Result 7. create Dataset 6. split 10. gather Analysis Svc 4. select e.g. ROOT User Analysis 1. Create or locate 5. submit(app,tsk,ds,cfg) e.g. athena Job 2 2. select 3. Create or select Result Application Task 9. fill Analysis service Result Code AJDL PPDG All Hands – uJDL session
AJDL as a bridge AJDL PPDG All Hands – uJDL session
AJDL • Analysis Job Description Language (AJDL) includes • Data object types • E.g. could be expressed in XML • Analysis service functions taking objects as arguments • E.g. SOAP messages • For now, we are more concerned with the content of these objects and messages • Rather than the format • However, need format for implementation • DIAL WSDL and DTD is close AJDL PPDG All Hands – uJDL session
Data object types • Application • Task • Dataset (and subtypes) • Configuration • Result (and subtypes?) • Job AJDL PPDG All Hands – uJDL session
Application • Purpose • Specify the application executable • Content • Name and version (of application SW package) • Analysis service usage • Locate script to build task • Locate script to process dataset and generate result • Package management service • Provides location of app package (name, version) • May install app package and dependencies • Exe is likely in separate package AJDL PPDG All Hands – uJDL session
Task • Purpose • Allow user to configure application • Content • Collection of named files • Embedded text or • Logical files • Files contain parameters and code • Analysis service usage • Use with script to build task • Stage files for building task AJDL PPDG All Hands – uJDL session
Dataset • Purpose • Specify and split data for processing • Content • Description used by application processing script • Dataset subtype • Event count and ID list • EventDataset • List of constituent datasets • CompoundDataset • Abstract dataset specification • VirtualDataset (no location) • QueryDataset AJDL PPDG All Hands – uJDL session
Dataset (cont) • Analysis service usage • Used with script to process data and generate result • Pass dataset to script • Split dataset to create sub-jobs • EventDataset to split along event boundaries • CompoundDataset provides guidance for splitting • Find concrete dataset for abstract specification • Use dataset selection service for QueryDataset • Use dataset replica service for VirtualDataset AJDL PPDG All Hands – uJDL session
Configuration • Purpose • Specify how to process dataset • Content • User identity and role • Response time • Desired • Maximum acceptable • Accounting • Account to charge • Budget AJDL PPDG All Hands – uJDL session
Result • Purpose • Communicate results to user • Content • Datasets • Named files • Embedded or logical • For arbitrary data • E.g. collection of histograms • Or use Result subtype? AJDL PPDG All Hands – uJDL session
Job • Purpose • Communicate job status and results to user • Content • Application, task, dataset and configuration • Result • Possibly partial • Status • Running, done, failed, … • Start, stop and update times AJDL PPDG All Hands – uJDL session
Service functions • Analysis service includes • bool has_application(Application) • bool has_task(Application, Task) • bool install_task(Application, Task) • JobId submit(Application, Task, Dataset, Config) • Job job(JobId) • bool kill(JobId) AJDL PPDG All Hands – uJDL session
Conclusions • Standard analysis service interface • Allow common service to be shared • First pass presented here • More information • AJDL document • DIAL JDL page AJDL PPDG All Hands – uJDL session