• Engineering Mathematics
  • Discrete Mathematics
  • Operating System
  • Computer Networks
  • Digital Logic and Design
  • C Programming
  • Data Structures
  • Theory of Computation
  • Compiler Design
  • Computer Org and Architecture
  • Distributed Systems Tutorial

Introduction to Distributed System

  • What is a Distributed System?
  • Features of Distributed Operating System
  • Evolution of Distributed Computing Systems
  • Types of Transparency in Distributed System
  • What is Scalable System in Distributed System?
  • Role of Middleware in Distributed System
  • Difference between Hardware and Middleware
  • What is Groupware in Distributed System?
  • Difference between Parallel Computing and Distributed Computing
  • Difference between Loosely Coupled and Tightly Coupled Multiprocessor System
  • Design Issues of Distributed System
  • Introduction to Distributed Computing Environment (DCE)
  • Limitation of Distributed System
  • Various Failures in Distributed System
  • Types of Operating Systems
  • Types of Distributed System
  • Comparison - Centralized, Decentralized and Distributed Systems
  • Three-Tier Client Server Architecture in Distributed System

Communication in Distributed Systems

  • Features of Good Message Passing in Distributed System
  • Issues in IPC By Message Passing in Distributed System
  • What is Message Buffering?
  • Multidatagram Messages in Distributed System
  • Group Communication in distributed Systems

Remote Procedure Calls in Distributed System

  • What is RPC Mechanism in Distributed System?
  • Distributed System - Transparency of RPC
  • Stub Generation in Distributed System
  • Marshalling in Distributed System
  • Server Management in Distributed System
  • Distributed System - Parameter Passing Semantics in RPC
  • Distributed System - Call Semantics in RPC
  • Communication Protocols For RPCs
  • Client-Server Model
  • Lightweight Remote Procedure Call in Distributed System
  • Difference Between RMI and DCOM
  • Difference between RPC and RMI

Synchronization in Distributed System

  • Synchronization in Distributed Systems
  • Logical Clock in Distributed System
  • Lamport's Algorithm for Mutual Exclusion in Distributed System
  • Vector Clocks in Distributed Systems
  • Event Ordering in Distributed System
  • Mutual exclusion in distributed system
  • Performance Metrics For Mutual Exclusion Algorithm
  • Cristian's Algorithm
  • Berkeley's Algorithm
  • Difference between Token based and Non-Token based Algorithms in Distributed System
  • Ricart–Agrawala Algorithm in Mutual Exclusion in Distributed System
  • Suzuki–Kasami Algorithm for Mutual Exclusion in Distributed System

Source Management and Process Management

  • Features of Global Scheduling Algorithm in Distributed System

What is Task Assignment Approach in Distributed System?

  • Load Balancing Approach in Distributed System
  • Load-Sharing Approach in Distributed System
  • Difference Between Load Balancing and Load Sharing in Distributed System
  • Process Migration in Distributed System

Distributed File System and Distributed shared memory

  • What is DFS (Distributed File System)?
  • Andrew File System
  • File Service Architecture in Distributed System
  • File Models in Distributed System
  • File Accessing Models in Distributed System
  • File Caching in Distributed File Systems
  • What is Replication in Distributed System?
  • Atomic Commit Protocol in Distributed System
  • Design Principles of Distributed File System
  • What is Distributed shared memory and its advantages
  • Architecture of Distributed Shared Memory(DSM)
  • Difference between Uniform Memory Access (UMA) and Non-uniform Memory Access (NUMA)
  • Algorithm for implementing Distributed Shared Memory
  • Consistency Model in Distributed System
  • Distributed System - Thrashing in Distributed Shared Memory

Distributed Scheduling and Deadlock

  • Scheduling and Load Balancing in Distributed System
  • Issues Related to Load Balancing in Distributed System
  • Components of Load Distributing Algorithm | Distributed Systems
  • Distributed System - Types of Distributed Deadlock
  • Deadlock Detection in Distributed Systems
  • Conditions for Deadlock in Distributed System
  • Deadlock Handling Strategies in Distributed System
  • Deadlock Prevention Policies in Distributed System
  • Chandy-Misra-Haas's Distributed Deadlock Detection Algorithm
  • Security in Distributed System
  • Types of Cyber Attacks
  • Cryptography and its Types
  • Implementation of Access Matrix in Distributed OS
  • Digital Signatures and Certificates
  • Design Principles of Security in Distributed System

