|
| 1 | +# MONAI Deploy Workloads |
| 2 | + |
| 3 | +A number of workloads could be addressed by the MONAI deploy SDK and |
| 4 | +framework. This document outlines how we will categorize a |
| 5 | +workload. How to think about it from a deployment point-of-view. We |
| 6 | +will use these definitions to outline the requirements for deployment |
| 7 | +infrastructure. |
| 8 | + |
| 9 | +## Standard Language |
| 10 | +This document SHALL follow the |
| 11 | +guidance of rfc 2119 for terminology. |
| 12 | + |
| 13 | +## Definitions: |
| 14 | + |
| 15 | +- **Job:** when you request the computing resources to accomplish a specific |
| 16 | +task, that is called a “job”. |
| 17 | + |
| 18 | +- **Synchronous jobs:** this is a job that MUST run immediately. It MAY |
| 19 | +interact with humans or peripherals as needed. Asynchronous jobs: |
| 20 | +these are jobs SHALL be scheduled to be run when resources are |
| 21 | +available. |
| 22 | + |
| 23 | +- **Timeout:** asynchronous jobs MAY be submitted with a timeout specified |
| 24 | +such that they MUST be scheduled within the timeout or they will be |
| 25 | +marked as failed. This is another way of representing a required |
| 26 | +service-level-agreement (SLA) necessary for the workload. |
| 27 | + |
| 28 | +- **Throughput:** This is the measure of the number of jobs that can be |
| 29 | +processed by specified hardware/software configuration over a specific |
| 30 | +period of time. |
| 31 | + |
| 32 | +- **Deterministic service requirements:** this is where the |
| 33 | +containers and services required to complete the job are known before |
| 34 | +the job is scheduled. |
| 35 | + |
| 36 | +- **Cyclic service requirements:** this is where, to |
| 37 | +complete the job, the container or containers may be executed in a |
| 38 | +cycle or manner where they are re-entrant for the job. |
| 39 | + |
| 40 | +- **Non-deterministic service requirements:** this is where the containers |
| 41 | +and services required to complete the job are not known before the job |
| 42 | +is scheduled and are determined during the execution of the job. |
| 43 | + |
| 44 | +- **Latency:** is the measurement of time between the job being requested |
| 45 | +and initial results returned. |
| 46 | + |
| 47 | +## Workloads Considered |
| 48 | + |
| 49 | +### Trauma / Emergency Case |
| 50 | + |
| 51 | +Immediate diagnostics required for emergency care: immediate |
| 52 | +processing is required for a clinical diagnosis of the trauma. These |
| 53 | +workloads have the patient either awaiting further imaging or |
| 54 | +diagnostics. Seconds count for some emergency diagnostics situations |
| 55 | +(such as stroke). |
| 56 | + |
| 57 | +- Example: Evaluation of Brain Injury in MR/ The typical data size: is |
| 58 | +500 slices / series; 512 x 512 / slice; 16 bits / pixel, Today, the |
| 59 | +typical response time is less than 10 minutes. |
| 60 | + - This is a case where you have a workload that typically could be done |
| 61 | +asynchronously but now MUST be executed synchronously. |
| 62 | + |
| 63 | +### Scheduled Radiology Workflows |
| 64 | + |
| 65 | +These are often analyzed asynchronously: multiple images/studies are |
| 66 | +analyzed for scheduled clinical studies, research or pro-active |
| 67 | +diagnostics. Typically, in a clinical setting, the imaging has been |
| 68 | +scheduled and the patient will arrive at a predictable time so |
| 69 | +workload can be forecasted. |
| 70 | + |
| 71 | +- Example: Evaluation of Liver in CT; The typical Data Size: 1000 - 2000 |
| 72 | +slices in a series; 512 x 512 / slice; 16 bits / pixel. Today, the |
| 73 | +typical response time is greater than 30 minutes. |
| 74 | +- Example: Retrospective analysis over multiple and related data sets |
| 75 | +- Example: existing CT scans could be analyzed when new applications, |
| 76 | +algorithms, or models are available. This would repeat the previous |
| 77 | +example over many patients (100s to 1000s). |
| 78 | + - This is an example of an asynchronous job that may have a timeout |
| 79 | +measured in tens of minutes. |
| 80 | + |
| 81 | + |
| 82 | +### Quality Verification |
| 83 | +Help the radiology technician improve their results. |
| 84 | + |
| 85 | +- Example: Is it a good mammogram? The typical data size: 2048×2048 / |
| 86 | +image; 12 bits / pixel; the typical response time today is < 2 minutes |
| 87 | + |
| 88 | +- Example: Metadata Quality Assurance : validating the usability of an |
| 89 | +image or data. Does the metadata associated with an image match the |
| 90 | +image? For instance, is this a left or right femur? The label states |
| 91 | +one direction but the image suggests another. |
| 92 | + |
| 93 | +- Example: does the scan need to be repeated? Did the patient move while |
| 94 | +the scan was being made? |
| 95 | + |
| 96 | +### Image Enhancement: |
| 97 | +Using computation and AI techniques, clarify the image for human and machine analysis. |
| 98 | + |
| 99 | +### Medical Text Analysis: |
| 100 | + |
| 101 | +Natural language recognition used with medical notes producing coding |
| 102 | +and diagnostic assistance. For instance, validate that the medical |
| 103 | +regime is both safe and effective for this patient given known medical |
| 104 | +history. |
| 105 | + |
| 106 | +### AI Assisted Labeling (MONAI Label): |
| 107 | +AI assisted labeling is part of the training workflow. MONAI labeling |
| 108 | +assists a human trainer by suggesting areas to be labeled by |
| 109 | +inference. As training progresses, models may be updated for the |
| 110 | +inference engine. |
| 111 | + |
| 112 | +### Speech Based Medical Coding: |
| 113 | +Using natural language recognition, transcribe and code the clinical notes. |
| 114 | + |
| 115 | +## Workloads Out of Scope |
| 116 | +For the purpose of this document, the following workloads are out of scope: |
| 117 | + |
| 118 | +- Genomic Sequence Analysis : |
| 119 | +- Drug Discovery : |
| 120 | +- Training : |
| 121 | +- MONAI Stream : MONAI stream applications. Inference workloads that |
| 122 | + are being run over live streams of images. An example application |
| 123 | + would be ultrasound guided medical operations in a clinical |
| 124 | + setting. This is a highly latency sensitive workload with immediate, |
| 125 | + synchronous response expected. We expect that the analysis will need |
| 126 | + to take less than 100ms in order to be useful. |
| 127 | + |
0 commit comments