Tag-Driven Scheduling for Function Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Ease of manufacture

If functions are deployed without tag-driven scheduling, then deployment simplicity is maintained, but resource allocation optimization deteriorates

Engineering Contradiction:
Improvedeployment simplicityVSAvoidresource allocation optimization
Core Design Contradiction:
Ease of manufactureVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If functions are deployed without tag-driven scheduling, then system complexity is reduced, but execution performance deteriorates

Engineering Contradiction:
Improvesystem complexityVSAvoidexecution performance
Core Design Contradiction:
Device complexityVSSpeed

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #35Parameter changes

3Loss of energy

If functions are deployed without tag-driven scheduling, then deployment cost is reduced, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improvedeployment costVSAvoidresource utilization efficiency
Core Design Contradiction:
Loss of energyVSProductivity

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11948010B2Tag-driven scheduling of computing resources for function execution
Publication Date: 2024.04.02 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11948010B2 patent drawing
  • US11948010B2 patent drawing
  • US11948010B2 patent drawing

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.