Distributed Multimedia and Database System

  • Distributed Database System
  • Functions of Distributed Database System
  • Multimedia Database

Distributed Algorithm

  • Deadlock-Free Packet Switching
  • Wave and Traversal Algorithm in Distributed System
  • Election algorithm and distributed processing
  • Introduction to Common Object Request Broker Architecture (CORBA) - Client-Server Software Development
  • Difference between CORBA and DCOM
  • Difference between COM and DCOM
  • Life cycle of Component Object Model (COM) Object
  • Distributed Component Object Model (DCOM)

Distributed Transactions

  • Flat & Nested Distributed Transactions
  • Transaction Recovery in Distributed System
  • Mechanism for building Distributed file system
  • Two Phase Commit Protocol (Distributed Transaction Management)

A Distributed System is a Network of Machines that can exchange information with each other through Message-passing. It can be very useful as it helps in resource sharing. In this article, we will see the concept of the Task Assignment Approach in Distributed systems.

Resource Management:

One of the functions of system management in distributed systems is Resource Management. When a user requests the execution of the process, the resource manager performs the allocation of resources to the process submitted by the user for execution. In addition, the resource manager routes process to appropriate nodes (processors) based on assignments. 

Multiple resources are available in the distributed system so there is a need for system transparency for the user. There can be a logical or a physical resource in the system. For example, data files in sharing mode, Central Processing Unit (CPU), etc.

As the name implies, the task assignment approach is based on the division of the process into multiple tasks. These tasks are assigned to appropriate processors to improve performance and efficiency. This approach has a major setback in that it needs prior knowledge about the features of all the participating processes. Furthermore, it does not take into account the dynamically changing state of the system. This approach’s major objective is to allocate tasks of a single process in the best possible manner as it is based on the division of tasks in a system. For that, there is a need to identify the optimal policy for its implementation.

Working of Task Assignment Approach:

In the working of the Task Assignment Approach, the following are the assumptions:

  • The division of an individual process into tasks.
  • Each task’s computing requirements and the performance in terms of the speed of each processor are known.
  • The cost incurred in the processing of each task performed on every node of the system is known.
  • The IPC (Inter-Process Communication) cost is known for every pair of tasks performed between nodes.
  • Other limitations are also familiar, such as job resource requirements and available resources at each node, task priority connections, and so on.

Goals of Task Assignment Algorithms:

  • Reducing Inter-Process Communication (IPC) Cost
  • Quick Turnaround Time or Response Time for the whole process
  • A high degree of Parallelism
  • Utilization of System Resources in an effective manner

The above-mentioned goals time and again conflict. To exemplify, let us consider the goal-1 using which all the tasks of a process need to be allocated to a single node for reducing the Inter-Process Communication (IPC) Cost. If we consider goal-4 which is based on the efficient utilization of system resources that implies all the tasks of a process to be divided and processed by appropriate nodes in a system.

Note: The possible number of assignments of tasks to nodes:

But in practice, the possible number of assignments of tasks to nodes < m x n because of the constraint for allocation of tasks to the appropriate nodes in a system due to their particular requirements like memory space, etc.

Need for Task Assignment in a Distributed System:

The need for task management in distributed systems was raised for achieving the set performance goals. For that optimal assignments should be carried out concerning cost and time functions such as task assignment to minimize the total execution and communication costs, completion task time, total cost of 3 (execution, communication, and interference), total execution and communication costs with the limit imposed on the number of tasks assigned to each processor, and a weighted product of cost functions of total execution and communication costs and completion task time. All these factors are countable in task allocation and turn, resulting in the best outcome of the system.

Example of Task Assignment Approach:

Let us suppose, there are two nodes namely n1 and n2, and six tasks namely t1, t2, t3, t4, t5, and t6. The two task assignment parameters are:

  • execution cost: x ab refers to the cost of executing a task an on node b.
  • inter-task communication cost: c ij refers to inter-task communication cost between tasks i and j.

Note: The execution of the task (t2) on the node (n2) and the execution of the task (t6) on the node (n1) is not possible as it can be seen from the above table of Execution costs that resources are not available.

Case1: Serial Assignment

Cost of Execution in Serial Assignment:

Cost of Communication in Serial Assignment:

Case2: Optimal Assignment

Cost of Execution in Optimal Assignment:

Cost of Communication in Optimal Assignment:

Optimal Assignment using Minimal Cutset:

Cutset: The cutset of a graph refers to the set of edges that when removed makes the graph disconnected.

