Share
Embed
Transcript
27 slides
-
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 -
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 -
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 -
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 -
Example of HLT hotspot l Hotspot was detected l Total
CPU consumption decreased by 5% [email protected] 20/05/2016 8 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
Web Frontend Only http requests from browser to REST server,
no backend behind [email protected] 20/05/2016 21 -
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 -
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