diff --git a/readme.md b/README.md similarity index 78% rename from readme.md rename to 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