Minimal Cutset: The minimal cutset of a graph refers to the cut which is minimum among all the cuts of the graph.

Optimal Assignment using Minimal Cut set

Please Login to comment...

  • Distributed System
  • WhatsApp To Launch New App Lock Feature
  • Node.js 21 is here: What’s new
  • Zoom: World’s Most Innovative Companies of 2024
  • 10 Best Skillshare Alternatives in 2024
  • 30 OOPs Interview Questions and Answers (2024)

Improve your Coding Skills with Practice

 alt=

What kind of Experience do you want to share?

  • Trending Categories

Data Structure

  • Selected Reading
  • UPSC IAS Exams Notes
  • Developer's Best Practices
  • Questions and Answers
  • Effective Resume Writing
  • HR Interview Questions
  • Computer Glossary

Task Assignment Approach in Distributed System

Introduction.

Distributed systems are a fundamental aspect of modern computing that has revolutionized the way we interact with technology. In essence, a distributed system is a collection of independent computers that work together as a single entity to achieve a common goal. These computers are connected through a communication network and interact with each other by exchanging messages.

A distributed system is an infrastructure consisting of multiple computers that are interconnected and communicate with each other using various communication protocols. The main feature of these systems is the fact that the resources and responsibilities are spread across different nodes in the network, rather than being centralized in one location.

Types of Task Assignment Approaches

Centralized task assignment approach.

The centralized task assignment approach is a method where there is a single point of control for the entire distributed system. In this approach, all the tasks are assigned from a central server, which allocates tasks to different nodes in the network.

The central server monitors the performance of each node and re−assigns tasks as needed. This approach requires that each node in the network communicates with the central server frequently to request task assignments or report on their current status.

One advantage of this approach is that it provides better control over task assignments and resource allocation, as all assignments are managed centrally. However, it also has some disadvantages such as high communication overhead since all systems communicate with a centralized entity which can increase latency and reduce response time especially if there is a large number of nodes in the system.

Decentralized Task Assignment Approach

The decentralized task assignment approach is a method where there is no central point of control in the distributed system. In this approach, every node in the network has equal responsibility for assigning and executing tasks. Each node decides what tasks to execute based on its current status and available resources without any interaction with other nodes or central servers.

The advantage of this approach is that it reduces communication overhead by eliminating frequent communications between nodes and central servers. It also provides better fault tolerance since if one node fails, other nodes in the system can continue working without disruption.

Factors Affecting Task Assignment Approach in Distributed Systems

Distributed systems are complex systems that operate in a network of interconnected computers. These systems are designed to handle a large amount of data and computation by distributing the tasks across multiple machines.

The task assignment approach plays a crucial role in the efficient operation of these distributed systems. Here, we discuss the factors that affect the task assignment approach in distributed systems.

Network Latency: The Barrier to Efficient Task Assignment

Network latency refers to how long it takes for data to travel from one point on a network to another. It is one of the primary factors affecting task assignment approaches in distributed systems.

High network latency can significantly slow down the process of task execution. For instance, if data has to be shuffled between different nodes frequently, it can cause significant delays and affect overall system performance.

A practical solution to address network latency is to employ techniques like caching or replication so that critical data is available locally for faster access. Another option is using algorithms that consider network latency as a factor while assigning tasks so that tasks are assigned closer together geographically where possible.

Load Balancing: The Challenge of Distributing Workload Equitably

In distributed computing, load balancing refers to distributing workloads evenly among different nodes for better utilization of resources and efficient task execution. In other words, load balancing ensures that no single node is overloaded with more tasks than it can handle while others remain underutilized.

The challenge with load balancing lies in identifying how much workload each node can handle, especially when dealing with heterogeneous infrastructure with varying capabilities such as CPU power or memory capacity. To address this challenge, several algorithms have been developed such as round−robin or least−loaded which distribute workload evenly among available nodes based on their capacity for handling tasks.

Resource Availability: Ensuring Adequate Resources for Task Execution

The availability of resources like CPU, memory, or storage is another factor affecting the task assignment approach in distributed systems. Inadequate resources can cause delays or system crashes if a task requires more resources than available on a node. For example, if a node running a task runs out of memory, the task cannot be completed.

To prevent such issues, task assignment algorithms must consider resource availability and allocate tasks only to machines with adequate resources to complete them. Additionally, monitoring tools can be used to track resource utilization and identify overutilized nodes that may need additional support or maintenance.

