Inefficiency-Based Task Scheduling for Distributed Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed systems, existing load balancing techniques face challenges in minimizing resource usage while maintaining efficient task completion times, particularly in non-cooperative environments where machines operate independently and communicate minimally.

Innovation Solution

Implementing an inefficiency-based task scheduling mechanism that schedules tasks on machines based on their relative inefficiency compared to other machines, combined with traditional scheduling algorithms to ensure convergence to Nash equilibria, thereby reducing the price of anarchy and optimizing resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If local scheduling policies are used to minimize communication overhead, then communication overhead is reduced, but task completion time increases

Engineering Contradiction:
Improvecommunication overheadVSAvoidtask completion time
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The system performs preliminary actions by having machines predeclare their scheduling policies and inefficiency metrics before task assignment. This allows the coordinator to make informed global optimizations without requiring continuous communication during execution, thus reducing communication overhead while maintaining efficient task completion through advance planning

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where machines report their inefficiency metrics and task completion status to a coordinator. The coordinator uses this feedback to dynamically reassign tasks and optimize the global schedule, balancing the reduction of communication overhead with the need to minimize task completion time through iterative improvements

Inventive Principle:
Principle #23Feedback

2Productivity

If independent agents schedule tasks selfishly to minimize their own completion time, then individual agent efficiency is improved, but overall system completion time increases

Engineering Contradiction:
Improveindividual agent efficiencyVSAvoidoverall system completion time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system changes the parameter space by introducing inefficiency metrics and using them as the basis for task assignment. Instead of directly optimizing for individual agent efficiency, the coordinator assigns tasks based on the product of inefficiency and completion time, which indirectly optimizes both individual and overall system performance by accounting for machine heterogeneity and current load

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The coordinator acts as an intermediary between independent agents, receiving their inefficiency metrics and task requests, then making global optimization decisions. This intermediary reconciles the selfish behavior of individual agents with the global objective of minimizing overall system completion time by strategically assigning tasks to appropriate machines

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8028293B2Optimal policies for load balancing for distributed and strategic agents (more technically, optimal coordination mechanisms for machine scheduling)
Publication Date: 2011.09.27 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8028293B2 patent drawing
  • US8028293B2 patent drawing
  • US8028293B2 patent drawing

AI summary

Providing for scheduling tasks in a distributed system based on an inefficiency of each task on a particular machine as compared with available networked machines is described herein. By way of example, a distribution component can receive a plurality of tasks at a machine assigned by at least one independent agent. In addition, an ordering component can schedule each task on a machine as a function of non-decreasing inefficiency. Such a policy can be implemented locally at the machine, minimizing inter-device communication, while only marginally increasing completion time for the set of tasks. In such a manner, the subject disclosure provides for load balancing of distributed systems in a manner that utilizes fewer resources than conventional approaches.