1 / 18

The CAVES Project C ollaborative A nalysis V ersioning E nvironment S ystem

The CAVES Project C ollaborative A nalysis V ersioning E nvironment S ystem. Dimitri Bourilkov , Mandar Kulkarni University of Florida CMS & GriPhyN ROOT 2004 Workshop, SLAC, USA February 27, 2004. Virtual Data.

imelda
Télécharger la présentation

The CAVES Project C ollaborative A nalysis V ersioning E nvironment S ystem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The CAVES ProjectCollaborative Analysis VersioningEnvironment System Dimitri Bourilkov, Mandar Kulkarni University of Florida CMS & GriPhyN ROOT 2004 Workshop, SLAC, USA February 27, 2004

  2. Virtual Data • Most scientific data are not simple “measurements”  produced from increasingly complex computations (e.g. reconstructions, calibrations, selections, simulations, fits etc.) • HEP (and other sciences) increasingly CPU/Data intensive: Programs and howto become a vital intellectual resource of the scientific community • Virtual data are data products with a well defined method of (re)production; “virtuality” with respect to existence  can define data products for future production or record the “history” of products that exist now or have existed in the past Log data provenance by tracking how new data is derived from transformations on other data We already do this, but manually! CAVES project

  3. Virtual Data Motivations • Data track-ability and result audit-ability: "Virtual Logbook” • In the nature of science • Reproducibility of results • Tools and data sharing and collaboration (data with “recipe”) • Individuals discover other scientists’ work and build from it • Different Teams can work in a modular, semi-autonomous fashion: reuse previous data/code/results or entire analysis chains • Repair and correction of data – c.f. “make” • Workflow management, Performance optimization: data staged-in from remote site OR re-created locally on demand? • Transparency with respect to location and existence CAVES project

  4. Data Equivalence • Delete/lose data: having a log is handy! • Is the “new” data product identical to the “old” ? • Identical bit-wise – OK • Not identical bit-wise ?! • Contain different info from the application viewpoint • Is “identical” enough for the application e.g. fit parameters within errors, histogram statistically equivalent to the original, consistent MC samples etc. • Each application: define “distance” measure and minimal distance for “sameness” CAVES project

  5. Data Analysis in HEP • Decentralized, “chaotic” • Flexible enough system: able to accommodate large user base, use cases that we can’t foresee in advance • Ability to build scripts/executables “on the fly”, including user supplied code / parameters (possibly linking with preinstalled libraries on the execution sites) • The environment & configuration are important when reproducing results CAVES project

  6. The Metaphor • A cave is a secure place to store stuff • Usually you need a key to enter • Stuff can be retrieved when needed (and if the temperature is kept constant, usually in good shape) • Small caves can be private, larger are usually owned by cooperatives • When a cave is full, a new one is build • To get something, one starts at the local cave and, if needed, widens the search … CAVES project

  7. CAVES Project • Concentrate on the interactions of scientists performing analyses over extended periods of time • Seamlessly log, exchange and reproduce results and the corresponding methods, algorithms and programs Automatic and complete logging and reuse of analysis sessions (between checkpoints) • Extend the power of users performing analyses in their habitual way, giving them virtual data capabilities • Build functioning analysis suites (stay close to users!) • First prototype uses popular tools: ROOT and CVS; all ROOT commands and CAVES commands available CAVES project

  8. Caves Architecture – Scalable and Distributed CAVES project

  9. CAVES Architecture • Three tier architecture: isolate client from back-end details; different implementations possible • Lightweight clients (use ROOT; C++; CVS API) • CVS pservers (remote stores) with read/write access control; possibly coordinated • Optional MySQL servers for metadata (fast search for large data volumes) CAVES project

  10. CAVES Architecture – CVS Server • Sandbox programming – work on per session basis • CVS provides version control by tagging releases • CVS tags act as unique IDs for virtual data products (the namespace can be structured by a collaborating group e.g. one big cave or many barrels in a cave, selected on a session basis) • Both local and remote modes of working • CVS pservers (secure, efficient remote stores): • Only CVS user accounts with password authentication, no UNIX accounts on the server (gridmapfile uses same idea) • read/write access control lists (per user & directory) CAVES project

  11. Case1: SimpleUser 1 : Does some analysis and produces a result with tag analX_user1.User 2: Browses all current tags in the repository and fetches the session stored with tag analX_user1. Case2: ComplexUser 1 : Does some analysis and produces a result with tag analX_user1. User 2: Browses all current tags in the repository and fetches the session stored with tag analX_user1.User 2: Does a modification in the program obtained from the session of user1 and stores the same along with a new result with tag analX_user2_mod_code.User 1: Browses the repository, finds that his program was modified and decides to extract that session using the tag analX_user2_mod_code.This scenario can be extended to include an arbitrary number of steps and users in a working group or groups in a collaboration. Possible scenarios CAVES project

  12. Annotations • Log annotations (& possibly summary results or metadata) in the repository /data equivalence!/ • Brief annotations – use cvs –m “Annotation” … • Optional complete annotations - possibly MySQL servers for metadata (fast search for large data volumes e.g. with indexing) • The users can browse (a subset of) the existing tags, inspect the annotations, and, if interested, reproduce the results (or just get the howto), modify them etc. CAVES project

  13. Distributed Data Analysis • Enable both local and remote modes of working • CAVES ROOT client on user machine; can run locally or submit jobs to an execution service e.g. PROOF • Local/remote datasets: now using ROOT-enabled APACHE server; xrootd ? • Logging of complete environment important (e.g. par files) • Local CVS or CVS pserver (kserver, ssh, GSI …) • Optional metadata service (e.g. MySQL; tested for ~ 10k annotations – very fast) CAVES project

  14. Session commands open <session> close <session> During analysis help <command> browse <tag> inspect <tag> <b|c> startlog log <tag> <annot> annotate <tag> extract <tag> Administrative tasks copy <tag> <from> <to> move <tag> <from> <to> delete <tag> <from> archive <tag> <to> retrieve <tag> <from> Implemented / To do Extensible Command Set CAVES project

  15. First CAVES Prototype ROOT/CVS prototype for logging and reusing analysis sessions demonstrated at SC2003 in Phoenix,Nov. 2003 CAVES project

  16. First Release 12/12/03 (v 0_2_1) CAVES project

  17. First Releases: Working Examples • The client code is easy to download and install (stored in CVS) – checkout and build • All you need to run the client is ROOT 3.05 or higher and CVS • Users can browse the virtual data catalog and reproduce the examples stored there • They can play with new analyses and store them locally or on our server, or install new servers for groups collaborating on a project CAVES project

  18. Outlook • Work in progress – first CAVES releases just out • We are looking forward to user feedback • Possible future directions: • Extend remote data access: e.g. xrootd … • Add GSI security e.g. CLARENS • PROOF (run in parallel) … A picture is better than 1000 words:Try out the release ! CAVES white paper arXiv: physics/0401007 More info at http://cern.ch/bourilkov/caves.html CAVES project

More Related