Network latency, load balancing and resource availability are critical factors affecting the performance of distributed systems. To ensure efficient execution of tasks in these systems, it is necessary to employ algorithms that consider these factors while assigning tasks among multiple available nodes.

Algorithms for Task Assignment in Distributed Systems

Round robin algorithm.

The Round Robin Algorithm is a popular task assignment approach used in distributed systems. It involves assigning tasks to nodes in a circular manner, with each node receiving an equal share of tasks.

The algorithm is simple and easy to implement, making it a preferred choice for many applications. In this approach, the system assigns tasks to the first available node, and then moves on to the next node in the list.

Least Loaded Algorithm

Another popular task assignment approach for distributed systems is Least Loaded Algorithm. This approach assigns new tasks to the least loaded node in the network at any given time. In other words, it selects a node that currently has fewer assigned tasks than others.

The Least Loaded Algorithm also helps maintain balanced workload distribution across all available resources and reduces processing delays caused by overburdened resources. One advantage of using this algorithm is that it automatically adjusts to changes in resource availability and processing capabilities by dynamically reassigning tasks as needed.

Practical Applications of Task Assignment Approach in Distributed Systems

Cloud computing: a game−changer for distributed systems.

Cloud computing has revolutionized the way distributed systems operate by providing access to a vast pool of resources on−demand. Cloud service providers deploy task assignment approaches to balance the workload and maximize resource utilization across their data centers. They use centralized or decentralized algorithms based on the specific needs of their cloud service offerings.

Distributed Database Management System: Efficiency through Task Assignment

Distributed database management systems (DDBMS) rely heavily on effective task assignment approaches to optimize query processing and improve transaction execution times. A DDBMS replicates data across multiple nodes, and each node independently processes queries or transactions to reduce response time for users.

Centralized or decentralized algorithms are used depending on the requirements of the DDBMS application. Load balancing is one of the main goals of task assignment in DDBMS since it ensures that each node gets a fair share of queries without being overwhelmed with requests.

As technology continues to evolve, researchers must continue exploring new and innovative algorithms for task assignment in distributed systems. The recent advancements in machine learning and artificial intelligence open up new avenues for developing intelligent algorithms that can predict performance, optimize resource allocation, and ensure fault tolerance. Researchers can further explore approaches such as genetic algorithms, particle swarm optimization, and other sophisticated techniques that may enhance the quality of task assignment.

Satish Kumar

Related Articles

  • Distributed Consensus in Distributed System
  • Distributed operating System
  • Logical Clock in Distributed System
  • Event Ordering in Distributed System
  • Exception Handling in Distributed System
  • Distributed Database Management System
  • Atomic Commit Protocol in Distributed System
  • File Model in Distributed Operating System
  • Load Balancing Issues in Distributed System
  • Mutual exclusion in a distributed system
  • File Accessing Models in Distributed System
  • File Service Architecture in Distributed System
  • Priority Assignment to Tasks in Operating System
  • Difference Between Network Operating System and Distributed Operating System
  • What is a distributed Operating System?

Kickstart Your Career

Get certified by completing the course

A Graph Matching Approach to Optimal Task Assignment in Distributed Computing Systems Using a Minimax Criterion

Ieee account.

  • Change Username/Password
  • Update Address

Purchase Details

  • Payment Options
  • Order History
  • View Purchased Documents

Profile Information

  • Communications Preferences
  • Profession and Education
  • Technical Interests
  • US & Canada: +1 800 678 4333
  • Worldwide: +1 732 981 0060
  • Contact & Support
  • About IEEE Xplore
  • Accessibility
  • Terms of Use
  • Nondiscrimination Policy
  • Privacy & Opting Out of Cookies

A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. © Copyright 2024 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions.

Book cover

Algorithm Design for Computer System Design pp 31–48 Cite as

Models of the Task Assignment Problem in Distributed Systems

  • Mario Lucertini 3  

235 Accesses

Part of the book series: International Centre for Mechanical Sciences ((CISM,volume 284))

The paper presents a model for optimum partitioning of tasks over a multiple-processor system. The minimization of the interprocessor communications overhead and/or the message average delay are considered as a design criterion. The algorithmic approaches to the problem are briefly described and improuvements to the case of multiple copies of tasks are considered. A large set of references covering the area are included.

  • Optimum Partitioning
  • Tree Partitioning
  • Local Search Technique
  • Computational Object
  • Task Assignment Problem

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

This is a preview of subscription content, log in via an institution .

Buying options

  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Unable to display preview.  Download preview PDF.

