From fecb99779ba3d7fa333f55a7bdfbe616121d04cd Mon Sep 17 00:00:00 2001 From: Nicolas Pannetier Date: Sat, 14 Oct 2023 18:21:18 -0600 Subject: [PATCH 1/2] add sequence diagram --- readme.md => README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename readme.md => README.md (100%) diff --git a/readme.md b/README.md similarity index 100% rename from readme.md rename to README.md From 801896f014116b06dc8e0f6f66ff01f3b0a16438 Mon Sep 17 00:00:00 2001 From: Nicolas Pannetier Date: Sat, 14 Oct 2023 18:27:21 -0600 Subject: [PATCH 2/2] add sequence diagram --- README.md | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 62a9465..b4b63c9 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,38 @@ The HPC Client is a self-service solution that allows Flywheel jobs and gears to ## Architecture -![hpc-client-architecture 20210726](https://user-images.githubusercontent.com/75435671/127048966-af0582f7-10dc-451c-b955-4d5ab50eaf08.png) + + +```mermaid +sequenceDiagram + box Flywheel + actor User + participant Job queue + participant Assets + end + box HPC + participant Cast + participant Scheduler + participant Compute Node + end + + User->>Job queue: Submit job + Note over Cast: Cast wakes up on cron + Cast->>Job queue: Poll for HPC jobs + Job queue->>Cast: Return jobs + loop + Cast->> Scheduler: Submit job + Compute Node->>Scheduler: Poll task + Scheduler->>Compute Node: Return "fw engine" task + Note over Compute Node: Engine starts + Assets->>Compute Node: Pull Docker image and job inputs / config + Note over Compute Node: Gear execute with singularity runner + Compute Node->>Assets: Push job outputs + Compute Node->>Job queue: Mark job as complete + end + +``` + ## HPC types