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/(8m−r+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.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
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
Bokhari, S.H.: Dual Processor Scheduling with Dynamic Reassignment. IEEE Trans. Software Engrg. SE-5, 341–349 (1979)
Bryant, R.M., Agre, J.R.: A Queueing Network Approach to the Module Allocation Problem in Distributed Systems. Performance Evaluation Review10, 191–204 (1981)
Chandra, A., Wong, C.K.: Worst Case Analysis of a Placement Algorithm Related to Storage Allocation. SIAM J. Comput.4, 249–263 (1975)
Chou, T.C.K., Abraham, J.A.: Load Balancing in Distributed Systems. IEEE Trans. Software Engrg. SE-8, 401–412 (1982)
Chu, W.W., Holloway, L.J., Lan, M.-T., Efe, K.: Task Allocation in Distributed Data Processing. IEEE Comput.13, 57–69 (1980)
Dhall, S.K., Liu, C.L.: On a Real-Time Scheduling Problem. Operations Research26, 127–140 (1978)
Efe, K.: Heuristic Models of Task Assignment and Scheduling in Distributed Systems. Computer15, 50–56 (1982)
Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, W.H. (ed.). San Francisco 1979
Geist, R.M., Trivedi, K.S.: Optimal Design of Multilevel Storage Hierarchies. IEEE Trans. Comput. C-31, 249–260 (1982)
Gylys, V.B., Edwards, J.A.: Optimal Partitioning of Workload for Distributed Systems. Digest of Papers. COMPCON76, 353–357 (1976)
Ignizio, J.P., Palmer, D.F., Murphy, C.M.: A Multicriteria Approach to Supersystem Architecture Definition. IEEE Trans. Comput. C-31, 410–418 (1982)
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
Liu, C.L., Layland, J.W.: Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment. J. ACM20, 46–61 (1973)
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)
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)
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
Siewiorek, D.P., Gordon Bell, C., Newell, A.: Computer Structures: Principles and Examples. New York: McGraw-Hill 1982
Stone, H.S.: Multiprocessor Scheduling with the Aid of Network Flow Algorithms. IEEE Trans. Software Engrg. SE-3, 85–93 (1977)
Stone, H.S., Bokhari, S.H.: Control of Distributed Processes. Computer11, 97–106 (1978)
Trivedi, K.S., Wagner, R.A., Sigmon, T.M.: Optimal Selection of CPU Speed. Device Capacities, and File Assignments. JACM27, 457–473 (1980)
Uhrig, J.L.: Mathematical Programming Approaches to System Partitioning. IEEE Trans. Syst. Man, Cybernetics SMC-8, 540–548 (1978)
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
Weinstock, C.B.: SIFT: System Design and Implementation. Proc. Tenth International Symposium Fault Tolerant Computing, pp. 75–77, 1980
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
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)
Author information
Authors and Affiliations
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
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
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF01257086