BARNES: An algorithm for partitioning the nodes of a graph. IBM Waston Res. Center, RC8690, 1981.

Google Scholar  

BECKER, PERL, SCHACH: A shifting algorithm for min-max tree partitioning. J. ACM, 1982.

BERTOLAZZI, LUCERTINI, MARCHETTI: Analysis of a class of graph partitioning problems. RAIRO Theoretical Comp. Science, 1982.

BERTOLAZZI, LUCERTINI: Tasks assignment in a multicomputer system: a mathematical model. IFAC, Kyoto, 1981.

BERTZTISS: A note on segmentation of computer programs. Inf. and Contr., 1968.

CARLSON, NEMHAUSER: Scheduling to minimize interaction costs. Op. Res., 1966.

CHANDLER, DE LUTIS: A methodology of multi-criteria information system design. Int. Comp. Conf., 1977.

CHANDRA, WONG: Worst-case analysis of a placement algorithm related to storage allocation. SIAM Comp., 1975.

CHANDY: Models of distributed systems. Proc. rd Int. Conf. on VLDB, Kyoto, 1977.

CHANDY, SAUER: The impact of distribution and disciplines on multiple processor system. Comm. ACM, 1979.

CHANDY, YEH: On the design of elementary distributed systems. Comp. Networks, 1979.

CHARNEY, PLATO: Efficient partitioning of components. ACM/IEEE Des. Ant. Workshop, Washington P.C., 1968.

CHEN, AKOKA: Optimal design of distributed information systems. IEEE-TC, C-29, 1980.

CHRISTOFIDES, BROOKER: The optimal partitioning of Graphs. SIAM J. Appl. Math., 1976.

CHU: Optimal file allocation in a computer network. In: Computer communication systems (ABRAMSON, KUO Eds.), Prentice Hall, 1973.

CHU, HOLLOWAY, LAN, EFE: Task allocation in distributed data processing Computer, 1980.

CIOFFI, COSTANTINI, DE JULIO: A new approach to the decomposition of sequential systems. Digital Processes, 1977.

CIOFFI, DE JULIO, LUCERTINI: Optimal decomposition of sequential machines via integer non-linear programming: a computational algo-rithm. Digital Processes, 1979.

COMEAU: A study of user program optimization in a paging system. ACM Symp. on Operating System Principles, Gatlinbury, 1967.

CORNUEJOLS, FISHER, NEMHAUSER: Location of Bank Accounts to optimize float: an analytic study of exact and approximate algorthms. Man. Sci., 1977.

DE JULIO, LUCERTINI, SACCA’: Un algoritmo efficiente per la decompo sizione ottima di macchine sequenziali. Conf. AIBO, 1978.

DENNING: Vurtual memory. Comp. Survey, 1970.

DENNING, BUSEN: The operational analysis of queueing network models. Comp. Surveys, 1978.

DONATH, HOFFMAN: Lower bounds for the partitioning of Graphs. IBM J. of Res. and Der., 1973.

DOWDY, FOSTER: Comparative models of the file assignment problem. ACM Comp. Surveys, 1982.

DUTTA, KOEHLER, WHINSTON: On optimal allocation in a distributed processing environment. Man. Sci., 1982.

ECKHOUSE, STANKOVIC, VAN DAM: Issues in distributed processing. IEEE Tr. Comp., 1978.

ENSLOW: Research issues in fully distributed systems. AICA, Bari, 1979.

FOSTER, DOWDY, AMES: File assignment in a computer network. Comp. Networks, 1981.

GOMORY, HU: Multi-terminal network flows. SIAM, 1961.

GORINSMTEYN: The partitioning of graphs. Eng. Cybern., 1969.

GRAVES, WHINSTON: An algorithm for the quadratic assignment problem. Man. Sci., 1970.

GROSS, SOLAND: A branch and bound algorithm for allocation problems in which constraint coefficients depend upon decision variables. Nair. Res. Log., 1969.

HADLOCK: Minimum spanning forest of bounded trees. 5th South Conf. on Comb., Graph Theory and Comp. Winnipeg, 1974.

HADLOCK: Finding a maximum cut of a planar graph in polynomial time. SIAM J. Comp., 1975.

HAESSIG, JENNY: An algorithm for allocating computational objects in distributed computing systems. IBM Zurich Res. Lab. RZ 1016, 1980.

HILLIER, CONNORS: Quadratic assignment problem algorithm, and Location of Indivisible facilities. Man. Sci., 1966.

