WLCG Transfers Dashboard A unified monitoring tool for heterogeneous data transfers. Alexandre Beche
Outlines Mission History of the data transfers monitoring tools Generic monitoring workflow New WLCG Transfers Dashboard Summary 18 December 2013 Alexandre Beche – White Area 2
Mission 3 ATLAS FTS + XRootD ATLAS FTS + XRootD CMS FTS + XRootD CMS FTS + XRootD LHCb FTS LHCb FTS ALICE XRootD ALICE XRootD 18 December 2013 Alexandre Beche – White Area
4 ATLAS FTS + XRootD ATLAS FTS + XRootD CMS FTS + XRootD CMS FTS + XRootD LHCb FTS LHCb FTS ALICE XRootD ALICE XRootD Mission 18 December 2013 Alexandre Beche – White Area
5 ATLAS FTS + XRootD ATLAS FTS + XRootD CMS FTS + XRootD CMS FTS + XRootD LHCb FTS LHCb FTS ALICE XRootD ALICE XRootD Mission 18 December 2013 Alexandre Beche – White Area
History of data transfers monitoring tools 6 WEB API / UI WEB API / UI WLCG FTS WLCG Transfers Dashboard 18 December 2013 Alexandre Beche – White Area
History of data transfers monitoring tools 7 WEB API / UI WEB API / UI WLCG FAXAAAFTS WLCG Transfers Dashboard XRootD integration 18 December 2013 Alexandre Beche – White Area
History of data transfers monitoring tools 8 WEB API / UI WEB API / UI WEB API/UI WEB API/UI WEB API/UI WEB API/UI WLCG FAX AAA FAXAAAFTS WLCG Transfers Dashboard XRootD integration XRootD Detailled Dashboard 18 December 2013 Alexandre Beche – White Area
History of data transfers monitoring tools 9 WEB API / UI WEB API / UI WEB API/UI WEB API/UI WEB API/UI WEB API/UI WLCG FAX AAA FAXEOSAAAEOSFTS WLCG Transfers Dashboard XRootD integration XRootD Detailled Dashboard EOS integration 18 December 2013 Alexandre Beche – White Area
History of data transfers monitoring tools 10 WEB API / UI WEB API / UI WEB API/UI WEB API/UI WEB API/UI WEB API/UI WLCG FAX AAA FAXEOSAAAEOSFTS ALICE WLCG Transfers Dashboard XRootD integration XRootD Detailled Dashboard EOS integration ALICE integration 18 December 2013 Alexandre Beche – White Area
Generic monitoring workflow 11 AMQ Raw & Statistics Raw & Statistics Consumer WEB API WEB UI 18 December 2013 Alexandre Beche – White Area
From ActiveMQ to Oracle 12 Load balanced collector Horizontal scaling Consumer AMQ DB Consumer 18 December 2013 Alexandre Beche – White Area
From ActiveMQ to Oracle 13 Load balanced collector Horizontal scaling Consumer AMQ DB Stompclt* * Developed by the CERN messaging team 18 December 2013 Alexandre Beche – White Area
From ActiveMQ to Oracle 14 Load balanced collector Horizontal scaling Consumer AMQ DB Stompclt* Disk queue* * Developed by the CERN messaging team 18 December 2013 Alexandre Beche – White Area
From ActiveMQ to Oracle 15 Load balanced collector Horizontal scaling Consumer AMQ DB Stompclt* Disk queue* DB inserter Customizable inserter Data enhancement Filtering * Developed by the CERN messaging team 18 December 2013 Alexandre Beche – White Area
From ActiveMQ to Oracle 16 Modular architecture Common building blocks (EPEL) Reliable Load balanced collector Horizontal scaling Consumer AMQ Simplevisor* DB Stompclt* Disk queue* DB inserter Customizable inserter Data enhancement Filtering * Developed by the CERN messaging team 18 December 2013 Alexandre Beche – White Area
Raw data aggregation Well optimized storage Partitioned table No global indexes (including the PK) December 2013 Alexandre Beche – White Area
Raw data aggregation Well optimized storage Partitioned table No global indexes (including the PK) Aggregation of unordered events Stateless: Full re-computation of touched bins each time Compute stats from raw data in 10 min bins Aggregate 10 min stats in daily bins December 2013 Alexandre Beche – White Area
Aggregation methods 19 2pm3pm4pm5pm6pm7pm Transfers 18 December 2013 Alexandre Beche – White Area
Aggregation methods 20 2pm3pm4pm5pm6pm7pm Transfers Easy method 18 December 2013 Alexandre Beche – White Area
Aggregation methods 21 2pm3pm4pm5pm6pm7pm Transfers Easy method Transfers10021 Bytes December 2013 Alexandre Beche – White Area
Aggregation methods 22 2pm3pm4pm5pm6pm7pm Transfers10021 Bytes Transfers1 (1) 1 (0) 2 (0) 3 (2) 1 (1) Bytes8114 (9+6) 15 (1+9+5) 5 Easy method Transfers 18 December 2013 Alexandre Beche – White Area
Aggregation methods 23 2pm3pm4pm5pm6pm7pm Transfers10021 Bytes Transfers1 (1) 1 (0) 2 (0) 3 (2) 1 (1) Bytes8114 (9+6) 15 (1+9+5) 5 Easy method Transfers Adopted method Both method equivalent if: Small transfers or many transfers 18 December 2013 Alexandre Beche – White Area
24 Raw & Statistics Raw & Statistics DAO A well defined web API Legacy dashboard framework: Use the MVC design pattern (based on Struts) Application specific Collection of SQL queries Generic 18 December 2013 Alexandre Beche – White Area
25 Raw & Statistics Raw & Statistics DAO Action A well defined web API Legacy dashboard framework: Use the MVC design pattern (based on Struts) Application specific Collection of SQL queries Generic 18 December 2013 Alexandre Beche – White Area Run a parameterized query, Return the results in a dict
26 Raw & Statistics Raw & Statistics DAO Action Views Json, xml, … Views Json, xml, … A well defined web API Legacy dashboard framework: Use the MVC design pattern (based on Struts) Application specific Collection of SQL queries Python dict to #format# converter Run a parameterized query, Return the results in a dict Generic 18 December 2013 Alexandre Beche – White Area
27 Raw & Statistics Raw & Statistics DAO Action Views Json, xml, … Views Json, xml, … Controller A well defined web API Legacy dashboard framework: Use the MVC design pattern (based on Struts) Application specific Collection of SQL queries Router of url+mime To action + view Python dict to #format# converter Run a parameterized query, Return the results in a dict Generic 18 December 2013 Alexandre Beche – White Area
28 Raw & Statistics Raw & Statistics DAO Action Views Json, xml, … Views Json, xml, … Controller Configuration A well defined web API Legacy dashboard framework: Use the MVC design pattern (based on Struts) Application specific Collection of SQL queries Router of url+mime To action + view Python dict to #format# converter List of actions Run a parameterized query, Return the results in a dict Generic 18 December 2013 Alexandre Beche – White Area
29 Raw & Statistics Raw & Statistics DAO Action Views Json, xml, … Views Json, xml, … Controller Configuration A well defined web API Legacy dashboard framework: Use the MVC design pattern (based on Struts) Application specific Collection of SQL queries Router of url+mime To action + view Python dict to #format# converter List of actions Run a parameterized query, Return the results in a dict Generic 18 December 2013 Alexandre Beche – White Area Django under investigation
Visualization layer Dashboard UI Rich web single-page user interface AJAX+JSON communication December 2013 Alexandre Beche – White Area
Visualization layer Dashboard UI Rich web single-page user interface AJAX+JSON communication jQuery + popular plugin technology cocktail December 2013 Alexandre Beche – White Area
xbrowse Visualization layer Dashboard UI Rich web single-page user interface AJAX+JSON communication jQuery + popular plugin technology cocktail Modular code reuse with xbrowse framework Lightweight in-house URL-driven MVC (<300 LOC) Views shared with several other applications Common look and feel December 2013 Alexandre Beche – White Area
History of data transfers monitoring tools 33 WEB API / UI WEB API / UI WEB API/UI WEB API/UI WEB API/UI WEB API/UI WLCG FAX AAA FAXEOSAAAEOSFTS ALICE WLCG Transfers Dashboard XRootD integration XRootD Detailled Dashboard EOS integration ALICE integration 18 December 2013 Alexandre Beche – White Area
WLCG Transfers Dashboard federated approach 34 WEB API / UI WEB API / UI WEB API/UI WEB API/UI WEB API/UI WEB API/UI FTS FAX AAA FAXEOSAAAEOSFTS ALICE WEB API WEB API ALICE No duplication anymore EOS could be included 18 December 2013 Alexandre Beche – White Area
WLCG Transfers Dashboard federated approach 35 WEB API / UI WEB API / UI WEB API/UI WEB API/UI WEB API/UI WEB API/UI FTS FAX AAA FAXEOSAAAEOSFTS ALICE WEB API WEB API ALICE WLCG Transfers Dashboard API / UI WLCG Transfers Dashboard API / UI No duplication anymore EOS could be included 18 December 2013 Alexandre Beche – White Area
Some plots 27 May 2013 Alexandre Beche 36
New WLCG Transfers Dashboard Multi-threaded HTTP Call Thread pool Async request (std::future c++11) 37 Main thread Async call 1 Async call 2 Get results Aggregate Return 18 December 2013 Alexandre Beche – White Area
Not just a re-writing Possible re-think of UI 38 WEB API / UI WEB API / UI WEB API/UI WEB API/UI FTS FAX EOSFTS 18 December 2013 Alexandre Beche – White Area
Not just a re-writing Possible re-think of UI VO specific UI 39 WEB API / UI WEB API / UI WEB API/UI WEB API/UI FTS FAX EOSFTS WEB API WEB API WEB API WEB API FTS FAX EOSFTS ATLAS Monitoring UI ATLAS Monitoring UI 18 December 2013 Alexandre Beche – White Area
Summary More flexible architecture Database-less Based on common building blocks UI code fully re-used 40 Thanks for your attention 18 December 2013 Alexandre Beche – White Area
Useful links AAA Dashboard FAX Dashboard: FTS Dashboard: WLG Transfers Dashboard: Xbrowse framework: November 2013 Alexandre Beche - ITTF