diff --git a/.github/workflows/create.yml b/.github/workflows/create.yml index 2e7c79d..c4988dd 100644 --- a/.github/workflows/create.yml +++ b/.github/workflows/create.yml @@ -21,7 +21,7 @@ jobs: - name: Install dependencies and build run: | - npm install @iconify-json/clarity @iconify-json/devicon @slidev/cli @slidev/theme-default slidev-theme-hep slidev-theme-neversink + npm install @iconify-json/clarity @iconify-json/devicon @slidev/cli @slidev/theme-default slidev-theme-hep slidev-theme-neversink playwright-chromium npm run build -- --base /${{ github.event.repository.name }}/ npm list diff --git a/package.json b/package.json index 7013b49..7ba2baf 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "main": "index.js", "scripts": { - "build": "slidev build", + "build": "slidev build --download", "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { diff --git a/public/images/WebApp.png b/public/images/WebApp.png new file mode 100644 index 0000000..4a0f3f6 Binary files /dev/null and b/public/images/WebApp.png differ diff --git a/public/images/fcc.png b/public/images/fcc.png new file mode 100644 index 0000000..333ef35 Binary files /dev/null and b/public/images/fcc.png differ diff --git a/slides.md b/slides.md index eb8d46b..6ebb887 100644 --- a/slides.md +++ b/slides.md @@ -55,26 +55,57 @@ color: gray-light ---
- Juno - Belle2 - CTA - ILC - LHCb - nica - BES3 - gridPP - pierre-auger - EGI - cepc - na62 - t2k - weNMR - hyperk - euclid - lz + Juno + Belle2 + CTA + ILC + LHCb + nica + BES3 + gridPP + pierre-auger + EGI + cepc + na62 + t2k + weNMR + hyperk + euclid + lz + lz
+--- +layout: top-title +color: gray-light +align: l +title: history +--- + +:: title :: + +# DIRAC timeline + +:: content :: + +```mermaid +timeline + section LHCb software + around 2000 : MC production system: bash scripts running at production sites + 2002 : DIRAC2
Rewritten in Python, using xml-rpc, interfacing to EDG + Data Challenge 04 : First successful grid usage ever. + : First use of pilot jobs based WMS + 2006-2007 : DIRAC3
Full rewriting, development of the DISET protocol -- still in use today! + : the current DIRAC framework is still based on this work + section Open sourced, wider adoption + 2008 : Large-ish reshuffling to become multi-VO + : LHCbDIRAC extension separated from Vanilla DIRAC code + 2009 : CLIC community adopts DIRAC + 2011 : France-Grilles is the first multi-VO DIRAC installation + 2012 : Belle2, BES3, CTA adopt DIRAC + 2021 : Python3 full support +``` --- @@ -86,7 +117,7 @@ title: WMS :: title :: -# Workload Management System +# WMS: Workload Management System - Pull model based on Pilot jobs - Also "Push" solution for HPCs that do not support pilots (because of limited internet access). - Will integrate [CWL (Common Workflow Language)](https://www.commonwl.org) as a way of defining jobs (replacing JDL) @@ -126,15 +157,14 @@ titlewidth: is-5 :: title :: -# Data Management System +# DMS: Data Management System It’s about **files**:​ placing, replicating, removing files​ - there are **LFNs** (logical file names) → and users ONLY work with these​ - **LFNs** are registered in *catalog(s)​* - where are the LFNs? (in the DIRAC File Catalog (DFC), or in Rucio)​ - what are their metadata? (in the DFC, or in the LHCb Bookkeeping, or in AMGA)​ -- LFNs *may* have **PFNs**, stored in **SEs**.​ -- You can access those PFNs with several protocols.​ +- LFNs *may* have **PFNs**, stored in **SEs**, that can be accessed with several protocols.​ :: content :: @@ -166,12 +196,12 @@ title: Productions - A `production` is a *Data Processing transformation* (e.g. Simulation, Merge, DataReconstruction…). A Production creates jobs in the WMS (and re-sumbit them, and destroy them).​ -- (Unless you are using Rucio) a *Data Manipulation transformation* replicates, or remove, data from storage elements. +- (Unless you are using Rucio) a *Data Manipulation* `transformation` replicates, or remove, data from storage elements. :: content :: - The **Transformation System (TS)** is used to automate common tasks related to production activities + The Transformation System (TS) is used to automate common tasks related to production activities. It can handle thousands of productions, millions of files and jobs.   @@ -193,35 +223,34 @@ TransformationSystem((TransformationSystem)) ``` --- -layout: top-title +layout: top-title-two-cols +align: c-lm-lm color: gray-light -align: l -title: history +title: tech --- + :: title :: -# Brief history of DIRAC +# Tech stack -:: content :: +:: left :: + +- DIRAC is written in python3 + - with the exception of the DIRAC Pilot, which needs to still be able to run with Python2 +- Services are exposed at urls like `dips://box.some.where:9132/WorloadManagement/` + - `dips` stands for "DIRAC protocol" +- The DIRAC framework provides also "Agents" and "Executors" to animate the system +- As backends, MySQL and OpenSearch are supported (for different purposes) + +:: right :: + +DIRAC also provides a WebApp + + + +Implemented using `ExtJS`, and fully custom Python "bindings" -```mermaid -timeline - section LHCb software - around 2000 : MC production system: bash scripts running at production sites - 2002 : DIRAC2
Rewritten in Python, using xml-rpc, interfacing to EDG - Data Challenge 04 : First successful grid usage ever. - : First use of pilot jobs based WMS - 2006-2007 : DIRAC3
Full rewriting, development of the DISET protocol -- still in use today! - : the current DIRAC framework is still based on this work - section Open sourced, wider adoption - 2008 : Large-ish reshuffling to become multi-VO - : LHCbDIRAC extension separated from Vanilla DIRAC code - 2009 : CLIC community adopts DIRAC - 2011 : France-Grilles is the first multi-VO DIRAC installation - 2012 : Belle2, BES3, CTA adopt DIRAC - 2021 : Python3 full support -``` --- layout: side-title @@ -237,7 +266,7 @@ title: issues :: content :: -