A Survey of Task Allocation and Load Balancing in Distributed System

Part 1. Overview on Distributed Systems

the general characteristics of real distributed system

  • lack of global control unit

    • reason:

      • large-scale

      • dynamic

      • hetergeneous

  • distribution and sharing of resources

    • resource :

      • data

      • processor

      • computational capacity

      • disk storage

    • resource management

      • placement

      • provision

      • discovery

      • negotiation

  • openness and unreliability of systems

  • heterogeneous nodes

    • node in different organization has different property

    • compete for critical resource

  • constraints of network structures

    • node communicate with

      • neighbouring nodes -- directly

      • non-neighbouring nodes -- be relayed by intermediate node

    • encounter the following situation

      • the tasks may be implemented by negotiation among nodes without a central control

      • the tasks are always implements by accessing required resources distributed in the networks

      • the tasks may be implemeted unreliably

      • the tasks performed by heterogenerous nodes may vary significantly and compete for critical resources

      • the performance of tasks may be influenced significantly by network structures

        • resource access performance

        • coordination performance

typical problems occur during the task allocation and load balancing

  • control models

    • totally centralized control model -- difficult to implement

      • large , dynamic , lack global control unit

    • totally decentralized control model

      • require relative high computational costs from nodes, which place heavy loads on large systems and make the task allocation processes difficult to control effectively

  • resource optimization

    • many models of task allocation and load balancing are implemented based on the optimization of accessibility of required resource

    • example : 2 situation

      • a node has plentiful resource, it has high resource accessbility

      • a node doesn't have plentiful resource, but it obtains enough resource from other node easily, it can also be allocated many tasks.

    • in a word, consider node's own resource and contextual resource

  • reliablitily

  • coordination among heterogenerous nodes

    • fact:hetergeneous nodes don't cooperate in making decisions while they execute tasks

    • questions:

        1. how to make noncooperative nodes coordinate

        1. how to incentivize nodes to contribute their resource

  • considering network structures

    • communication and interaction of nodes are constrained by the network structures

objectives of task allocation in existing studies

  • response time

    • 2 types

      • total response time

      • mean response time

  • makespan

    • time of reansfer tasks to different nodes

    • waiting time of tasks at node

    • time for accessing resource

    • time for communicating resource

    • time for processing

  • throughput

  • raliability

    • 2 types

      • node-related reliability

        • source

        • computation

      • path-related reliability

        • communication path

Part 2. Control Model in Task Allocation and Load Balancing

Centralized Control Model

  • central controller

    • know the status information of the entire system in real time

    • make all decisions.

    • may become the bottleneck

  • Distributed Control Model

    • market-based approaches

      • game theory

        • a game theory pricing model

        • a game theory framework for obtaining user-optimal load balancing scheme

        • algorithm based on the strcuture of the Nash equilibrium

          • achieve of advantage of distributed structure

          • low complexity

          • optimality of allocation for each user

        • formulate the load balancing problem as a non-cooperative game among users

      • auctions

        • a decentralized market protocol for task allocation among nodes that contend for sacrce resource, where node trade tasks and resource at price determined by an auction protocol

        • a continuous double auction method for grid resource in which resources are considered as provider agents, and users are considered as consumer agents

        • consensus-based auction

        • a metaschedular based on the double auction mechanism

      • contract mechanisms

    • society-based approaches

      • strategy diffusion

        • denote:

          • the large scale of strategy penetrations of certain agents on other agents

        • negotiation between neighbouring nodes for tasks can be described as a diffusion process

        • advantage

          • each node only knows the information of neighbouring nodes and global optimal result can be achieved finally

      • coalition formation

        • a coalition is a alliance among individuals, in which individuals coopertae in joint action

        • a task allocation scheme via self-roganizing swarm coalitions for distributed mobile sensor network coverage, which uses the concepts of ant behavoir to self-regulate

        • community-aware task allocation model for social network systems where a node's coopertaion domain is constrained in a community and each node can negotiation only with its intracommunity member nodes

        • agent-based decentralized task allocation mechanism. An agent will be aotumatically dispatched to ask immediately after the task is randomly submitted to a node.

        • multiagent-based load balancing model where each agent has a credit value. The agent with low credit value is migrated to a ralatively lightly loaded workstation

      • group mechanisms

      • Mathhew effect

    • agent-based approaches

    • other approaches

Hybrid Control Model

  • Future Research Directions

    • how to customize control model

    • how to coordinate the different control models of different subsystems

    • self-adaptation and evolution of control models for dynamic distributed systems

Part 3. Resource Optimization in Task Allocation And Load Balancing

taks allocation often means allocating tasks to resources

  • Self-Owned Resource-Based Optimization

    • implemented based on nodes' self-owned resource statuses

  • Contextual Resource-Based Optimization

    • implemented based on not only nodes' self-ownded resource statuses but alse their contextual resource statuses

    • approach

      • if a node's contextual nodes have richer experiences of executing tasks, the node may have higher access to the resources even if it seldom accessed the resources by itself

      • contextually-experienced nodes recived more new tasks than less contextually-experienced nodes

  • future research

    • predict resource access

    • resource optimization scheme should adapt to dynamic change of resource distribution

Part 4. Reliability in Task Allocation And Load Balancing

Redundancy-Based Approaches

  • redundancy of resources

  • redundancy of tasks

Non-Redundancy-Based Approaches

  • optimization mechanisms for reliability

  • trust-or reputation-based approaches

    • trust-based approaches

    • reputation-based approaches

Part 5. Coordination Among Hetergeneous Nodes in Task Allocation And Load Balancing

game theory-based approaches

other approaches

Part 6. Considering Network Structures in Task Allocation And Load Balancing

  • physical communication networks

  • virtual interaction networks


huggingstar
22 声望3 粉丝