Upgrade to Pro — share decks privately, control downloads, hide ads and more …

About v2

Sasha Mazurov
May 20, 2016
61

About v2

Sasha Mazurov

May 20, 2016
Tweet

Transcript

  1. Education M.Sc in Mathematics & Computer Science Lomonosov'sMoscow State University

    (Russia), 1997-2002 Ph.D in Physics University of Ferrara (Italy), 2011-2014 (March) [email protected] 20/05/2016 2
  2. 2005-2007: Summer student, INTAS-CERN fellowship l “Gaudi” (core event processing

    framework at LHCb and ATLAS experiments) Parsers (based on Boost.Spirit v1.x library) l Used for configure complex C++ objects from python 2007-2010: Project Associator at the Online group l LHCb User management interface. User migration to Active Directory l Setup and configuration of Helpdesk System, TWiki, web services. l Run database web interface l http://lbrundb.cern.ch l CastorFS (FUSE file system). Poster at CHEP 2009, Prague l Poster l Source code: https://github.com/mazurov/castorfs) 2011-2014: Doctoral student l Gaudi Parsers v2.0 (based on Boost.Spirit v2.x library) l Gaudi Profiler Auditor. Talk at CHEP 2012, New-York l Thesis: Profiler & study of χ b production. [email protected] 20/05/2016 4
  3. Trigger CPU profiling l Most experiments require a trigger in

    order to record interesting events at a suitable rate. l l L0 Hardware Trigger 40 MHz -> 1 MHz. Search for high pt, mu, e, gamma, hadron candidates. l High Level Software Trigger Farm l HLT1: Add Impact parameter cuts l HLT2: Global event reconstruction l 100 man/years work that has only 20-30 ms to process an average event. l 29K CPUs or 1700 servers The trigger needs fast algorithms! [email protected] 20/05/2016 5
  4. CPU profiler tool is vital for trigger optimization l Gaudi

    Intel Profiler Auditor (C++ library) l Deployed into the core software framework —Gaudi. l Based on Intel VTuneAmplifier XE User API. Reports grouping: l Static code properties: name of method or class l Dynamic code properties: property values (value of algorithm's “Name” property) [email protected] 20/05/2016 6
  5. Example of HLT hotspot l Hotspot was detected l Total

    CPU consumption decreased by 5% [email protected] 20/05/2016 8
  6. CHEP2012: Talk and Paper A. Mazurov and B. Couturier, “Advanced

    modular software performance monitoring”, Journal of Physics: Conference Series 396 (2012), no. 5 052054. Source code: https://github.com/mazurov/IntelProfiler [email protected] 20/05/2016 9
  7. bb system, which can be produced in different spin configurations,

    is ideal laboratory for QCD tests. It's like a hydrogen atom in QCD. χb production study Mass (Gev/c 2 ) States with parallel quark spins (S=1): • S-wave ϒ state • P-wave χ b states, composed by 3 spin states χ b0,1,2 . Can be readily produced in the radiactive decays of ϒ l χ b (3P) state recently observed by ATLAS, D0 and LHCb. Results: l Measurement for ϒ(NS) (N=1, 2, 3) cross sections in χb decays as a function of pT(ϒ) l Measurement of χb (3P) mass. http://amazurov.web.cern.ch/amazurov/mazurov-thesis-2.11.pdf https://github.com/mazurov/thesis-code [email protected] 20/05/2016 10
  8. Gaudi String Parsers l Flexible with respect to a addition

    of new types l Readable and robust source code l Based on Boost.Spirit v2, that is modern version with guaranteed long-term support [email protected] 20/05/2016 12
  9. 2014 – now: LHCb and ATLAS experiments Software Engineer at

    the University of Birmingham (UK) ATLAS: • Responsible for the offline software in Level 1 Calorimeter (ATLAS sub-detector) • Contributions: https://svnweb.cern.ch/trac/atlasoff/search?q=amazurov • C++ and python LHCb: • Rewrite regression testing framework (LHCbPR2) • Python (Django, django-restframework) • MySQL database • Docker containers for testing and deployment • Single-page JavaScript application (AngularJS) [email protected] 20/05/2016 14
  10. LHCbPR2: Web Services • Web Frontend • https://github.com/LHCbDev/lhcbpr2fe • https://hub.docker.com/r/mazurov/lhcbpr2fe

    • API service: • https://github.com/LHCbDev/lhcbpr2be • https://hub.docker.com/r/mazurov/lhcbpr2be • ROOT service: • https://github.com/LHCbDev/lhcbpr2root • https://hub.docker.com/r/mazurov/lhcbpr2root • Apache proxy server and security control: • https://github.com/LHCbDev/lhcbpr2all • https://hub.docker.com/r/mazurov/lhcbpr2all [email protected] 20/05/2016 17
  11. REST API features • We can use it for all

    CRUD operations (create, read, update, delete) • Can output arbitrary JSON (examples later) • Authentication plugins: e.g. shibboleth for web and tokens for console applications • Output pagination, throttling and requests’ cache allow to avoid service overloading. [email protected] 20/05/2016 19
  12. Examples • Jobs list - /jobs • Job details -

    /jobs/1 • We can expand any object’s relationships. • Nested requests- /jobs/1/results/ • Output job attributes’ values • Output filtering -/compare/?ids=1,2&contains=Event • Show and group attributes of jobs with id 32 and 32. Attribute name should contain “Event” string [email protected] 20/05/2016 20
  13. Reusable Web Components = <div search-jobs="search-jobs" on-found="onJobsFound(searchParams)”> </div> onJobsFound –client’s

    custom callback function that get search form results: ids of application, options, Versions New one <jsroot> -Draw JSROOT plots (next slides) More components in development [email protected] 20/05/2016 22
  14. JSROOT service • Root service. Returns objects from ROOT files

    in JSON format: • /root/?files=FTFP_BERT_kaon%2B_Be.root,FTFP_BERT_proton_Si.root&items=Tot al,Inelastic,Elastic [email protected] 20/05/2016 23