• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Survey of systems providing process or object migration (1994)

by M Nuttall
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 28
Next 10 →

Understanding Code Mobility

by Alfonso Fuggetta, Gian Pietro Picco, Giovanni Vigna - IEEE COMPUTER SCIENCE PRESS , 1998
"... The technologies, architectures, and methodologies traditionally used to develop distributed applications exhibit a variety of limitations and drawbacks when applied to large scale distributed settings (e.g., the Internet). In particular, they fail in providing the desired degree of configurability, ..."
Abstract - Cited by 429 (33 self) - Add to MetaCart
The technologies, architectures, and methodologies traditionally used to develop distributed applications exhibit a variety of limitations and drawbacks when applied to large scale distributed settings (e.g., the Internet). In particular, they fail in providing the desired degree of configurability, scalability, and customizability. To address these issues, researchers are investigating a variety of innovative approaches. The most promising and intriguing ones are those based on the ability of moving code across the nodes of a network, exploiting the notion of mobile code. As an emerging research field, code mobility is generating a growing body of scientific literature and industrial developments. Nevertheless, the field is still characterized by the lack of a sound and comprehensive body of concepts and terms. As a consequence, it is rather difficult to understand, assess, and compare the existing approaches. In turn, this limits our ability to fully exploit them in practice, and to further promote the research work on mobile code. Indeed, a significant symptom of this situation is the lack of a commonly accepted and sound definition of the term "mobile code" itself. This paper presents a conceptual framework for understanding code mobility. The framework is centered around a classification that introduces three dimensions: technologies, design paradigms, and applications. The contribution of the paper is twofold. First, it provides a set of terms and concepts to understand and compare the approaches based on the notion of mobile code. Second, it introduces criteria and guidelines that support the developer in the identification of the classes of applications that can leverage off of mobile code, in the design of these applications, and, finally, in the selection of the most appropriate implementation technologies. The presentation of the classification is intertwined with a review of the state of the art in the field. Finally, the use of the classification is exemplified in a case study.

Exploiting Process Lifetime Distributions for Dynamic Load Balancing

by Mor Harchol-balter, Allen B. Downey - ACM Transactions on Computer Systems , 1996
"... We measure the distribution of lifetimes for UNIX processes and propose a functional form that fits this distribution well. We use this functional form to derive a policy for preemptive migration, and then use a trace-driven simulator to compare our proposed policy with other preemptive migration po ..."
Abstract - Cited by 290 (30 self) - Add to MetaCart
We measure the distribution of lifetimes for UNIX processes and propose a functional form that fits this distribution well. We use this functional form to derive a policy for preemptive migration, and then use a trace-driven simulator to compare our proposed policy with other preemptive migration policies, and with a non-preemptive load balancing strategy. We find that, contrary to previous reports, the performance benefits of preemptive migration are significantly greater than those of non-preemptive migration, even when the memorytransfer cost is high. Using a model of migration costs representative of current systems, we find that preemptive migration reduces the mean delay (queueing and migration) by 35 -- 50%, compared to non-preemptive migration. 1 Introduction Most systems that perform load balancing use remote execution (i.e. non-preemptive migration) based on a priori knowledge of process behavior, often in the form of a list of process names eligible for migration. Althoug...

Heterogeneous Process Migration: The Tui System

by Peter Smith, Norman C. Hutchinson - Software Practice and Experience , 1997
"... Heterogeneous Process Migration is a technique whereby an active process is moved from one machine to another. It must then continue normal execution and communication. The source and destination processors can have a different architecture, that is, different instruction sets and data formats. B ..."
Abstract - Cited by 64 (0 self) - Add to MetaCart
Heterogeneous Process Migration is a technique whereby an active process is moved from one machine to another. It must then continue normal execution and communication. The source and destination processors can have a different architecture, that is, different instruction sets and data formats. Because of this heterogeneity, the entire process memory image must be translated during the migration. "Tui" is a migration system that is able to translate the memory image of a program (written in ANSI-C) between four common architectures (m68000, SPARC, i486 and PowerPC). This requires detailed knowledge of all data types and variables used with the program. This is not always possible in non-type-safe (but popular) languages such as ANSI-C, Pascal and Fortran. The important features of the Tui algorithm are discussed in great detail. This includes the method by which a program's entire set of data values can be located, and eventually reconstructed on the target processor. Perfo...

Memory Ushering in a Scalable Computing Cluster

by Amnon Barak, Avner Braverman - Journal of Microprocessors and Microsystems , 1997
"... Scalable Computing Clusters (SCC) are becoming an alternative to mainfraims and MPP's for the execution of high performance, demanding applications in multi-user, time-sharing environments. In order to better utilize the multiple resources of such systems, it is necessary to develop means for cluste ..."
Abstract - Cited by 33 (3 self) - Add to MetaCart
Scalable Computing Clusters (SCC) are becoming an alternative to mainfraims and MPP's for the execution of high performance, demanding applications in multi-user, time-sharing environments. In order to better utilize the multiple resources of such systems, it is necessary to develop means for cluster wide resource allocation and sharing, that will make an SCC easy to program and use. This paper presents the details of a memory ushering algorithm among the nodes of an SCC. This algorithm allows a node which has exhausted its main memory to use available memory in other nodes. The paper first presents results of simulations of several algorithms for process placement to nodes. It then describes the memory ushering algorithm of the MOSIX multicomputer operating system for an SCC and its performance. 1 Introduction Collections of computers, ranging from Scalable Computing Clusters (SCC) of (homogeneous) servers to Networks of (heterogeneous) Workstations (NOW), are becoming popular platfo...

An Adversarial Model for Distributed Dynamic Load Balancing

