Cloud Job Scheduler Resource Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional job schedulers in cloud computing environments are inefficient in allocating computing resources, leading to high operational and cost inefficiencies due to the time and cost required to acquire new resources exceeding the time needed to allocate job requests to already-executing resources.
Innovation Solution
The proposed solution involves determining an estimated time to allocate job requests to already-executing cloud computing resources and comparing it to a latency threshold; if the estimate does not exceed the threshold, job requests are allocated to these resources, otherwise, additional resources are instantiated to avoid delays and reduce costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If additional cloud computing resources are acquired and instantiated to service job requests, then the job requests can be serviced, but the time and operational cost (power consumption, cooling, leasing) required to acquire and execute new resources exceeds the time required to reuse already-allocated resources
Solution Approach 1:
The system performs preliminary actions by maintaining a pool of pre-instantiated cloud computing resources that are ready for immediate allocation. Instead of acquiring resources on-demand, the system pre-provisions resources and keeps them in a ready state, so when job requests arrive, allocation can occur immediately without the time penalty of instantiation. This resolves the contradiction by eliminating the latency to start time while maintaining productivity.
Solution Approach 2:
The system changes the operational parameter of cloud computing resources from a static state to a dynamic state, allowing resources to transition between different operational modes. Resources can be allocated to job requests, placed in a suspended state when not immediately needed, and later reactivated. This parameter change enables the system to reduce power consumption and operational costs while maintaining the capability to service job requests promptly, thus resolving both the productivity and time loss contradictions.
2Productivity
If additional cloud computing resources are acquired and instantiated to service job requests, then the job requests can be serviced, but the operational cost (power consumption, equipment cooling, equipment leasing) is much higher than reusing already-allocated resources
Solution Approach 1:
The system implements a resource recovery mechanism where cloud computing resources that have completed their job requests are not immediately discarded or shut down. Instead, they are kept in a suspended or idle state where they consume minimal power but remain ready for rapid reactivation. When new job requests arrive, these recovered resources are quickly reallocated, avoiding the need to acquire and instantiate new resources. This resolves the contradiction by significantly reducing power consumption and operational costs while maintaining productivity.
3Productivity
If conventional job schedulers allocate computing resources based on the quantity of job requests, then all job requests can be serviced, but the system becomes inefficient when the time to acquire new resources exceeds the time to allocate to existing resources
Solution Approach 1:
The system introduces dynamic resource allocation where the state of cloud computing resources is continuously adjusted based on workload conditions. Resources can be allocated, suspended, and reactivated dynamically rather than following a static allocation model. The job scheduler monitors the state of resources and the queue of job requests, making real-time decisions about resource allocation and suspension. This dynamic approach resolves the contradiction by enabling efficient resource utilization without requiring complex permanent allocation strategies for all possible workload scenarios.
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, that facilitate efficient allocation of computing resources of a cloud computing environment to job requests. Methods include receiving multiple job requests and sorting these job requests into one or more categories that include job requests with a same or similar set of job attributes. Methods include allocating a first number of computing resources of the compute farm to one or more job requests in each category. Methods include determining an allocation rate at which the first number of computing resources are allocated to the one or more job requests in each category. Methods include determining a remaining number of job requests in each category and allocating a second number of computing resources of the compute farm to the remaining number of job requests in each category based on the allocation rate.