HOFRI, JENNY: On the allocation of processes in distributed computing systems. IBM Zurich Res. Lab. RZ 905, 1978.

HOSKEN: Optimum partitioning of the addressing structures. SIAM J. Comp., 1975.

HU: Integer programming and network flows. Addison-Wesley, 1970.

HU, RUSKEY: Circular cuts in a network. Math. of Op. Res., 1980.

HYAFIL, RIVEST: Graph partitioning and constructing optimal decision trees are polynomial complete problems. IRIA Rep. 33, 1973.

IBARRA, KIM: Fast approximation algorithms for the Knapsach and sum of subset problems. J. ACM, 1975

IBARRA, KIM: Approximation algorithms for certain scheduling pro-blems. Math. Op. Res., 1978.

JENNY, KUHMERLE: Distributed processing within an integrated circuit/Packet-switching node. IEEE Tr. Commun., 1976.

JENSEN: Optimal network partitioning. Op. Rls., 1970.

JOHNSON: Approximation algorithms for combinatorial problems. J. Comp. and Syst. Sci., 1974.

KERNIGHAN: Some graph partitioning, problems related to program segmentation. Ph. D. Th., Princeton, 1969.

KERNIGHAN, LIN: An Efficient Heuristic Procedure for Partitioning Graphs. Bell System Tech. J., 1970.

KERNIGHAN: Optimal sequential partitions of graphs. J. ACM, 1971.

KOONTZ, NORENDRA, FUKUNAGA: A branch and bound clustering algorithm. IEEE Tr. Comp., 1975.

KUNDU, MISRA: A linear tree partitioning algorithm. SIAM J. Comp., 1977.

LAWLER: Electrical assemblies with a minimum number of intercon-nections. IKE Tr. Elec. Comp., 1962.

LAWLER, LEVITT, TURNER: Module clustering to minimize delay in digital networks. IEEE Tr. Comp., 1969.

LAWLER: Cutsets and partitions of Hypergraphs Networks, 1973.

LAWLER: Fast approximation algorithms for Knapsack problems. Math. Op. Res., 1979.

LIPTON, TARJAN: A separator theorem for planar graphs. Conf. on Theor. Comp. Sci., Waterloo, 1977.

LIPTON, TARJAN: Applications of a planar separator theorem. 18th FOCS. Long Beach, 1977.

LUCCIO, SAMI: On the decomposition of networks in minimally interconnected subnetworks. IEEE Tr. Circ. theory, 1969.

LUKES: Efficient algorithm for the partitioning of trees. IBM J. Res. Der., 1974.

MAHLOUD, RIORDAN: Optimal allocation of resources in Distributed Information Networks. ACM Tr. Databases Syst., 1976.

MARSTEN: An algorithm for large set partitioning problems. Man. Sci., 1974.

MENDELSON, PLISKIN, YECHIALI: Optimal storage allocation for serial files. Comm. ACM, 1979.

MISRA, TARJAN: Optimal chain partitions of trees. Inf. Proc: Letters, 1975.

MOKGAN, LEVIN: Optimal program and data locations in computer networks. Comm. ACM, 1977.

PERL, SCHACH: Maxmin tree partitioning. J. ACM, 1981.

PERL, SMILOACH: Efficient optimization of monotonic function on trees. CAAP 81, Lect. Notes in Cong. Sci., 1981.

RAO, STONE, HU: Assignment of tasks in a distributed processor system with limited memory. IEEE Tr. Comp., 1979.

RUSSO, ODEN, WOLFF: A Heuristic procedure for the partitioning and mapping of computer logic blocks to modules. IEEE Tr. Comp., 1971.

SACCA, WIEDERHOLD: Database Partitioning in a cluster of processors. VLDB Conf., 1983.

SAHNI: Approximative algorithms for the 0/1 Knapsack problem. J. ACM, 1975.

SAHNI: General techniques for combinatorial approximation. Op. Res., 1977.

SCHRADER: Approximations to clustering and subgraph problems on trees. Okonometric and Op. Res. Inst. Rep. 81202–0R, Bonn, 1981.

SIMEONE: An asymptotically exact polynomial algorithm for equi-partition problems. IAC n. 153, Roma, 1978.

STONE: Multiprocessor scheduling with the aid of network flow algorithms. IEEE Tr. Soft. Eng., 1977.

TARJAN: A hierarchical clustering algorithm using strong components. Int. Proc. Letters, 1982.

