A VDP Pipeline consists of Source, Model and Destination, altogether defined in a recipe
. One pipeline defines one processing unit for a certain AI task.
It is an end-to-end workflow that automates a sequence of sub-components to process unstructured data.
Pipeline is the most important concept in VDP. Check the documentation for more details.
In the previous tutorials, we demonstrated how to use VDP by creating pipelines in SYNC
mode. However, To fulfil diverse application scenarios, VDP supports three different modes including SYNC
, ASYNC
, and PULL
.
The combination of selected source and destination determines the pipeline mode.
In the following of this tutorial, we will explain how these modes work and how to choose the most suitable mode for your pipeline.
#SYNC
mode
A pipeline in the SYNC
mode responds to a request synchronously. The result is returned to the user after model instances process the data. This mode is for real-time inference where low latency is of concern. The request flow when triggering a SYNC
pipeline is shown below:
The source and destination must be configured with the same protocol type to create a SYNC
pipeline. VDP supports HTTP and gRPC for a SYNC
pipeline.
SYNC
mode provides real-time data pipelines. This mode is suitable for coping with stream data to be processed in low latency.
#ASYNC
mode
A pipeline in the ASYNC
mode performs an asynchronous workload. The user triggers the pipeline with an asynchronous request and only receives an acknowledged response. Once model instances have processed the data, the results are sent to the destination.
To create an ASYNC
pipeline, the source can be either HTTP or gRPC, and the destination can be any VDP destination connectors.
This mode is for use cases that do not require the inference results immediately.
#PULL
mode (coming soon!)
A pipeline in the PULL
mode performs a scheduled workload to regularly pull data from the source to send to model instances for inference and write to the destination.
Compared to the ASYNC
mode, which requires users to trigger a pipeline via requests, a PULL
pipeline is automatically triggered based on the configured schedules.
It is, therefore, more suitable for running automated tasks as cron jobs according to computational resources and use cases.
#What's next?
Now that we understand different pipelines modes and their use cases, let's see how to create an ASYNC
pipeline in our following tutorial → [7/7] Create, trigger, and parse an ASYNC pipeline.
↓↓↓ VDP 101 - Get familiar with the basics ↓↓↓