Tag-Driven Scheduling for Function Resource Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In Function as a Service (FaaS) architectures, functions are often deployed without adequate optimization, leading to suboptimal resource allocation and slower execution times due to lack of information about the function's requirements, resulting in potential orders of magnitude slower performance compared to appropriate compute nodes.
Innovation Solution
Implement tag-driven scheduling, where function placement tags are used to match functions with the most appropriate infrastructure nodes based on resource requirements, affinity/anti-affinity preferences, and metadata, allowing for improved server selection and resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If functions are deployed without tag-driven scheduling, then deployment simplicity is maintained, but resource allocation optimization deteriorates
Solution Approach 1:
The system performs preliminary tagging of functions and compute nodes with metadata attributes before deployment. This preliminary action enables the scheduler to make informed decisions about resource allocation without complicating the deployment process itself, as tags are automatically extracted and processed in the background.
Solution Approach 2:
Tag-driven scheduling acts as an intermediary layer between function deployment and compute node selection. The scheduler extracts tags from functions and matches them with compute node attributes, mediating the resource allocation process to optimize performance while maintaining deployment simplicity for developers.
2Device complexity
If functions are deployed without tag-driven scheduling, then system complexity is reduced, but execution performance deteriorates
Solution Approach 1:
The scheduling system is segmented into independent components: tag extraction, tag matching, and compute node selection. This segmentation allows the system to maintain low complexity by only activating the full tag-driven workflow when needed, while still achieving high execution performance through optimized resource placement.
Solution Approach 2:
The system changes the parameter of resource allocation from random or round-robin to tag-based matching. By modifying the selection criterion rather than the overall system architecture, execution performance improves without significantly increasing system complexity.
3Loss of energy
If functions are deployed without tag-driven scheduling, then deployment cost is reduced, but resource utilization efficiency deteriorates
Solution Approach 1:
The scheduler uses feedback from tag matching results to make intelligent compute node selections. By analyzing function tags and comparing them with compute node attributes, the system receives feedback on the best match, enabling optimized resource utilization without incurring additional deployment costs.
Solution Approach 2:
The system performs self-service optimization by automatically extracting tags from function metadata and autonomously matching them with appropriate compute nodes. This self-service capability improves resource utilization efficiency without requiring additional manual intervention or increasing deployment costs.
Data Source
AI summary
An embodiment includes extracting, by a scheduler, function-tag data associated with a function identified by a deployment request. The embodiment also includes selecting, by the scheduler, a computing device within a server cluster to host the function based at least in part on a comparison of the function-tag data and host-tag data associated with the computing device. The embodiment also includes issuing, by the scheduler, an instruction to the computing device, wherein the issuing of the instruction causes an allocation of resources for hosting execution of the function.


