A vaccination program shows how a pipeline/parallel hybrid architecture can provide lessons that apply to data processing as well.
Now that COVID-19 vaccines are available, administering them rapidly to hundreds of millions of people presents a tremendous logistical challenge. The vaccination program running in my hometown shows how a pipeline/parallel hybrid architecture can provide a high throughput as well as illustrating tradeoffs in resource allocation. The same lessons can apply to data processing, as well.
It must be an artifact of being an engineer, but I tend to think of activities in terms of algorithms, flowcharts, and processing architectures. So, when I volunteered to serve in my local drive-thru COVID-19 vaccination program I couldn’t help but view it in terms of the parallel and pipeline processing structures it employed. I found the hybrid approach developed by Clallam County Fire District 3 (CCFD3) was a fine illustration of architecting for maximum throughput subject to resource cost and availability constraints.
The general structure of the CCFD3 COVID Vaccination Processor appears in Figure 1. It consists of three processing stations connected in a pipeline. Each station’s activity requires a significant amount of time to complete. To ensure continual system throughput without stalling, then, parallel batch processing structures are in use at each station.
Clients in their cars drive up to the entry filter checkpoint and present their IDs to show that they are eligible to receive the vaccine as residents of the county. Eligible participants are then directed to the medical forms processing station (a parking lot), where workers give them clipboards containing health questionnaires and liability documents that will require several minutes to fill out. Participants enter one of six lanes to stop to fill out their forms. Lanes get populated and released in rotation to provide a continual flow of properly-documented participants into the FIFO buffer (a driveway) leading to the next station.
In parallel with the medical forms processing there is a secondary effort. The clipboards and pens clients use to fill out their forms require disinfection before being used again. This process operates essentially independently of the lane multiplexing, however, working to maintain a stockpile of available clipboards.
Several factors dictate how much parallelism can or should be implemented in the processing station. One factor is physical: how much real estate is available for implementing the structure? Another is processing resource cost: to distribute the clipboards containing the necessary forms and then collect them, as well as to disinfect them, what processing power (worker skill level) is required and how many such workers are available? A further factor to consider is how well the structure’s average throughput will match that of other stations. There is no point employing resources beyond what is needed to avoid stalling the pipeline.
The second stage is the vaccination station. Here, nurses collect the liability forms, advise the client what to expect from the vaccination, and perform the injection. They then prepare the vaccine for the next client. This process requires a little under a minute per person. Vehicles can contain as many as four individuals, although the average occupancy is less than two persons per vehicle.
As with the medical forms processing stage, parallelism helps ensure a continual process flow. In this case, however, the worker skill level (processing power) required is quite high, leading to higher resource cost and thus lower availability. This yields a tradeoff different from that of the forms processing station. For our program, six nurses were available. The resulting structure consisted of two lanes with three cars each, one nurse per car.
The third station provides medical monitoring. To guard against an adverse reaction to the vaccine (such as an allergic response), clients must wait for 15 minutes before being released. This monitoring consumes only minimal worker resources, however. Clients self-monitor and are instructed to summon aide by honking if they experience medical issues. Otherwise, they require no worker interaction beyond being released when their wait period has elapsed. The main factor affecting parallelism here is physical. There was room for only six lanes of waiting vehicles.
A filter prior to the second station provides exception handling. Clients with known risk for adverse reactions to the vaccine require at least 20 minutes of monitoring by medical personnel rather than the 15 minutes of self-monitoring in the main pipeline. To avoid stalling, exceptions are directed to a stand-alone processing station for vaccination and medical monitoring rather than through the main pipeline. Here, trained medical personnel provide the injection and monitor the client for at least 20 minutes. These same medical personnel are also available to respond to medical issues that might arise in the main pipeline’s monitoring station.
The final structure formulated for the CCFD3 COVID Vaccination Processor reflects both the physical space and the personnel available. Most stations were able to utilize volunteers like me who have been trained to safely support the fire department and vetted by law enforcement for security. The main throughput limitation was the availability of nurses for the injection station. Other stations were then sized within their individual space limitations to match the nursing throughput without imposing unnecessary demands on the volunteers by being over-large.
The tradeoffs faced in developing this vaccination program apply in data processing design, as well. When inexpensive processing is available, physical size is the main constraint to parallelism. Where expensive processing is needed, cost becomes the main factor. To avoid wasting resources or stalling the pipeline, the throughputs of each stage should match as well as possible.
Final note: the overall throughput achieved during the program’s first two weeks has been a vaccine given every 24 seconds. The only limit to the CCFD3 COVID Vaccination Processor architecture’s performance so far has been the amount of vaccine available.
This article was originally published on EDN.
Rich Quinnell is a retired engineer and writer, and former Editor-in-Chief at EDN.