Task Scheduling with Cost Ranking and Success Probability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed computing environments, particularly in volunteer computing, maintaining service level agreements (SLAs) for task execution is challenging due to the unpredictable availability of computational resources and the need to halt processing when resources are required for other tasks, leading to hampered processing of applications and projects.
Innovation Solution
A method and system for scheduling tasks with sub-tasks on multiple computing devices, where processors identify available devices based on resource availability, rank them by monetary and network costs, and allocate sub-tasks based on cost rankings and acceptable success probabilities aligned with SLA parameters, ensuring efficient resource utilization and meeting SLA requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If computational resources are allocated to execute tasks in volunteer computing environments, then task processing capability is improved, but resource availability becomes unpredictable and processing may be halted when resources are needed for other tasks
Solution Approach 1:
The system performs preliminary actions by identifying and reserving computational resources before task execution begins. The marketplace server proactively secures volunteer computing devices and their resources in advance, creating a buffer that ensures resource availability when tasks need to be executed, thereby preventing halts and maintaining SLA compliance.
Solution Approach 2:
The system implements dynamic resource allocation and scheduling mechanisms that adapt to changing resource availability in volunteer computing environments. The marketplace server continuously monitors and adjusts task scheduling based on real-time resource status, enabling flexible allocation that maintains both productivity and reliability despite unpredictable resource conditions.
2Loss of energy
If tasks are executed on volunteer computing devices with shared resources, then infrastructure cost is reduced, but processing may be hampered when resources are needed for other applications
Solution Approach 1:
The marketplace server performs preliminary resource identification and reservation, securing volunteer computing devices and their computational resources before task execution. This advance preparation ensures that even though resources are shared and infrastructure costs are reduced, task processing continuity is maintained by having resources ready in advance.
Solution Approach 2:
The marketplace server acts as an intermediary between task requesters and volunteer computing devices. It manages the shared resource environment by coordinating task allocation, monitoring resource availability, and mediating conflicts when resources are needed for multiple purposes, thereby maintaining processing continuity despite cost-effective shared infrastructure.
3Reliability
If computational resources are reserved in advance for task execution, then service level agreement compliance is improved, but resource availability flexibility is reduced
Solution Approach 1:
The system employs dynamic scheduling that balances advance reservation with real-time adaptability. The marketplace server maintains SLA compliance through preliminary resource identification while continuously adjusting task allocation based on current resource availability, allowing the system to adapt to changing conditions without violating service level agreements.
Solution Approach 2:
The system performs partial preliminary action by identifying and reserving resources in advance to the extent needed for SLA compliance, rather than over-reserving. This approach ensures reliability requirements are met while leaving excess resources available for flexible allocation to other tasks, maintaining both compliance and adaptability.
Data Source
AI summary
Disclosed are the methods for scheduling a task including at least one sub-task, on one or more computing devices in a distributed computing environment. A set of computing devices are identified from the one or more computing devices, based on an availability of a set of computational resources on the set of computing devices. Each computing device in the set of computing devices is ranked based on at least one of a monetary cost or a network cost, associated with the execution of the at least one sub-task on the each computing device. The at least one sub-task is allocated to at least one computing device from the set of computing devices for execution based on at least one of the ranking or an acceptable success probability associated with the execution of the at least one sub-task.


