Cloud computing is a versatile platform for analytics workflows in sensorized environments. Serverless cloud computing workflows provide a fine-grained solution in terms of pay-as-you-go, which is an innovative modality for variable-workload, often short-lived, IoST scenarios. However, out-of-the-box serverless workflows will not work well with stateful and latency-sensitive IoST workloads. Given the need for quick decisions for many automation scenarios such as for self-driving cars, tractors, or roving bots, probabilistic guarantees for end-to-end serverless workflows is critical for adoption of serverless computing for IoT and computer vision applications. To improve the end-to-end latency of serverless applications, applications will be composed as DAG workflows where each node corresponds to serverless functions and edges represent data flow between these functions, called lambdas. We are working on several innovations to improve the data flow between serverless functions, such as the modality of intermediate data passing, based on: the size of the intermediate data, the latency service level objectives (SLO) specified by the client, and the $ cost that is specified as the bound. We will also be packaging the functions, whether in-series or in-parallel functions (fanout of highly parallel functions), in merged VMs or containers to improve data locality and to decrease the infrastructure-mediated changes in latency. All of this needs to be done for different kinds of applications, relevant to IoT, such as for simple time-series forecasting or for computer vision applications, both of which form the brickwork of a variety of CPS applications and need guarantees in terms of performance, whether throughput or latency, normalized by $ cost. Thus, changes in the packaging of these functions needs to be done in a workload-aware and SLO-aware manner. We will design interactive frontends for these applications for user interaction. Finally, we will make our solution work with different serverless cloud vendors, such as with AWS, GCP (Google Cloud Platform), and Microsoft Azure IoT. In addition, we will be working on the applicability of serverless on the edge as edge use cases abound in the realm of latency-sensitive tasks.
We will be developing newer computer vision backends for lightweight video object detection and 3D object detection algorithms relevant for computer vision and automation. These backends will be rendered at the frontend by adaptive rendering algorithms that run in parallel to decrease the number of frontend stalls. Further, we are creating a toolkit of adaptive knobs that can be used to tune these computer vision algorithms at runtime to rightsize the computer vision algorithms. This will map the algorithms to the limited compute and memory resources in IoT devices that are deployed in farms to sense and actuate or in other low-latency scenarios such as in self-driving cars or tractors or drones. These are knobs that can be exposed in a wide variety of computer vision kernels such as in single-stage or two-stage object detectors, of which the most popular ones are YOLO (single-stage) or FR-CNN (two-stage). In addition, we will be leveraging the redundancy of video frames in video object detection to select the salient frames that contain information higher than a threshold, the latter itself being a tuning knob.