article

Process migration

Abstract

Process migration is the act of transferring a process between two machines. It enables dynamic load distribution, fault resilience, eased system administration, and data access locality. Despite these goals and ongoing research efforts, migration has not achieved widespread use. With the increasing deployment of distributed systems in general, and distributed operating systems in particular, process migration is again receiving more attention in both research and product development. As high-performance facilities shift from supercomputers to networks of workstations, and with the ever-increasing role of the World Wide Web, we expect migration to play a more important role and eventually to be widely adopted.

This survey reviews the field of process migration by summarizing the key concepts and giving an overview of the most important implementations. Design and implementation issues of process migration are analyzed in general, and then revisited for each of the case studies described: MOSIX, Sprite, Mach, and Load Sharing Facility. The benefits and drawbacks of process migration depend on the details of implementation and, therefore, this paper focuses on practical matters. This survey will help in understanding the potentials of process migration and why it has not caught on.

References

  1. ACCETTA, M., BARON, R., BOLOSKY, W., GOLUB,D., RASHID, R., TEVANIAN, A., AND YOUNG, M. 1986. Mach: A New Kernel Foundation for UNIX Development. Proceedings of the Summer USENIX Conference, 93-112.]]Google ScholarGoogle Scholar
  2. AGRAWAL,R.AND EZZAT, A. 1987. Location Independent Remote Execution in NEST. IEEE Transactions on Software Engineering 13, 8, 905-912.]] Google ScholarGoogle Scholar
  3. ALON, N., BARAK, A., AND MANBER, U. 1987. On Disseminating Information Reliably without Broadcasting. Proceedings of the 7th International Conference on Distributed Computing Systems, 74-81.]]Google ScholarGoogle Scholar
  4. ALONSO,R.AND KYRIMIS, K. 1988. A Process Migration Implementation for a UNIX System. Proceedings of the USENIX Winter Conference, 365- 372.]]Google ScholarGoogle Scholar
  5. AMARAL, P., JACQEMOT, C., JENSEN, P., LEA, R., AND MIROWSKI, A. 1992. Transparent Object Migration in COOL-2. Proceedings of the ECOOP.]]Google ScholarGoogle Scholar
  6. ANDERSEN, B. 1992. Load Balancing in the Fine- Grained Object-Oriented Language Ellie. Proceedings of the Workshop on Dynamic Object Placement and Load Balancing in Parallel and Distributed Systems Programs, 97-102.]]Google ScholarGoogle Scholar
  7. ANDERSON, T. E., CULLER,D.E.,AND PATTERSON,D.A. 1995. A Case for NOW (Networks of Workstations). IEEE Micro 15, 1, 54-64.]] Google ScholarGoogle Scholar
  8. ARTSY, Y., CHANG,Y.,AND FINKEL, R. 1987. Interprocess Communication in Charlotte. IEEE Software, 22-28.]]Google ScholarGoogle Scholar
  9. ARTSY,Y.AND FINKEL, R. 1989. Designing a Process Migration Facility: The Charlotte Experience. IEEE Computer, 47-56.]] Google ScholarGoogle Scholar
  10. BAALBERGEN, E. H. 1988. Design and Implementation of Parallel Make. Computing Systems 1, 135-158.]]Google ScholarGoogle Scholar
  11. BANAWAN,S.A.AND ZAHORJAN, J. 1989. Load Sharing in Hierarchical Distributed Systems. Proceedings of the 1989 Winter Simulation Conference, 963-970.]] Google ScholarGoogle Scholar
  12. BARAK,A.AND LITMAN, A. 1985. MOS: a Multicomputer Distributed Operating System. Software- Practice and Experience 15, 8, 725-737.]] Google ScholarGoogle Scholar
  13. BARAK,A.AND SHILOH, A. 1985. A Distributed Load- Balancing Policy for a Multicomputer. Software- Practice and Experience 15, 9, 901-913.]] Google ScholarGoogle Scholar
  14. BARAK,A.AND WHEELER, R. 1989. MOSIX: An Inte-grated Multiprocessor UNIX. Proceedings of the Winter 1989 USENIX Conference, 101- 112.]]Google ScholarGoogle Scholar
  15. BARAK, A., SHILOH, A., AND WHEELER, R. 1989. Flood Prevention in the MOSIX Load-Balancing Scheme. IEEE Technical Committee on Operating Systems Newsletter 3, 1, 24-27.]]Google ScholarGoogle Scholar
  16. BARAK, A., GUDAY,S.,AND WHEELER, R. G. 1993. The MOSIX Distributed Operating System. Springer Verlag.]] Google ScholarGoogle Scholar
  17. BARAK, A., LADEN,O.,AND BRAVERMAN, A. 1995. The NOW MOSIX and its Preemptive Process Migration Scheme. Bulletin of the IEEE Technical Committee on Operating Systems and Application Environments 7, 2, 5-11.]]Google ScholarGoogle Scholar
  18. BARBOU DES PLACES, F. B., STEPHEN,N.,AND REYNOLDS, F. D. 1996. Linux on the OSF Mach3 Microkernel. Proceedings of the First Conference on Freely Redistributable Software, 33-46.]]Google ScholarGoogle Scholar
  19. BARRERA, J. 1991. A Fast Mach Network IPC Implementation. Proceedings of the Second USENIX Mach Symposium, 1-12.]]Google ScholarGoogle Scholar
  20. BASKETT, F., HOWARD,J.,AND MONTAGUE, T. 1977. Task Communication in DEMOS. Proceedings of the 6th Symposium on OS Principles, 23-31.]] Google ScholarGoogle Scholar
  21. BAUMANN, J., HOHL, F., ROTHERMEL, K., AND STRA~ER, M. 1998. Mole-Concepts of a Mobile Agent System. World Wide Web 1, 3, 123-137.]] Google ScholarGoogle Scholar
  22. BEGUELIN, A., DONGARRA, J., GEIST, A., MANCHEK, R., OTTO,S.,AND WALPOLE, J. 1993. PVM: Experiences, Current Status and Future Directions. Proceedings of Supercomputing 1993, 765-766.]]Google ScholarGoogle Scholar
  23. BERNSTEIN, P. A. 1996. Middleware: A Model for Distributed System Services. Communications of the ACM 39, 2, 86-98.]] Google ScholarGoogle Scholar
  24. BERSHAD, B., SAVAGE, S., PARDYAK, P., SIRER, E. G., FIUCZINSKI, M., BECKER, D., CHAMBERS, C., AND EGGERS, S. 1995. Extensibility, Safety and Performance in the SPIN Operating System. Proceedings of the 15th Symposium on Operating Systems Principles, 267-284.]] Google ScholarGoogle Scholar
  25. BHARAT,K.A.AND CARDELLI, L. 1995. Migratory Applications. Proceedings of the Eight Annual ACM Symposium on User Interface Software Technology.]] Google ScholarGoogle Scholar
  26. BLACK, A., HUTCHINSON, N., JUL, E., LEVY, H., AND CARTER, L. 1987. Distributed and Abstract Types in Emerald. IEEE Transactions on Software Engineering, SE-13, 1, 65-76.]] Google ScholarGoogle Scholar
  27. BLACK, D., GOLUB, D., JULIN, D., RASHID, R., DRAVES, R., DEAN, R., FORIN, A., BARRERA, J., TOKUDA, H., MALAN, G., AND BOHMAN, D. 1992. Microkernel Operating System Architecture and Mach. Proceedings of the USENIX Workshop on Micro- Kernels and Other Kernel Architectures, 11-30.]] Google ScholarGoogle Scholar
  28. BLACK, D., MILOJICIC, D., DEAN, R., DOMINIJANNI, M., LANGERMAN, A., SEARS, S. 1998. Extended Memory Management (XMM): Lessons Learned. Software-Practice and Experience 28, 9, 1011- 1031.]] Google ScholarGoogle Scholar
  29. BODEN, N., COHEN, D., FELDERMAN, R. E., KULAWIK, A. E., SEITZ, C. L., SEIZOVIC, J. N., AND SU, W.-K. 1995. Myrinet: A Gigabit-per-Second Local Area Network. IEEE Micro 15, 1, 29-38.]] Google ScholarGoogle Scholar
  30. BOKHARI, S. H. 1979. Dual Processor Scheduling with Dynamic Reassignment. IEEE Transactions on Software Engineering, SE-5, 4, 326-334.]]Google ScholarGoogle Scholar
  31. BOMBERGER, A. C., FRANTZ, W. S., HARDY, A. C., HARDY, N., LANDAU, C. R., AND SHAPIRO, J. S. 1992. The Key-KOS (R) Nanokernel Architecture. USENIX Workshop on Micro-Kernels and Other Kernel Architectures, 95-112.]] Google ScholarGoogle Scholar
  32. BOND, A. M. 1993. Adaptive Task Allocation in a Distributed Workstation Environment. Ph.D. Thesis, Victoria University at Wellington.]]Google ScholarGoogle Scholar
  33. BONOMI, F. AND KUMAR, A. 1988. Adaptive Optimal Load Balancing in a Heterogeneous Multiserver System with a Central Job Scheduler. Proceedings of the 8th International Conference on Distributed Computing Systems, 500-508.]]Google ScholarGoogle Scholar
  34. BORGHOFF U. M. 1991. Catalogue of Distributed File/Operating Systems. Springer Verlag.]] Google ScholarGoogle Scholar
  35. BOWEN, N. S., NIKOLAOU, C. N., AND GHAFOOR, A. 1988. Hierarchical Workload Allocation for Distributed Systems. Proceedings of the 1988 International Conference on Parallel Processing, II:102-109.]]Google ScholarGoogle Scholar
  36. BROOKS, C., MAZER, M. S., MEEKS, S., AND MILLER, J. 1995. Application-Specific Proxy Servers as HTTP Stream Transducers. Proceedings of the Fourth International World Wide Web Conference, 539-548.]]Google ScholarGoogle Scholar
  37. BRYANT, B. 1995. Design of AD 2, a Distributed UNIX Operating System. OSF Research Institute.]]Google ScholarGoogle Scholar
  38. BRYANT, R. M. AND FINKEL, R. A. 1981. A Stable Distributed Scheduling Algorithm. Proceedings of the 2nd International Conference on Distributed Computing Systems, 314-323.]]Google ScholarGoogle Scholar
  39. BUGNION, E., DEVINE, S., GOVIL, K., AND ROSENBLUM, M. 1997. Disco: running commodity operating systems on scalable multiprocessors. ACM Transactions on Computer Systems 15, 4, 412-447.]] Google ScholarGoogle Scholar
  40. BUTTERFIELD, D. A. AND POPEK, G. J. 1984. Network Tasking in the Locus Distributed UNIX System. Proceedings of the Summer USENIX Conference, 62-71.]]Google ScholarGoogle Scholar
  41. CABRERA, L. 1986. The Influence of Workload on Load Balancing Strategies. Proceedings of the Winter USENIX Conference, 446-458.]]Google ScholarGoogle Scholar
  42. CARDELLI, L. 1995. A Language with Distributed Scope. Proceedings of the 22nd Annual ACM Symposium on the Principles of Programming Languages, 286-297.]] Google ScholarGoogle Scholar
  43. CASAS, J., CLARK, D. L., CONURU, R., OTTO, S. W., PROUTY, R. M., AND WALPOLE, J. 1995. MPVM: A Migration Transparent Version of PVM. Computing Systems 8, 2, 171-216.]]Google ScholarGoogle Scholar
  44. CASAVANT, T. L. AND KUHL, J. 1988a. A Taxonomy of Scheduling in General-Purpose Distributed Computing Systems. IEEE Transactions on Software Engineering, SE-14(2), 141-152.]] Google ScholarGoogle Scholar
  45. CASAVANT, T. L. AND KUHL, J. 1988b. Effects of Response and Stability on Scheduling in Distributed Computing systems. IEEE Transactions on Software Engineering, SE-14(11), 1578- 1588.]] Google ScholarGoogle Scholar
  46. CHAPIN, J., ROSENBLUM, M., DEVINE, S., LAHIRI, T., TEO- DOSIU, D.,AND GUPTA, A. 1995. Hive: Fault Containment for Shared-Memory Multiprocessors. Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles, 12-25.]] Google ScholarGoogle Scholar
  47. CHAPIN, S. J. 1995. Distributed Scheduling Support in the Presence of Autonomy. Proceedings of the 4th Heterogeneous Computing Workshop, IPPS, 22-29.]]Google ScholarGoogle Scholar
  48. CHAPIN, S. J. 1993. Scheduling Support Mechanisms for Autonomous, Heterogeneous, Distributed Systems. Ph.D. Thesis, Technical Report CSD-TR-93-087, Purdue University.]] Google ScholarGoogle Scholar
  49. CHAPIN, S. J. AND SPAFFORD, E. H. 1994. Support for Implementing Scheduling Algorithms Using MESSIAHS. Scientific Programming, 3, 325- 340.]] Google ScholarGoogle Scholar
  50. CHAPIN, S. J. 1996. Distributed and Multiprocessor Scheduling. ACM Computing Surveys 28, 1, 233- 235.]] Google ScholarGoogle Scholar
  51. CHASE, J. S., AMADOR, F. G., LAZOWSKA, E. D., LEVY, H. M., AND LITTLEFIELD, R. J. 1989. The Amber System: Parallel Programming on a Network of Multiprocessors. Proceedings of the 12th ACM Symposium on Operating Systems Principles, 147-158.]] Google ScholarGoogle Scholar
  52. CHERITON, D. R. 1988. The V Distributed System. Communications of the ACM 31, 3, 314-333.]] Google ScholarGoogle Scholar
  53. CHERITON, D. 1990. Binary Emulation of UNIX Using the V Kernel. Proceedings of the Summer USENIX Conference, 73-86.]]Google ScholarGoogle Scholar
  54. CHESS, D., B., G., HARRISON, C., LEVINE, D., PARRIS, C., AND TSUDIK, G. 1995. Itinerant Agents for Mobile Computing. IEEE Personal Communications Magazine.]]Google ScholarGoogle Scholar
  55. CHOU, T. C. K. AND ABRAHAM, J. A. 1982. Load Balancing in Distributed Systems. IEEE Transactions on Software Engineering, SE-8, 4, 401-419.]]Google ScholarGoogle Scholar
  56. CHOU, T. C. K. AND ABRAHAM, J. A. 1983. Load Redistribution under Failure in Distributed Systems. IEEE Transactions on Computers, C-32, 9, 799- 808.]]Google ScholarGoogle Scholar
  57. CHOW, Y.-C. AND KOHLER, W. H. 1979. Models for Dynamic Load Balancing in a Heterogeneous Multiple Processor System. IEEE Transactions on Computers, C-28, 5, 354-361.]]Google ScholarGoogle Scholar
  58. COHN, D. L., DELANEY, W. P., AND TRACEY, K. M. 1989. Arcade: A Platform for Distributed Operating Systems. Proceedings of the USENIX Workshop on Experiences with Distributed and Multiprocessor Systems (WEBDMS), 373- 390.]]Google ScholarGoogle Scholar
  59. CONCEPCION, A. I. AND ELEAZAR, W. M. 1988. A Testbed for Comparative Studies of Adaptive Load Balancing Algorithms. Proceedings of the Distributed Simulation Conference, 131- 135.]]Google ScholarGoogle Scholar
  60. DANNENBERG, R. B. 1982. Resource Sharing in a Network of Personal Computers. Ph.D. Thesis, Technical Report CMU-CS-82-152, Carnegie Mellon University.]] Google ScholarGoogle Scholar
  61. DANNENBERG, R. B. AND HIBBARD, P. G. 1985. A Butler Process for Resource Sharing on a Spice Machine. IEEE Transactions on Office Information Systems 3, 3, 234-252.]] Google ScholarGoogle Scholar
  62. DEARLE A. DI BONA R., FARROW J., HENSKENS F., LINDSTROM A., ROSENBERG J. AND VAUGHAN F. 1994. Grasshopper: An Orthogonally Persistent Operating System. Computer Systems 7, 3, 289-312.]] Google ScholarGoogle Scholar
  63. DEDIU, H., CHANG, C. H., AND AZZAM, H. 1992. Heavyweight Process Migration. Proceedings of the Third Workshop on Future Trends of Distributed Computing Systems, 221-225.]]Google ScholarGoogle Scholar
  64. DENNING, P. J. 1980. Working Sets Past and Present. IEEE Transactions on Software Engineering, SE-6, 1, 64-84.]]Google ScholarGoogle Scholar
  65. DIKSHIT, P., TRIPATHI, S. K., AND JALOTE, P. 1989. SA- HAYOG: A Test Bed for Evaluating Dynamic Load-Sharing Policies. Software-Practice and Experience, 19, 411-435.]] Google ScholarGoogle Scholar
  66. DOUGLIS, F. AND OUSTERHOUT, J. 1987. Process Migration in the Sprite Operating System. Proceedings of the Seventh International Conference on Distributed Computing Systems, 18-25.]]Google ScholarGoogle Scholar
  67. DOUGLIS, F. 1989. Experience with Process Migration in Sprite. Proceedings of the USENIX Workshop on Experiences with Distributed and Multiprocessor Systems (WEBDMS), 59-72.]]Google ScholarGoogle Scholar
  68. DOUGLIS, F. 1990. Transparent Process Migration in the Sprite Operating System. Ph.D. Thesis, Technical Report UCB/CSD 90/598, CSD (EECS), University of California, Berkeley.]] Google ScholarGoogle Scholar
  69. DOUGLIS, F. AND OUSTERHOUT, J. 1991. Transparent Process Migration: Design Alternatives and the Sprite Implementation. Software-Practice and Experience 21, 8, 757-785.]] Google ScholarGoogle Scholar
  70. DUBACH, B. 1989. Process-Originated Migration in a Heterogeneous Environment. Proceedings of the 17th ACM Annual Computer Science Conference, 98-102.]] Google ScholarGoogle Scholar
  71. EAGER, D., LAZOWSKA, E., AND ZAHORJAN, J. 1986a. A Comparison of Receiver-Initiated and Sender- Initiated Adaptive Load Sharing. Performance Evaluation 6, 1, 53-68.]] Google ScholarGoogle Scholar
  72. EAGER, D., LAZOWSKA, E., AND ZAHORJAN, J. 1986b. Dynamic Load Sharing in Homogeneous Distributed Systems. IEEE Transactions on Software Engineering 12, 5, 662-675.]] Google ScholarGoogle Scholar
  73. EAGER, D., LAZOWSKA, E., AND ZAHORJAN, J. 1988. The Limited Performance Benefits of Migrating Active Processes for Load Sharing. Proceedings of the 1988 ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, Performance Evaluation Review 16,1, 63-72.]] Google ScholarGoogle Scholar
  74. EFE, K. 1982. Heuristic Models of Task Assignment Scheduling in Distributed Systems. IEEE Computer, 15, 6, 50-56.]]Google ScholarGoogle Scholar
  75. EFE, K. AND GROSELJ, B. 1989. Minimizing Control Overheads in Adaptive Load Sharing. Proceedings of the 9th International Conference on Distributed Computing Systems, 307-315.]]Google ScholarGoogle Scholar
  76. ENGLER, D. R., KAASHOEK, M. F., AND O'TOOLE, J. J. 1995. Exokernel: An Operating System Architecture for Application-Level Resource Management. Proceedings of the 15th Symposium on Operating Systems Principles, 267-284.]] Google ScholarGoogle Scholar
  77. ESKICIOGLU, M. R. 1990. Design Issues of Process Migration Facilities in Distributed Systems. IEEE Technical Committee on Operating Systems Newsletter 4, 2, 3-13.]]Google ScholarGoogle Scholar
  78. EZZAT, A., BERGERON, D., AND POKOSKI, J. 1986. Task Allocation Heuristics for Distributed Computing Systems. Proceedings of the 6th International Conference on Distributed Computing Systems.]]Google ScholarGoogle Scholar
  79. FARMER, W. M., GUTTMAN, J. D., AND SWARUP, V. 1996. Security for Mobile Agents: Issues and Requirements. Proceedings of the National Information Systems Security Conference, 591-597.]]Google ScholarGoogle Scholar
  80. FEITELSON, D. G. AND RUDOLPH, L. 1990. Mapping and Scheduling in a Shared Parallel Environment Using Distributed Hierarchical Control. Proceedings of the 1990 International Conference on Parallel Processing, I: 1-8.]]Google ScholarGoogle Scholar
  81. FERRARI, D. AND ZHOU., S. 1986. A Load Index for Dynamic Load Balancing. Proceedings of the 1986 Fall Joint Computer Conference, 684-690.]] Google ScholarGoogle Scholar
  82. FINKEL, R., SCOTT, M., ARTSY, Y., AND CHANG, H. 1989. Experience with Charlotte: Simplicity and Function in a Distributed Operating system. IEEE Transactions on Software Engineering, SE-15,6, 676-685.]] Google ScholarGoogle Scholar
  83. FLEISCH, B. D. AND POPEK, G. J. 1989. Mirage: A Coherent Distributed Shared Memory Design. Proceedings of the 12th ACM Symposium on Operating System Principles, 211-223.]] Google ScholarGoogle Scholar
  84. FREEDMAN, D. 1991. Experience Building a Process Migration Subsystem for UNIX. Proceedings of the Winter USENIX Conference, 349-355.]]Google ScholarGoogle Scholar
  85. GAIT, J. 1990. Scheduling and Process Migration in Partitioned Multiprocessors. Journal of Parallel and Distributed Computing 8, 3, 274-279.]] Google ScholarGoogle Scholar
  86. GAO, C., LIU, J. W. S., AND RAILEY, M. 1984. Load Balancing Algorithms in Homogeneous Distributed Systems. Proceedings of the 1984 International Conference on Parallel Processing, 302-306.]]Google ScholarGoogle Scholar
  87. GERRITY, G. W., GOSCINSKI, A., INDULSKA, J., TOOMEY, W., AND ZHU, W. 1991. Can We Study Design Issues of Distributed Operating Systems in a Generalized Way? Proceedings of the Second USENIX Symposium on Experiences with Distributed and Multiprocessor Systems, 301-320.]]Google ScholarGoogle Scholar
  88. GOLDBERG, A. AND JEFFERSON, D. 1987. Transparent Process Cloning: A Tool for Load Management of Distributed Systems. Proceedings of the 8th International Conference on Parallel Processing, 728-734.]]Google ScholarGoogle Scholar
  89. GOLUB, D., DEAN, R., FORIN, A., AND RASHID, R. 1990. UNIX as an Application Program. Proceedings of the Summer USENIX Conference, 87-95.]]Google ScholarGoogle Scholar
  90. GOPINATH, P. AND GUPTA, R. 1991. A Hybrid Approach to Load Balancing in Distributed Systems. Proceedings of the USENIX Symposium on Experiences with Distributed and Multiprocessor Systems, 133-148.]]Google ScholarGoogle Scholar
  91. GOSCINSKI, A. 1991. Distributed Operating Systems: The Logical Design. Addison Wesley.]] Google ScholarGoogle Scholar
  92. GOSLING, J., JOY, B., AND STEELE, G. 1996. The Java Language Specification. Addison Wesley.]] Google ScholarGoogle Scholar
  93. GRAY, R. 1995. Agent Tcl: A flexible and secure mobileagent system. Ph.D. thesis, Technical Report TR98-327, Department of Computer Science, Dartmouth College, June 1997.]] Google ScholarGoogle Scholar
  94. GRIMSHAW, A. AND WULF, W. 1997. The Legion Vision of a Worldwide Virtual Computer. Communications of the ACM 40, 1, 39-45.]] Google ScholarGoogle Scholar
  95. GUPTA, R. AND GOPINATH, P. 1990. A Hierarchical Approach to Load Balancing in Distributed Systems. Proceedings of the Fifth Distributed Memory Computing Conference, II, 1000-1005.]]Google ScholarGoogle Scholar
  96. HAC, A. 1989a. A Distributed Algorithm for Performance Improvement Through File Replication, File Migration, and Process Migration. IEEE Transactions on Software Engineering 15, 11, 1459-1470.]] Google ScholarGoogle Scholar
  97. HAC, A. 1989b. Load Balancing in Distributed Systems: A Summary. Performance Evaluation Review, 16, 17-25.]] Google ScholarGoogle Scholar
  98. HAERTIG, H., KOWALSKI, O. C., AND KUEHNHAUSER, W. E. 1993. The BirliX Security Architecture.]]Google ScholarGoogle Scholar
  99. HAGMANN, R. 1986. Process Server: Sharing Processing Power in a Workstation Environment. Proceedings of the 6th International Conference on Distributed Computing Systems, 260-267.]]Google ScholarGoogle Scholar
  100. HAMILTON, G. AND KOUGIOURIS, P. 1993. The Spring Nucleus: A Microkernel for Objects. Proceedings of the 1993 Summer USENIX Conference, 147- 160.]]Google ScholarGoogle Scholar
  101. HAN, Y. AND FINKEL, R. 1988. An Optimal Scheme for Disseminating Information. Proceedings of the 1988 International Conference on Parallel Processing, II, 198-203.]]Google ScholarGoogle Scholar
  102. HARCHOL-BALTER, M. AND DOWNEY, A. 1997. Exploiting Process Lifetime Distributions for Dynamic Load Balancing. ACM Transactions on Computer Systems 15, 3, 253-285. Previously appeared in the Proceedings of ACM Sigmetrics 1996 Conference on Measurement and Modeling of Computer Systems, 13-24, May 1996.]] Google ScholarGoogle Scholar
  103. HILDEBRAND, D. 1992. An Architectural Overview of QNX. Proceedings of the USENIX Workshop on Micro-Kernels and Other Kernel Architectures, 113-126.]] Google ScholarGoogle Scholar
  104. HOFMANN, M.O., MCGOVERN, A., AND WHITEBREAD, K. 1998. Mobile Agents on the Digital Battlefield. Proceedings of the Autonomous Agents '98, 219- 225.]] Google ScholarGoogle Scholar
  105. HOHL, F. 1998. A Model of Attacks of Malicious Hosts Against Mobile Agents. Proceedings of the 4th Workshop on Mobile Objects Systems, INRIA Technical Report, 105-120.]] Google ScholarGoogle Scholar
  106. HWANG, K., CROFT, W., WAH, B., BRIGGS, F., SIMONS, W., AND COATES, C. 1982. A UNIX-Based Local Computer Network with Load Balancing. IEEE Computer, 15, 55-66.]]Google ScholarGoogle Scholar
  107. JACQMOT, C. 1996. Load Management in Distributed Computing Systems: Towards Adaptive Strategies. Technical Report, Ph.D. Thesis, Departement d'Ingenierie Informatique, Universite catholique de Louvain.]]Google ScholarGoogle Scholar
  108. JOHANSEN, D., VAN RENESSE, R., AND SCHNEIDER, F. 1995. Operating System Support for Mobile Agents. Proceedings of the 5th Workshop on Hot Topics in Operating Systems, 42-45.]] Google ScholarGoogle Scholar
  109. JUL, E., LEVY, H., HUTCHINSON, N., AND BLACK, A. 1988. Fine-Grained Mobility in the Emerald System. ACM Transactions on Computer Systems 6, 1, 109-133.]] Google ScholarGoogle Scholar
  110. JUL, E. 1988. Object Mobility in a Distributed Object-Oriented System. Technical Report 88- 12-06, Ph.D. Thesis, Department of Computer Science, University of Washington, Also Technical Report no. 98/1, University of Copenhagen DIKU.]] Google ScholarGoogle Scholar
  111. JUL, E. 1989. Migration of Light-weight Processes in Emerald. IEEE Technical Committee on Operating Systems Newsletter, 3(1)(1):20-23.]]Google ScholarGoogle Scholar
  112. KAASHOEK, M. F., VAN RENESSE, R., VAN STAVEREN, H., AND TANENBAUM, A. S. 1993. FLIP: An Internetwork Protocol for Supporting Distributed Systems. ACM Transactions on Computer Systems, 11(1).]] Google ScholarGoogle Scholar
  113. KEMPER, A., KOSSMANN, D. 1995. Adaptable Pointer Swizzling Strategies in Object Bases: Design, Realization, and Quantitative Analysis. VLDB Journal 4(3): 519-566(1995).]] Google ScholarGoogle Scholar
  114. KHALIDI, Y. A., BERNABEU, J. M., MATENA, V., SHIRIFF, K., AND THADANI, M. 1996. Solaris MC: A Multi- Computer OS. Proceedings of the USENIX 1996 Annual Technical Conference, 191-204.]] Google ScholarGoogle Scholar
  115. KLEINROCK, L. 1976. Queueing Systems vol. 2: Computer Applications. Wiley, New York.]]Google ScholarGoogle Scholar
  116. KNABE, F. C. 1995. Language Support for Mobile Agents. Technical Report CMU-CS-95-223, Ph.D. Thesis, School of Computer Science, Carnegie Mellon University, Also Technical Report ECRC-95-36, European Computer Industry Research Centre.]]Google ScholarGoogle Scholar
  117. KOTZ, D., GRAY, R., NOG, S., RUS, D., CHAWLA, S., AND CYBENKO., G. 1997. Agent Tcl: Targeting the needs of mobile computers. IEEE Internet Computing 1, 4, 58-67.]] Google ScholarGoogle Scholar
  118. KREMIEN, O. AND KRAMER, J. 1992. Methodical Analysis of Adaptive Load Sharing Algorithms. IEEE Transactions on Parallel and Distributed Systems 3, 6, 747-760.]] Google ScholarGoogle Scholar
  119. KRUEGER, P. AND LIVNY, M. 1987. The Diverse Objectives of Distributed Scheduling Policies. Proceedings of the 7th International Conference on Distributed Computing Systems, 242-249.]]Google ScholarGoogle Scholar
  120. KRUEGER, P. AND LIVNY, M. 1988. A Comparison of Preemptive and Non-Preemptive Load Balancing. Proceedings of the 8th International Conference on Distributed Computing Systems, 123- 130.]]Google ScholarGoogle Scholar
  121. KRUEGER, P. AND CHAWLA, R. 1991. The Stealth Distributed Scheduler. Proceedings of the 11th International Conference on Distributed Computing Systems, 336-343.]]Google ScholarGoogle Scholar
  122. KUNZ, T. 1991. The Influence of Different Workload Descriptions on a Heuristic Load Balancing Scheme. IEEE Transactions on Software Engineering 17, 7, 725-730.]] Google ScholarGoogle Scholar
  123. LAMPSON, B. 1983. Hints for Computer System Design. Proceedings of the Ninth Symposium on Operating System Principles, 33-48.]] Google ScholarGoogle Scholar
  124. LANGE, D. AND OSHIMA, M. 1998. Programming Mobile Agents in JavaTM-With the Java Aglet API. Addison Wesley Longman.]]Google ScholarGoogle Scholar
  125. LAZOWSKA, E. D., LEVY, H. M., ALMES, G. T., FISHER, M. J., FOWLER, R. J., AND VESTAL, S. C. 1981. The Architecture of the Eden System. Proceedings of the 8th ACM Symposium on Operating Systems Principles, 148-159.]] Google ScholarGoogle Scholar
  126. LEA, R., JACQUEMOT, C., AND PILLVESSE, E. 1993. COOL: System Support for Distributed Programming. Communications of the ACM 36, 9, 37-47.]] Google ScholarGoogle Scholar
  127. LELAND, W. AND OTT, T. 1986. Load Balancing Heuristics and Process Behavior. Proceedings of the SIGMETRICS Conference, 54-69.]] Google ScholarGoogle Scholar
  128. LIEDTKE, J. 1993. Improving IPC by Kernel Design. Proceedings of the Fourteenth Symposium on Operating Systems Principles, 175-188.]] Google ScholarGoogle Scholar
  129. LITZKOW, M 1987. Remote UNIX-Turning Idle Work-stations into Cycle Servers. Proceedings of the Summer USENIX Conference, 381- 384.]]Google ScholarGoogle Scholar
  130. LITZKOW, M., LIVNY, M., AND MUTKA, M. 1988. Condor A Hunter of Idle Workstations. Proceedings of the 8th International Conference on Distributed Computing Systems, 104-111.]]Google ScholarGoogle Scholar
  131. LITZKOW, M. AND SOLOMON, M. 1992. Supporting Checkpointing and Process Migration outside the UNIX Kernel. Proceedings of the USENIX Winter Conference, 283-290.]]Google ScholarGoogle Scholar
  132. LIVNY, M. AND MELMAN, M. 1982. Load Balancing in Homogeneous Broadcast Distributed Systems. Proceedings of the ACM Computer Network Performance Symposium, 47-55.]] Google ScholarGoogle Scholar
  133. LO, V. 1984. Heuristic Algorithms for Task Assignments in Distributed Systems. Proceedings of the 4th International Conference on Distributed Computing Systems, 30-39.]]Google ScholarGoogle Scholar
  134. LO, V. 1989. Process Migration for Communication Performance. IEEE Technical Committee on Operating Systems Newsletter 3, 1, 28-30.]]Google ScholarGoogle Scholar
  135. LO, V. 1988. Algorithms for Task Assignment and Contraction in Distributed Computing Systems. Proceedings of the 1988 International Conference on Parallel Processing, II, 239-244.]]Google ScholarGoogle Scholar
  136. LOUBOUTIN, S. 1991. An Implementation of a Process Migration Mechanism using Minix. Proceedings of 1991 European Autumn Conference, Budapest, Hungary, 213-224.]]Google ScholarGoogle Scholar
  137. LU, C., CHEN, A., AND LIU, J. 1987. Protocols for Reliable Process Migration. INFOCOM 1987, The 6th Annual Joint Conference of IEEE Computer and Communication Societies.]]Google ScholarGoogle Scholar
  138. LU, C. 1988. Process Migration in Distributed Systems. Ph.D. Thesis, Technical Report, University of Illinois at Urbana-Champaign.]] Google ScholarGoogle Scholar
  139. LUX, W., HAERTIG, H., AND KUEHNHAUSER, W. E. 1993. Migrating Multi-Threaded, Shared Objects. Proceedings of 26th Hawaii International Conference on Systems Sciences, II, 642-649.]]Google ScholarGoogle Scholar
  140. LUX, W. 1995. Adaptable Object Migration: Concept and Implementation. Operating Systems Review 29, 2, 54-69.]] Google ScholarGoogle Scholar
  141. MA, P. AND LEE, E. 1982. A Task Allocation Model for Distributed Computing Systems. IEEE Transactions on Computers, C-31, 1, 41-47.]]Google ScholarGoogle Scholar
  142. MAGUIRE, G. AND SMITH, J. 1988. Process Migrations: Effects on Scientific Computation. ACM SIGPLAN Notices, 23, 2, 102-106.]] Google ScholarGoogle Scholar
  143. MALAN, G., RASHID, R., GOLUB, D., AND BARON, R. 1991. DOS as a Mach 3.0 Application. Proceedings of the Second USENIX Mach Symposium, 27- 40.]]Google ScholarGoogle Scholar
  144. MANDELBERG, K. AND SUNDERAM, V. 1988. Process Migration in UNIX Networks. Proceedings of USENIX Winter Conference, 357-363.]]Google ScholarGoogle Scholar
  145. MEHRA, P. AND WAH, B. W. 1992. Physical Level Synthetic Workload Generation for Load-Balancing Experiments. Proceedings of the First Symposium on High Performance Distributed Computing, 208-217.]]Google ScholarGoogle Scholar
  146. MILLER, B. AND PRESOTTO, D. 1981. XOS: an Operating System for the XTREE Architecture. Operating Systems Review, 2, 15, 21-32.]] Google ScholarGoogle Scholar
  147. MILLER, B., PRESOTTO, D., AND POWELL, M. 1987. DE- MOS/MP: The Development of a Distributed Operating System. Software-Practice and Experience 17, 4, 277-290.]] Google ScholarGoogle Scholar
  148. MILOJICIC, D. S., BREUGST, B., BUSSE, I., CAMPBELL, J., COVACI, S., FRIEDMAN, B., KOSAKA, K., LANGE, D., ONO, K., OSHIMA, M., THAM, C., VIRDHAGRISWARAN, S., AND WHITE, J. 1998b. MASIF, The OMG Mobile Agent System Interoperability Facility. Proceedings of the Second International Workshop on Mobile Agents, pages 50-67. Also appeared in Springer Journal on Personal Technologies, 2, 117-129, 1998.]] Google ScholarGoogle Scholar
  149. MILOJICIC, D. S., CHAUHAN, D., AND LAFORGE, W. 1998a. Mobile Objects and Agents (MOA), Design, Implementation and Lessons Learned. Proceedings of the 4th USENIX Conference on Object-Oriented Technologies (COOTS), 179- 194. Also appeared in IEE Proceedings- Distributed Systems Engineering, 5, 1-14, 1998.]] Google ScholarGoogle Scholar
  150. MILOJICIC, D., DOUGLIS, F., WHEELER, R. 1999. Mobility: Processes, Computers, and Agents. Addison- Wesley Longman and ACM Press.]] Google ScholarGoogle Scholar
  151. MILOJICIC, D., GIESE, P., AND ZINT, W. 1993a. Experiences with Load Distribution on Top of the Mach Microkernel. Proceedings of the USENIX Symposium on Experiences with Distributed and Multiprocessor Systems.]] Google ScholarGoogle Scholar
  152. MILOJICIC, D., ZINT, W., DANGEL, A., AND GIESE, P. 1993b. Task Migration on the top of the Mach Microkernel. Proceedings of the third USENIX Mach Symposium, 273-290.fc]] Google ScholarGoogle Scholar
  153. MILOJICIC, D. 1993c. Load Distribution, Implementation for the Mach Microkernel. Ph.D. Thesis, Technical Report, University of Kaiserslautern. Also Vieweg, Wiesbaden, 1994.]]Google ScholarGoogle Scholar
  154. MILOJICIC, D., LANGERMAN, A., BLACK, D., SEARS, S., DOMINIJANNI, M., AND DEAN, D. 1997. Concurrency, a Case Study in Remote Tasking and Distributed IPC. IEEE Concurrency 5, 2, 39-49.]] Google ScholarGoogle Scholar
  155. MIRCHANDANEY, R., TOWSLEY, D., AND STANKOVIC, J. 1989. Analysis of the Effects of Delays on Load Sharing. IEEE Transactions on Computers 38, 11, 1513-1525.]] Google ScholarGoogle Scholar
  156. MIRCHANDANEY, R., TOWSLEY, D., AND STANKOVIC, J. 1990. Adaptive Load Sharing in Heterogeneous Distributed Systems. Journal of Parallel and Distributed Computing, 331-346.]] Google ScholarGoogle Scholar
  157. MULLENDER, S. J., VAN ROSSUM, G., TANENBAUM, A. S., VAN RENESSE, R., AND VAN STAVEREN, H. 1990. Amoeba-A Distributed Operating System for the 1990s. IEEE Computer 23, 5, 44- 53.]] Google ScholarGoogle Scholar
  158. MUTKA, M. AND LIVNY, M. 1987. Scheduling Remote Processing Capacity in a Workstation Processor Bank Computing System. Proceedings of the 7th International Conference on Distributed Computing Systems, 2-7.]]Google ScholarGoogle Scholar
  159. NELSON, M. N., AND OUSTERHOUT, J. K. 1988. Copyon-Write for Sprite. Proceedings of the Summer 1988 USENIX Conference, 187-201.]]Google ScholarGoogle Scholar
  160. NELSON, M. N., WELCH, B. B., AND OUSTERHOUT, J. K. 1988. Caching in the Sprite Network File System. ACM Transaction on Computer Systems 6, 1, 134-54.]] Google ScholarGoogle Scholar
  161. NELSON, R. AND SQUILLANTE, M. 1995. Stochastic Analysis of Affinity Scheduling and Load Balancing in Parallel Processing Systems. IBM Research Report RC 20145.]]Google ScholarGoogle Scholar
  162. NI, L. M. AND HWANG, K. 1985. Optimal Load Balancing in a Multiple Processor System with Many Job Classes. IEEE Transactions on Software Engineering, SE-11, 5, 491-496.]]Google ScholarGoogle Scholar
  163. NICHOLS, D. 1987. Using Idle Workstations in a Shared Computing Environment. Proceedings of the 11th Symposium on OS Principles, 5-12.]] Google ScholarGoogle Scholar
  164. NICHOLS, D. 1990. Multiprocessing in a Network of Workstations. Ph.D. Thesis, Technical Report CMU-CS-90-107, Carnegie Mellon University.]] Google ScholarGoogle Scholar
  165. NUTTAL, M. 1994. Survey of Systems Providing Process or Object Migration. Operating System Review, 28, 4, 64-79.]] Google ScholarGoogle Scholar
  166. OMG,1996. Common Object Request Broker Architecture and Specification. Object Management Group Document Number 96.03.04.]]Google ScholarGoogle Scholar
  167. OUSTERHOUT, J., CHERENSON, A., DOUGLIS, F., NELSON, M., AND WELCH, B. 1988. The Sprite Network Operating System. IEEE Computer, 23-26.]] Google ScholarGoogle Scholar
  168. OUSTERHOUT, J. 1994. TcL and the Tk Toolkit. Addison-Wesley Longman.]] Google ScholarGoogle Scholar
  169. PAINDAVEINE, Y. AND MILOJICIC, D. 1996. Process v. Task Migration. Proceedings of the 29th Annual Hawaii International Conference on System Sciences, 636-645.]] Google ScholarGoogle Scholar
  170. PARTRIDGE, C. 1994. Gigabit Networking. Addison Wesley.]] Google ScholarGoogle Scholar
  171. PEINE, H. AND STOLPMANN, T. 1997. The Architecture of the Ara Platform for Mobile Agents. Proceedings of the First International Workshop on Mobile Agents (MA'97). LNCS 1219, Springer Verlag, 50-61.]] Google ScholarGoogle Scholar
  172. PETRI, S. AND LANGENDORFER, H. 1995. Load Balancing and Fault Tolerance in Workstation Clusters Migrating Groups of Communicating Processes. Operating Systems Review 29 4, 25-36.]] Google ScholarGoogle Scholar
  173. PHELAN, J. M. AND ARENDT, J. W. 1993. An OS/2 Personality on Mach. Proceedings of the third USENIX Mach Symposium, 191-202.]] Google ScholarGoogle Scholar
  174. PHILIPPE, L. 1993. Contribution ~ l'~tude et la r~alisation d'un syst~me d'exploitation ~ image unique pour multicalculateur. Ph.D. Thesis, Technical Report 308, Universit~ de Franchecomt~.]]Google ScholarGoogle Scholar
  175. PIKE, R., PRESOTTO, D., THOMPSON, K., AND TRICKEY, H. 1990. Plan 9 from Bell Labs. Proceedings of the UKUUG Summer 1990 Conference, 1-9.]]Google ScholarGoogle Scholar
  176. PLATFORM COMPUTING. 1996. LSF User's and Administrator's Guides, Version 2.2, Platform Computing Corporation.]]Google ScholarGoogle Scholar
  177. POPEK, G., WALKER, B. J., CHOW, J., EDWARDS, D., KLINE, C., RUDISIN, G., AND THIEL, G. 1981. Locus: a Network-Transparent, High Reliability Distributed System. Proceedings of the 8th Symposium on Operating System Principles, 169- 177.]] Google ScholarGoogle Scholar
  178. POPEK, G. AND WALKER, B. 1985. The Locus Distributed System Architecture. MIT Press.]] Google ScholarGoogle Scholar
  179. POWELL, M. AND MILLER, B. 1983. Process Migration in DEMOS/MP. Proceedings of the 9th Symposium on Operating Systems Principles, 110- 119.]] Google ScholarGoogle Scholar
  180. PU, C., AUTREY, T., BLACK, A., CONSEL, C., COWAN, C., IN- OUYE, J., KETHANA, L., WALPOLE, J., AND ZHANG, K. 1995. Optimistic Incremental Specialization. Proceedings of the 15th Symposium on Operating Systems Principles, 314-324.]] Google ScholarGoogle Scholar
  181. QUISQUATER, J.-J. AND DESMEDT, Y. G. 1991. Chinese Lotto as an Exhaustive Code-Breaking Machine. IEEE Computer 24, 11, 14-22.]] Google ScholarGoogle Scholar
  182. RANGANATHAN, M., ACHARYA, A., SHARMA, S.D., AND SALTZ, J. 1997. Networkaware Mobile Programs. Proceedings of the USENIX 1997 Annual Technical Conference, 91-103.]] Google ScholarGoogle Scholar
  183. RASHID, R. AND ROBERTSON, G. 1981. Accent: a Communication Oriented Network Operating System Kernel. Proceedings of the 8th Symposium on Operating System Principles, 64-75.]] Google ScholarGoogle Scholar
  184. RASHID, R. 1986. From RIG to Accent to Mach: The Evolution of a Network Operating System. Proceedings of the ACM/IEEE Computer Society Fall Joint Computer Conference, 1128-1137.]] Google ScholarGoogle Scholar
  185. ROSENBERRY, W., KENNEY, D., AND FISHER, G. 1992. Understanding DCE. O'Reilly & Associates, Inc.]] Google ScholarGoogle Scholar
  186. ROTHERMEL, K., AND HOHL, F. 1998. Mobile Agents. Proceedings of the Second International Workshop, MA'98, Springer Verlag.]] Google ScholarGoogle Scholar
  187. ROUSH, E. T. 1995. The Freeze Free Algorithm for process Migration. Ph.D. Thesis, Technical Report, University of Illinois at Urbana- Champaign.]] Google ScholarGoogle Scholar
  188. ROUSH, E. T. AND CAMPBELL, R. 1996. Fast Dynamic Process Migration. Proceedings of the International Conference on Distributed Computing Systems, 637-645.]] Google ScholarGoogle Scholar
  189. ROWE, L. AND BIRMAN, K. 1982. A Local Network Based on the UNIX Operating System. IEEE Transactions on Software Engineering, SE-8, 2, 137-146.]]Google ScholarGoogle Scholar
  190. ROZIER, M. 1992. Chorus (Overview of the Chorus Distributed Operating System). USENIX Workshop on Micro Kernels and Other Kernel Architectures, 39-70.]] Google ScholarGoogle Scholar
  191. SCHILL, A. AND MOCK, M. 1993. DC++ : Distributed Object Oriented System Support on top of OSF DCE. Distributed Systems Engineering 1, 2, 112-125.]]Google ScholarGoogle Scholar
  192. SCHRIMPF, H. 1995. Migration of Processes, Files and Virtual Devices in the MDX Operating System. Operating Systems Review 29, 2, 70-81.]] Google ScholarGoogle Scholar
  193. SHAMIR, E. AND UPFAL, E. 1987. A Probabilistic Approach to the Load Sharing Problem in Distributed Systems. Journal of Parallel and Distributed Computing, 4, 5, 521-530.]] Google ScholarGoogle Scholar
  194. SHAPIRO, M. 1986. Structure and Encapsulation in Distributed Systems: The PROXY Principle. Proceedings of the 6th International Conference on Distributed Computing Systems, 198- 204.]]Google ScholarGoogle Scholar
  195. SHAPIRO, M., DICKMAN, P., AND PLAINFOSS~, D. 1992. Robust, Distributed References and Acyclic Garbage Collection. Proceedings of the Symposium on Principles of Distributed Computing, 135-146.]] Google ScholarGoogle Scholar
  196. SHAPIRO, M., GAUTRON, P., AND MOSSERI, L. 1989. Persistence and Migration for C CC Objects. Proceedings of the ECOOP 1989-European Conference on Object-Oriented Programming.]]Google ScholarGoogle Scholar
  197. SHIVARATRI, N. G. AND KRUEGER, P. 1990. Two Adaptive Location Policies for Global Scheduling Algorithms. Proceedings of the 10th International Conference on Distributed Computing Systems, 502-509.]]Google ScholarGoogle Scholar
  198. SHIVARATRI, N., KRUEGER, P., AND SINGHAL, M. 1992. Load Distributing for Locally Distributed Systems. IEEE Computer, 33-44.]] Google ScholarGoogle Scholar
  199. SHOHAM, Y. 1997. An Overview of Agent-oriented Programming. in J. M. Bradshaw, editor, Software Agents, 271-290. MIT Press.]] Google ScholarGoogle Scholar
  200. SHOCH, J. AND HUPP, J. 1982. The Worm Programs- Early Experience with Distributed Computing. Communications of the ACM 25, 3, 172-180.]] Google ScholarGoogle Scholar
  201. SHUB, C. 1990. Native Code Process-Originated Migration in a Heterogeneous Environment. Proceedings of the 18th ACM Annual Computer Science Conference, 266-270.]] Google ScholarGoogle Scholar
  202. SINGHAL, M. AND SHIVARATRI, N. G. 1994. Advanced Concepts in Operating Systems. McGraw-Hill.]] Google ScholarGoogle Scholar
  203. SINHA, P., MAEKAWA, M., SHIMUZU, K., JIA, X., ASHIHARA, UTSUNOMIYA, N., PARK, AND NAKANO, H. 1991. The Galaxy Distributed Operating System. IEEE Computer 24, 8, 34-40.]] Google ScholarGoogle Scholar
  204. SKORDOS, P. 1995. Parallel Simulation of Subsonic Fluid Dynamics on a Cluster of Workstations. Proceedings of the Fourth IEEE International Symposium on High Performance Distributed Computing.]] Google ScholarGoogle Scholar
  205. SMITH, J. M. 1988. A Survey of Process Migration Mechanisms. Operating Systems Review 22,3, 28-40.]] Google ScholarGoogle Scholar
  206. SMITH, J. M. AND IOANNIDIS, J. 1989. Implementing Remote fork() with Checkpoint-Restart. IEEE Technical Committee on Operating Systems Newsletter 3, 1, 15-19.]]Google ScholarGoogle Scholar
  207. SMITH, P. AND HUTCHINSON, N. 1998. Heterogeneous Process Migration: The Tui System. Software- Practice and Experience 28, 6, 611-639.]] Google ScholarGoogle Scholar
  208. SOH, J. AND THOMAS, V. 1987. Process Migration for Load Balancing in Distributed Systems. TEN- CON, 888-892.]]Google ScholarGoogle Scholar
  209. SQUILLANTE, M. S. AND NELSON, R. D. 1991. Analysis of Task Migration in Shared-Memory Multiprocessor Scheduling. Proceedings of the ACM SIG- METRICS Conference 19, 1, 143-155.]] Google ScholarGoogle Scholar
  210. STANKOVIC, J. A. 1984. Simulation of the three Adaptive Decentralized Controlled Job Scheduling algorithms. Computer Networks, 199-217.]] Google ScholarGoogle Scholar
  211. STEENSGAARD, B. AND JUL, E. 1995. Object and Native Code Thread Mobility. Proceedings of the 15th Symposium on Operating Systems Principles, 68-78.]] Google ScholarGoogle Scholar
  212. STEKETEE, C., ZHU, W., AND MOSELEY, P. 1994. Implementation of Process Migration in Amoeba. Proceedings of the 14th International Conference on Distributed Computer Systems, 194-203.]]Google ScholarGoogle Scholar
  213. STONE, H. 1978. Critical Load Factors in Two- Processor Distributed Systems. IEEE Transactions on Software Engineering, SE-4, 3, 254-258.]]Google ScholarGoogle Scholar
  214. STONE, H. S. AND BOKHARI, S. H. 1978. Control of Distributed Processes. IEEE Computer 11, 7, 97- 106.]]Google ScholarGoogle Scholar
  215. STUMM, M. 1988. The Design and Implementation of a Decentralized Scheduling Facility for a Workstation Cluster. Proceedings of the Second Conference on Computer Workstations, 12- 22.]]Google ScholarGoogle Scholar
  216. SUN MICROSYSTEMS. 1998. JiniTM Software Simplifies Network Computing. http://www.sun.com/ 980713/jini/feature.jhtml.]]Google ScholarGoogle Scholar
  217. SVENSSON, A. 1990. History, an Intelligent Load Sharing Filter. Proceedings of the 10th International Conference on Distributed Computing Systems, 546-553.]]Google ScholarGoogle Scholar
  218. SWANSON, M., STOLLER, L., CRITCHLOW, T., AND KESSLER, R. 1993. The Design of the Schizophrenic Workstation System. Proceedings of the third USENIX Mach Symposium, 291-306.]] Google ScholarGoogle Scholar
  219. TANENBAUM, A. S., RENESSE, R. VAN, STAVEREN, H. VAN., SHARP, G. J., MULLENDER, S. J., JANSEN, A. J., AND VAN ROSSUM, G. 1990. Experiences with the Amoeba Distributed Operating System. Communications of the ACM, 33, 12, 46-63.]] Google ScholarGoogle Scholar
  220. TANENBAUM, A. 1992. Modern Operating Systems. Prentice Hall, Englewood Cliffs, New Jersey.]] Google ScholarGoogle Scholar
  221. TARDO, J. AND VALENTE, L. 1996. Mobile Agent Security and Telescript. Proceedings of COMPCON'96, 52-63.]] Google ScholarGoogle Scholar
  222. TEODOSIU, D. 2000. End-to-End Fault Containment in Scalable Shared-Memory Multiprocessors. Ph.D. Thesis, Technical Report, Stanford University.]] Google ScholarGoogle Scholar
  223. THEIMER, M. H. AND HAYES, B. 1991. Heterogeneous Process Migration by Recompilation. Proceedings of the 11th International Conference on Distributed Computer Systems, 18-25.]]Google ScholarGoogle Scholar
  224. THEIMER, M. AND LANTZ, K. 1988. Finding Idle Machines in a Workstation-Based Distributed System. IEEE Transactions on Software Engineering, SE-15, 11, 1444-1458.]] Google ScholarGoogle Scholar
  225. THEIMER, M., LANTZ, K., AND CHERITON, D. 1985. Preemptable Remote Execution Facilities for the V System. Proceedings of the 10th ACM Symposium on OS Principles, 2-12.]] Google ScholarGoogle Scholar
  226. TRACEY, K. M. 1991. Processor Sharing for Cooperative Multi-task Applications. Ph.D. Thesis, Technical Report, Department of Electrical Engineering, Notre Dame, Indiana.]] Google ScholarGoogle Scholar
  227. TRITSCHER, S. AND BEMMERL, T. 1992. Seitenorientierte Prozessmigration als Basis fuer Dynamischen Lastausgleich. GI/ITG Pars Mitteilungen, no 9, 58-62.]]Google ScholarGoogle Scholar
  228. TSCHUDIN, C. 1997. The Messenger Environment MO - A condensed description. In Mobile Object Systems: Towards the Programmable Internet, LNCS 1222, Springer Verlag, 149-156.]] Google ScholarGoogle Scholar
  229. VAN DIJK, G. J. W. AND VAN GILS, M. J. 1992. Efficient process migration in the EMPS multiprocessor system. Proceedings 6th International Parallel Processing Symposium, 58-66.]] Google ScholarGoogle Scholar
  230. VAN RENESSE, R., BIRMAN, K. P., AND MAFFEIS, S. 1996. Horus: A Flexible Group Communication System. Communication of the ACM 39, 4, 76-85.]] Google ScholarGoogle Scholar
  231. VASWANI, R. AND ZAHORJAN, J. 1991. The implications of Cache Affinity on Processor Scheduling for Multiprogrammed Shared Memory Multiprocessors. Proceedings of the Thirteenth Symposium on Operating Systems Principles, 26-40.]] Google ScholarGoogle Scholar
  232. VENKATESH, R. AND DATTATREYA, G. R. 1990. Adaptive Optimal Load Balancing of Loosely Coupled Processors with Arbitrary Service Time Distributions. Proceedings of the 1990 International Conference on Parallel Processing, I, 22- 25.]]Google ScholarGoogle Scholar
  233. VIGNA, G. 1998. Mobile Agents Security, LNCS 1419, Springer Verlag.]]Google ScholarGoogle Scholar
  234. VITEK, I., SERRANO, M., AND THANOS, D. 1997. Security and Communication in Mobile Object Systems. In Mobile Object Systems: Towards the Programmable Internet, LNCS 1222, Springer Verlag, 177-200.]] Google ScholarGoogle Scholar
  235. WALKER, B., POPEK, G., ENGLISH, R., KLINE, C., AND THIEL, G. 1983. The LOCUS Distributed Operating System. Proceedings of the 9th Symposium on Operating Systems Principles 17, 5, 49-70.]] Google ScholarGoogle Scholar
  236. WALKER, B. J. AND MATHEWS, R. M. 1989. Process Migration in AIX's Transparent Computing Facility (TCF). IEEE Technical Committee on Operating Systems Newsletter, 3, 1, (1) 5-7.]]Google ScholarGoogle Scholar
  237. WANG, Y.-T. AND MORRIS, R. J. T. 1985. Load Sharing in Distributed Systems. IEEE Transactions on Computers, C-34, 3, 204-217.]]Google ScholarGoogle Scholar
  238. WANG, C.-J., KRUEGER, P., AND LIU, M. T. 1993. Intelligent Job Selection for Distributed Scheduling. Proceedings of the 13th International Conference on Distributed Computing Systems, 288- 295.]]Google ScholarGoogle Scholar
  239. WELCH, B. B. AND OUSTERHOUT, J. K. 1988. Pseudo- Devices: User-Level Extensions to the Sprite File System. Proceedings of the USENIX Summer Conference, 7-49.]]Google ScholarGoogle Scholar
  240. WELCH, B. 1990. Naming, State Management and User-Level Extensions in the Sprite Distributed File System. Ph.D. Thesis, Technical Report UCB/CSD 90/567, CSD (EECS), University of California, Berkeley.]] Google ScholarGoogle Scholar
  241. WHITE, J. 1997. Telescript Technology: An Introduction to the Language. White Paper, General Magic, Inc., Sunnyvale, CA. Appeared in Bradshaw, J., Software Agents, AAAI/MIT Press.]]Google ScholarGoogle Scholar
  242. WHITE, J. E., HELGESON, S., AND STEEDMAN, D. A. 1997. System and Method for Distributed Computation Based upon the Movement, Execution, and Interaction of Processes in a Network. United States Patent no. 5603031.]]Google ScholarGoogle Scholar
  243. WIECEK, C. A. 1992. A Model and Prototype of VMS Using the Mach 3.0 Kernel. Proceedings of the USENIX Workshop on Micro-Kernels and Other Kernel Architectures, 187-204.]] Google ScholarGoogle Scholar
  244. WONG, R., WALSH, T., AND PACIOREK, N. 1997. Concordia: An Infrastructure for Collaborating Mobile Agents. Proceedings of the First International Workshop on Mobile Agents, LNCS 1219, Springer Verlag, 86-97.]] Google ScholarGoogle Scholar
  245. XU, J. AND HWANG, K. 1990. Heuristic Methods for Dynamic Load Balancing in a Message-Passing Supercomputer. Proceedings of the Supercomputing'90, 888-897.]] Google ScholarGoogle Scholar
  246. ZAJCEW, R., ROY, P., BLACK, D., PEAK, C., GUEDES, P., KEMP, B., LOVERSO, J., LEIBENSPERGER, M., BARNETT, M., RABII, F., AND NETTERWALA, D. 1993. An OSF/1 UNIX for Massively Parallel Multicomputers. Proceedings of the Winter USENIX Conference, 449-468.]]Google ScholarGoogle Scholar
  247. ZAYAS, E. 1987a. Attacking the Process Migration Bottleneck. Proceedings of the 11th Symposium on Operating Systems Principles, 13-24.]] Google ScholarGoogle Scholar
  248. ZAYAS, E. 1987b. The Use of Copy-on-Reference in a Process Migration System. Ph.D. Thesis, Technical Report CMU-CS-87-121, Carnegie Mellon University.]] Google ScholarGoogle Scholar
  249. ZHOU, D. 1987. A Trace-Driven Simulation Study of Dynamic Load Balancing. Ph.D. Thesis, Technical Report UCB/CSD 87/305, CSD (EECS), University of California, Berkeley.]] Google ScholarGoogle Scholar
  250. ZHOU, S. AND FERRARI, D. 1987. An Experimental Study of Load Balancing Performance. Proceedings of the 7th IEEE International Conference on Distributed Computing Systems, 490- 497.]]Google ScholarGoogle Scholar
  251. ZHOU, S. AND FERRARI, D. 1988. A Trace-Driven Simulation Study of Dynamic Load Balancing. IEEE Transactions on Software Engineering 14, 9, 1327-1341.]] Google ScholarGoogle Scholar
  252. ZHOU, S., ZHENG, X., WANG, J., AND DELISLE, P. 1994. Utopia: A Load Sharing Facility for Large, Heterogeneous Distributed Computer Systems. Software-Practice and Experience.]] Google ScholarGoogle Scholar
  253. ZHU, W. 1992. The Development of an Environment to Study Load Balancing Algorithms, Process migration and load data collection. Ph.D. Thesis, Technical Report, University of New South Wales.]] Google ScholarGoogle Scholar
  254. ZHU, W., STEKETEE, C., AND MUILWIJK, B. 1995. Load Balancing and Workstation Autonomy on Amoeba. Australian Computer Science Communications (ACSC'95) 17, 1, 588-597.]]Google ScholarGoogle Scholar

Index Terms

  1. Process migration

      Reviews

      Andrew Robert Huber

      This thorough survey first defines process migration and describes its fundamental terms, features, characteristics, and goals. Examples are given from historical systems, Unix-like systems, message passing systems, microkernels, user and application specific migration, and mobile objects and agents. Four case studies cover MOSIX, Sprite, Mach, and LSF (Load Sharing Facility). These case studies are compared and contrasted with some of the other examples. Several useful tables compare the systems’ main characteristics, transparency of migration, data transfer strategies, and other attributes. The comparisons are mostly qualitative, though some quantitative information is sprinkled through the text. Consolidating this into tables would have been helpful. An extensive list of over 250 references is included. Overall this is a valuable introduction, summary and comparison for researchers, students, or developers. Why hasn’t process migration been more successful__?__ In the weakest section of the paper, the authors blame four misconceptions: complexity, unacceptable costs, lack of support for transparency and lack of support for heterogeneity. Yet they admit that many successful implementations illustrate these “misconceptions". Although solutions exist to these problems, they offer no system that has integrated these solutions. Moreover there are other problems which the authors claim as “true” problems: no applications need process migration, no commercial systems support it, and few users will allow remote processes on their machine. One good reason for that—security—is not discussed for any of the systems. The authors’ view of the future of process migration thus seems overly optimistic. Online Computing Reviews Service

      Access critical reviews of Computing literature here

      Become a reviewer for Computing Reviews.

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!