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

About v2

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Sasha Mazurov Sasha Mazurov
May 20, 2016
70

About v2

Avatar for Sasha Mazurov

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