by S. Muthukrishnan, Rajmohan Rajaraman , 1998
"... We study the problem of balancing the load on processors of an arbitrary network. If jobs arrive or depart during the process of load balancing, we have the dynamic load balancing problem; otherwise, we have the static load balancing problem. While static load balancing on arbitrary and special netw ..."
Abstract - Cited by 15 (2 self) - Add to MetaCart
We study the problem of balancing the load on processors of an arbitrary network. If jobs arrive or depart during the process of load balancing, we have the dynamic load balancing problem; otherwise, we have the static load balancing problem. While static load balancing on arbitrary and special networks has been well studied, very little is known about dynamic load balancing. The difficulty lies in modeling the arrivals and departures of jobs in a clean manner. In this paper, we initiate the study of dynamic load balancing by modeling job traffic using an adversary. Our main result is that a simple, local control distributed load balancing algorithm maintains the load of the network within a stable level against this powerful adversary. Our results hold for different models of traffic patterns and processor communication. 1 Introduction An important problem in a distributed system is to balance the total workload among the various processors of the underlying system. Such load balan...

The Freeze Free Algorithm For Process Migration

by Ellard Thomas Roush , 1995
"... ..."
Abstract - Cited by 9 (1 self) - Add to MetaCart
Abstract not found

Object Migration in Non-Monolithic Distributed Applications

by Oliver Ciupke, Dietmar A. Kottmann, Hans-Dirk Walter, H. -d. Walter, Interner Bericht, Fakultat Fur Informatik - In Proc. of the 16 th International Conference on Distributed Computing Systems , 1995
"... Object migration is usually applied to optimize distributed monolithic systems. In this paper, the authors investigate whether object migration can also be utilized in cooperative systems which consist of autonomous components. We show that object migration policies will not always optimize system p ..."
Abstract - Cited by 7 (1 self) - Add to MetaCart
Object migration is usually applied to optimize distributed monolithic systems. In this paper, the authors investigate whether object migration can also be utilized in cooperative systems which consist of autonomous components. We show that object migration policies will not always optimize system performance. Rather they can reduce it drastically if different components apply these policies concurrently. Conventional run-time support for linguistic primitives which are usually used to express migration policies is adapted to cooperative systems. We show that two novel approaches, place-policy and reduction of attachment-transitiveness, can counter the degradation caused by conflicting policies. In order to restrict attachment-transitiveness we introduce dynamic relationships called alliances between objects which explicitly define cooperation contexts. The effects of these modifications are evaluated by simulation.

Rule-Based Transactional Object Migration over a Reflective Middleware

by Damián Arregui, François Pacull, Jutta Willamowski , 2001
"... Object migration is an often overlooked topic in distributed object-oriented platforms. Most common solutions provide data serialization and code mobility across several hosts. But existing mechanisms fall short in ensuring consistency when migrating objects, or agents, involved in coordinated inter ..."
Abstract - Cited by 5 (2 self) - Add to MetaCart
Object migration is an often overlooked topic in distributed object-oriented platforms. Most common solutions provide data serialization and code mobility across several hosts. But existing mechanisms fall short in ensuring consistency when migrating objects, or agents, involved in coordinated interactions with each other, possibly governed by a multi-phase protocol. We propose an object migration scheme addressing this issue, implemented on top of the Coordination Language Facility (CLF). It exploits the particular combination of features in CLF: the resource-based programming paradigm and the communication protocol integrating a negotiation and a transaction phase. We illustrate through examples how our migration mechanism goes beyond classical solutions. It can be fine-tuned to...

Experiences with the Implementation of a Process Migration Mechanism for Amoeba

by Chris Steketee, Piotr Socko, Bartosz Kiepuszewski - Australian Computer Science Communications , 1996
"... We describe our experiences with the implementation of a process migration mechanism for the distributed operating system Amoeba. After describing our design goals, we present our implementation for Amoeba. Though our goals have very largely been met, we have fallen short of the goal of complete tra ..."
Abstract - Cited by 4 (1 self) - Add to MetaCart
We describe our experiences with the implementation of a process migration mechanism for the distributed operating system Amoeba. After describing our design goals, we present our implementation for Amoeba. Though our goals have very largely been met, we have fallen short of the goal of complete transparency, and we discuss the consequences of that. We also present performance figures, indicating that the speed of process migration is limited only by the throughput of the network adapters used in our configuration, and that the overhead is comparable to that of process creation. We conclude with a review of the degree to which our design goals have been met, and discussion of the lessons learnt.

Competitive Execution in a Distributed Environment

by Sung Hyun Cho, Andrew Kahng, Mario Gerla, David R. Jefferson, Committee Chair , 1996
"... of the Dissertation Competitive Execution in a Distributed Environment by Sung Hyun Cho Doctor of Philosophy in Computer Science University of California, Los Angeles, 1996 Professor David R. Jefferson, Chair We propose an alternative to process migration, called competition, to speed up distribut ..."
Abstract - Cited by 3 (1 self) - Add to MetaCart
of the Dissertation Competitive Execution in a Distributed Environment by Sung Hyun Cho Doctor of Philosophy in Computer Science University of California, Los Angeles, 1996 Professor David R. Jefferson, Chair We propose an alternative to process migration, called competition, to speed up distributed programs in the background on a network of variable-speed processors. Competition protocols are transparent operating system facilities that involve creating multiple instances (called clones) p 1 , p 2 , etc. of a process P on different variable-speed processors, and making clones "compete", i.e., attempting to guarantee that the output of the clone that is farthest "ahead" is fed to the rest of the computation, and that the entire application's performance tracks that of the clone which is farthest ahead. One clone may be ahead of or behind others depending on the current foreground loads. If for any reason there is variation in the progress of the clones, so that one clone is ahead at ...
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University