Goto

Collaborating Authors

 adjacent task


Task swapping networks in distributed systems

arXiv.org Artificial Intelligence

A distributed system is defined as a collection of independent computers or processors that are connected by an arbitrary interconnection network [36, 42]. The objective of a task assignment [36, 39] in a distributed system is to find an optimal or suboptimal assignment of tasks to processors (or agents), while satisfying temporal and spatial constraints imposed on the system. A task assignment is either preemptive or non-preemptive [32]. If a task assignment is preemptive, a task reassignment is allowed in such a way that tasks are transferred between processors (or agents) during their execution for improving the system performance [32, 37]. Recent advances in software agent technology [25, 27, 34] in distributed systems allow software entities to observe their environment, and cooperate with other entities if necessary to accomplish their goals. Task migration between software agents intends to improve the system throughput in a distributed system in which the loads incurred by tasks vary over time [27]. A task reassignment can be achieved by iterative local task swappings, where a task swapping involves task migrations between a pair of agents as a method of local task reassignment [7]. A subclass of task assignment (or reassignment) problems involves an equal number of tasks and agents, finding a bijective task assignment between tasks and agents in such a way that the total task assignment (or reassignment) benefit is maximized [45]. Those bijective task assignment problems and their variants appear in a wide variety of areas in computer science and mathematics [5, 6, 44, 45].