TARJAN: An improved algorithm for hierarchical clustering using strong components. Int. Proc. Letters, 1983.

WONG, COPPERSMITH: A combinatorial problem related to multimodule memory organization. J. ACM, 1974.

Download references

Author information

Authors and affiliations.

Dipartimento di Informatica e Sistemistica, dell’Università di Roma e Istituto di Analisi dei Sistemi ed Informatica del C.N.R., Viale Manzoni 30, 00185, Roma, Italy

Mario Lucertini

You can also search for this author in PubMed   Google Scholar

Editor information

Editors and affiliations.

Universita’ di Roma, Italy

G. Ausiello  & M. Lucertini  & 

Universita’ di Udine, Italy

P. Serafini

Rights and permissions

Reprints and permissions

Copyright information

© 1984 Springer-Verlag Wien

About this chapter

Cite this chapter.

Lucertini, M. (1984). Models of the Task Assignment Problem in Distributed Systems. In: Ausiello, G., Lucertini, M., Serafini, P. (eds) Algorithm Design for Computer System Design. International Centre for Mechanical Sciences, vol 284. Springer, Vienna. https://doi.org/10.1007/978-3-7091-4338-4_2

Download citation

DOI : https://doi.org/10.1007/978-3-7091-4338-4_2

Publisher Name : Springer, Vienna

Print ISBN : 978-3-211-81816-9

Online ISBN : 978-3-7091-4338-4

eBook Packages : Springer Book Archive

Share this chapter

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

  • Publish with us

Policies and ethics

  • Find a journal
  • Track your research

