Skip to main content
Log in

Task allocation in fault-tolerant distributed systems

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

This paper examines task allocation in fault-tolerant distributed systems. The problem is formulated as a constrained sum of squares minimization problem. The computational complexity of this problem prompts us to consider an efficient approximation algorithm. We show that the ratio of the performance of the approximation algorithm to that of the optimal solution is bounded by 9m/(8mr+1)), wherem is the number of processors to be allocated andr is the number of times each task is to be replicated. Experience with the algorithm suggests that even better performance ratios can be expected.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Abbreviations

n :

number of tasks to be assigned

m :

number of processors to be allocated

x ij :

1 if taski is assigned to processorj

r i :

number of clones of taski

M ij :

units of memory space required by taski on processorj

B j :

units of memory space available on processorj

I ij :

number of instructions executed by taski per iteration on processorj

T i :

taski's period

R j :

speed of a processorj in instructions per second

u ij :

taski's utilization of processorj

f i :

scheduling constant (e.g. 1 or ln 2) for processorj

r :

number of clones of a task assuming a fixed level of replication

q j :

utilization of processorj

q * j :

utilization of processorj under an optimal assignment

min-r :

ther th minimum of a sorted multiset

K m r :

least upper bound on a family of series ratios

q *(t):

used in computingK * r

References

  1. Bokhari, S.H.: Dual Processor Scheduling with Dynamic Reassignment. IEEE Trans. Software Engrg. SE-5, 341–349 (1979)

    Google Scholar 

  2. Bryant, R.M., Agre, J.R.: A Queueing Network Approach to the Module Allocation Problem in Distributed Systems. Performance Evaluation Review10, 191–204 (1981)

    Google Scholar 

  3. Chandra, A., Wong, C.K.: Worst Case Analysis of a Placement Algorithm Related to Storage Allocation. SIAM J. Comput.4, 249–263 (1975)

    Google Scholar 

  4. Chou, T.C.K., Abraham, J.A.: Load Balancing in Distributed Systems. IEEE Trans. Software Engrg. SE-8, 401–412 (1982)

    Google Scholar 

  5. Chu, W.W., Holloway, L.J., Lan, M.-T., Efe, K.: Task Allocation in Distributed Data Processing. IEEE Comput.13, 57–69 (1980)

    Google Scholar 

  6. Dhall, S.K., Liu, C.L.: On a Real-Time Scheduling Problem. Operations Research26, 127–140 (1978)

    Google Scholar 

  7. Efe, K.: Heuristic Models of Task Assignment and Scheduling in Distributed Systems. Computer15, 50–56 (1982)

    Google Scholar 

  8. Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, W.H. (ed.). San Francisco 1979

  9. Geist, R.M., Trivedi, K.S.: Optimal Design of Multilevel Storage Hierarchies. IEEE Trans. Comput. C-31, 249–260 (1982)

    Google Scholar 

  10. Gylys, V.B., Edwards, J.A.: Optimal Partitioning of Workload for Distributed Systems. Digest of Papers. COMPCON76, 353–357 (1976)

    Google Scholar 

  11. Ignizio, J.P., Palmer, D.F., Murphy, C.M.: A Multicriteria Approach to Supersystem Architecture Definition. IEEE Trans. Comput. C-31, 410–418 (1982)

    Google Scholar 

  12. Leung, J.Y-T., Whitehead, J.: On the Complexity of Fixed-Priority Scheduling of Real-Time Tasks. Proceedings of the Eighteenth Annual Allerton Conference on Communication. Control and Computing, pp. 464–470, 1980

  13. Liu, C.L., Layland, J.W.: Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment. J. ACM20, 46–61 (1973)

    Google Scholar 

  14. Ma, P.-Y.R., Lee, E.Y.S., Tsuchiya, M.: A Task Allocation Model for Distributed Computing Systems. IEEE Trans. Comput. C-31, 41–47 (1982)

    Google Scholar 

  15. Rao, G.S., Stone, H.S., Hu, T.C.: Assignment of Tasks in a Distributed Proceesor System with Limited Memory. IEEE Trans. Comput. C-28, 291–299 (1979)

    Google Scholar 

  16. Ratner, R.S., Shapiro, E.B., Zeidler, H.M., Wahlstrom, S.E., Clark, C.B., Goldberg, J.: Design of a Fault Tolerant Airborne Digital Computer, vol. 2: Computational Requirements and Technology. SRI Final Report, NASA Contract NAS1-10920, 1973

  17. Siewiorek, D.P., Gordon Bell, C., Newell, A.: Computer Structures: Principles and Examples. New York: McGraw-Hill 1982

    Google Scholar 

  18. Stone, H.S.: Multiprocessor Scheduling with the Aid of Network Flow Algorithms. IEEE Trans. Software Engrg. SE-3, 85–93 (1977)

    Google Scholar 

  19. Stone, H.S., Bokhari, S.H.: Control of Distributed Processes. Computer11, 97–106 (1978)

    Google Scholar 

  20. Trivedi, K.S., Wagner, R.A., Sigmon, T.M.: Optimal Selection of CPU Speed. Device Capacities, and File Assignments. JACM27, 457–473 (1980)

    Google Scholar 

  21. Uhrig, J.L.: Mathematical Programming Approaches to System Partitioning. IEEE Trans. Syst. Man, Cybernetics SMC-8, 540–548 (1978)

    Google Scholar 

  22. Wagner, R.A., Trivedi, K.S.: Hardware Configuration Selection Through Discretizing a Continuous Variable Solution. In: Proc. 7th IFIP Int. Symp. Comp. Performance Modeling, Measurement, and Evaluation. Toronto, Canada, pp. 127–142, 1980

  23. Weinstock, C.B.: SIFT: System Design and Implementation. Proc. Tenth International Symposium Fault Tolerant Computing, pp. 75–77, 1980

  24. Wensley, J.H., Goldberg, J., Green, M.W., Kautz, W.H., Levitt, K.N., Mills, M.E., Shostak, R.E., Whiting-O'Keefe, P.M., Zeidler, H.M.: Design Study of Software-Implemented Fault-Tolerance (SIFT) Computer. SRI Interim Technical Report 1, NASA Contract NAS1-13792, 1978

  25. Wensley, J.H., Lamport, L., Goldberg, J., Green, M., Levitt, K.N., Melliar-Smith, P.M., Shostak, R., Weinstock, C.B.: SIFT: Design and Analysis of a Fault-Tolerant Computer for Aircraft Control. Proc. IEEE66, 1240–1255 (1978)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

This work was supported in part by the National Aeronautics and Space Administration under and by the National Science Foundation under Grant US NSF MCS-8302000

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bannister, J.A., Trivedi, K.S. Task allocation in fault-tolerant distributed systems. Acta Informatica 20, 261–281 (1983). https://doi.org/10.1007/BF01257086

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01257086

Keywords

Navigation