Pre-fetching UDF Data in Serverless Worker Nodes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Serverless computing environments face significant latency issues due to the need to move data from storage nodes to worker nodes for execution, as the requisite data often does not reside on the same node as the worker node executing the User Defined Functions (UDFs), leading to inefficient task provisioning.
Innovation Solution
Implementing a data provisioning method where the master node analyzes data requirements and resource availability to pre-fetch necessary data onto eligible worker nodes before task assignment, reducing the need for data retrieval during execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is moved from storage nodes to worker nodes for UDF execution, then task execution can proceed, but execution latency increases significantly
Solution Approach 1:
The system performs preliminary data provisioning by pre-fetching required data from storage nodes to worker nodes before UDF execution is scheduled. The master node analyzes upcoming UDF tasks, determines their data requirements, and triggers data transfer operations in advance, so that when a worker node is assigned a task, the required data is already available locally, eliminating execution latency.
2Loss of time
If data is pre-fetched onto worker nodes before task assignment, then execution latency is reduced, but system complexity increases
Solution Approach 1:
The master node implements a feedback mechanism by monitoring worker node status, task queue conditions, and data storage locations. It continuously analyzes this feedback information to dynamically determine which data should be pre-fetched to which worker nodes, optimizing the data provisioning process without requiring complex manual configuration or centralized data management infrastructure.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method is provided. The method comprises receiving a user defined function, UDF; analyzing the UDF for characterizing information regarding provisioning required in order to enable execution of the UDF, the characterizing information including at least a location of data needed by the UDF; determining, based on the characterizing information, a plurality of eligible worker nodes capable of executing the UDF; generating and transmitting a pre-fetch command to one or more of the eligible worker nodes, the pre-fetch command generated such that the one or more of the eligible worker nodes each retrieve and store a pre-fetched UDF data before the UDF has been assigned for execution; and assigning the UDF to the one or more of the eligible worker nodes for execution.