COMMENTS

  1. What is Task Assignment Approach in Distributed System?

    A Distributed System is a Network of Machines that can exchange information with each other through Message-passing. It can be very useful as it helps in resource sharing. In this article, we will see the concept of the Task Assignment Approach in Distributed systems. Resource Management:

  2. Task Assignment Approach in Distributed System

    The centralized task assignment approach is a method where there is a single point of control for the entire distributed system. In this approach, all the tasks are assigned from a central server, which allocates tasks to different nodes in the network. The central server monitors the performance of each node and re−assigns tasks as needed.

  3. Task assignment in a distributed system (extended abstract)

    Abstract. We consider the problem of task assignment in a dis- tributed system (such as a distributed Web server) in which task sizes are drawn from a heavy-tailed distri- bution. Many task assignment algorithms are based on the heuristic that balancing the load at the server hosts will result in optimal performance.

  4. Resource Management

    This chapter contains sections titled: Introduction Desirable Features of a Good Global Scheduling Algorithm Task Assignment Approach Load-Balancing App Resource Management | part of Distributed Operating Systems: Concepts and Design | Wiley-IEEE Press books | IEEE Xplore

  5. Task Assignment in Distributed Systems based on PSO Approach

    In a distributed system, Task Assignment Problem (TAP) is a key factor for obtaining efficiency. TAP illustrates the appropriate allocation of tasks to the processor of each computer. In this problem, the proposed methods up to now try to minimize Makespan and maximizing CPU utilization. Since this problem is NP-complete, many genetic algorithms have been proposed to search optimal solutions ...

  6. PDF Metaheuristic Algorithms for Task Assignment in Distributed Computing

    Keywords: Computer, heuristic algorithms, task assignment problem, distributed systems, genetic algorithms, reinforcement learning, simulated annealing. 1. INTRODUCTION A distributed computing system is defined as a collection of computers interconnected by a telecommunication net-work that attempts to disperse the data processing function

  7. Task Assignment in Distributed Systems based on PSO Approach

    Abstract and Figures. In a distributed system, Task Assignment Problem (TAP) is a key factor for obtaining efficiency. TAP illustrates the appropriate allocation of tasks to the processor of each ...

  8. Task Assignment in Distributed Systems based on PSO Approach

    Task Assignment in Distributed Systems based on PSO Approach Mostafa Haghi Kashani * Department of Computer Engineering, Shahr-e-Qods Branch, Islamic Azad University, Tehran, Iran Abstract In a distributed system, Task Assignment Problem (TAP) is a key factor for obtaining efficiency. TAP illustrates the appropriate

  9. Task assignment in distributed systems

    1983. This thesis addresses the problem of task assignment in distributed systems. A distributed system is defined as any configuration of two or more processors, each with private memory, in which computations utilize the combined resources of the component machines. A distributed process is defined as a set of tasks which together work ...

  10. Task assignment in distributed systems using network flow methods

    Abstract. A common approach to the problem of assigning the tasks of a modular program to the processors of a distributed system relies on its close relation with the multiway cut problem in graphs. All known algorithms exploiting this relation aim to reduce the problem size by extracting partial solutions, using network flow methods.

  11. Task assignment in distributed computing systems

    Abstract: We introduce a technique based on the problem-space genetic algorithm (PSGA) for the static task assignment problem in homogeneous distributed computing systems to reduce the task turnaround time and to increase the throughput of the system by properly balancing the load and reducing the interprocessor communication time among processors. . The PSGA based approach combines the power ...

  12. Task assignment and transaction clustering heuristics for distributed

    In this paper, we present and discuss the task assignment problem for distributed systems. We also show how this problem is very similar to that of clustering transactions for load balancing purposes and for their efficient execution in a distributed environment. The formalization of these problems in terms of a graph-theoretic representation ...

  13. PDF A parallel algorithm for Optimal task assignment in distributed systems

    assignments for problems of medium to large sizes. We believe our algorithms to be novel in solving an indispensable problem in parallel and distributed computing. Keywords: Best-first search, parallel processing, task assignment, mapping, distributed systems. 1 Introduction Given a parallel program represented by a task graph

  14. A Reinforcement Learning Approach for Task Assignment in IoT ...

    The algorithm for task assignment into distributed IoT platform is given below: Step 0. The step defines the initial states of a distributed computing system based on the IoT platform: environment, nodes number, nodes characteristics. The agent (main distributing node) generates task sequences with their interconnections. Step 1. Exploration stage.

  15. PDF JOURNAL OF LA Distributed Multi-Robot Task Assignment via Consensus ADMM

    the relaxed task assignment problem locally, overcoming these challenges. We formulate the multi-robot task assignment problem as a mathematical program, considering both its primal and dual forms, noting that these convex formulations yield the optimal task assignment [10] when the objective function consists of a sum of linear functions.

  16. A distributed task reassignment method in dynamic ...

    This paper considers the task reassignment problem for distributed multiple Unmanned Aerial Vehicle (multi-UAV) systems in dynamic environment. For a dynamic reassignment problem in a multi-UAV system, the task information may be subject to different dynamic events, and many existing task allocation algorithms require much computation and communication resource to achieve a feasible solution ...

  17. Task Assignment in Distributed Systems based on PSO Approach

    Particle Swarm Optimization has been applied as local search in the proposed genetic algorithm and the results obtained from simulation can prove that, in terms of CPU utilization and Makespan, the proposed approach outperforms the GA-based approach. In a distributed system, Task Assignment Problem (TAP) is a key factor for obtaining efficiency. TAP illustrates the appropriate allocation of ...

  18. A Graph Matching Approach to Optimal Task Assignment in Distributed

    A graph matching approach is proposed in this paper for solving the task assignment problem encountered in distributed computing systems. A cost function defined in terms of a single unit, time, is proposed for evaluating the effectiveness of task assignment. This cost function represents the maximum time for a task to complete module execution and communication in all the processors. A new ...

  19. Optimal Task Assignment in Distributed Systems through ...

    In this paper, algorithm designed, have to allocate m tasks to n processors (m>n) in the environment of distributed processing. These m tasks are to be assigned on the n processors of system ...

  20. Optimal task assignment with precedence in distributed computing systems

    In this paper, we will address the problem of finding an optimal assignment of task modules with precedence to proces- sors in a distributed computing system, i.e., we want to assign the modules isevier Science Inc. 1994 655 Avenue of the Americas, New York, NY 10010 0020-0255/94/S7.00 2 J.-C. LIN of a task to processors and schedule module ...

  21. Models of the Task Assignment Problem in Distributed Systems

    Abstract. The paper presents a model for optimum partitioning of tasks over a multiple-processor system. The minimization of the interprocessor communications overhead and/or the message average delay are considered as a design criterion. The algorithmic approaches to the problem are briefly described and improuvements to the case of multiple ...

  22. (PDF) Representations of task assignments in distributed systems using

    This article presents a novel approach to representing task assignments for partitioned agents (respectively, tasks) in distributed systems. A partition of agents (respectively, tasks) is ...

  23. Improved Methods of Task Assignment and Resource Allocation with

    We focus on a distributed resource allocation method in which servers operate independently and do not communicate with each other, but interact with clients (tasks) to make allocation decisions. We follow a two-round bidding approach to assign tasks to edge cloud servers, and servers are allowed to preempt previous tasks to allocate more ...