Skip to content

Commit 26a2fbe

Browse files
committed
Initial commit request for the workloads document. Please review and comment.
1 parent 8f12e2f commit 26a2fbe

1 file changed

Lines changed: 127 additions & 0 deletions

File tree

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
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

Comments
 (0)