Results 1 - 10
of
18
Exploiting Process Lifetime Distributions for Dynamic Load Balancing
- 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...
Sumatra: A Language for Resource-aware Mobile Programs
, 1997
"... . Programs that use mobility as a mechanism to adapt to resource changes have three requirements that are not shared with other mobile programs. First, they need to monitor the level and quality of resources in their operating environment. Second, they need to be able to react to changes in resource ..."
Abstract
-
Cited by 115 (2 self)
- Add to MetaCart
. Programs that use mobility as a mechanism to adapt to resource changes have three requirements that are not shared with other mobile programs. First, they need to monitor the level and quality of resources in their operating environment. Second, they need to be able to react to changes in resource availability. Third, they need to be able to control the way in which resources are used on their behalf (by libraries and other support code). In this chapter, we describe the design and implementation of Sumatra, an extension of Java that supports resourceaware mobile programs. We also describe the design and implementation of a distributed resource monitor that provides the information required by Sumatra programs. 1 Introduction Mobile programs can move an active thread of control from one site to another during execution. This flexibility has many potential advantages. For example, a program that searches distributed data repositories can improve its performance by migrating to the re...
Scheduling with Advanced Reservations
- IEEE Int. Par. and
, 2000
"... Some computational grid applications have very large resource requirements and need simultaneous access to resources from more than one parallel computer. Current scheduling systems do not provide mechanisms to gain such simultaneous access without the help of human administrators of the computer sy ..."
Abstract
-
Cited by 80 (4 self)
- Add to MetaCart
Some computational grid applications have very large resource requirements and need simultaneous access to resources from more than one parallel computer. Current scheduling systems do not provide mechanisms to gain such simultaneous access without the help of human administrators of the computer systems. In this work, we propose and evaluate several algorithms for supporting advanced reservation of resources in supercomputing scheduling systems. These advanced reservations allow users to request resources from scheduling systems at speci c times. We nd that the wait times of applications submitted to the queue increases when reservations are supported and the increase depends on how reservations are supported. Further, we nd that the best performance is achieved when we assume that applications can be terminated and restarted, back lling is performed, and relatively accurate run-time predictions are used. 1.
The Utility of Exploiting Idle Workstations for Parallel Computation
, 1997
"... In this paper, we examine the utility of exploiting idle workstations for parallel computation. We attempt to answer the following questions. First, given a workstation pool, for what fraction of time can we expect to find a cluster of k workstations available? This provides an estimate of the oppor ..."
Abstract
-
Cited by 73 (5 self)
- Add to MetaCart
In this paper, we examine the utility of exploiting idle workstations for parallel computation. We attempt to answer the following questions. First, given a workstation pool, for what fraction of time can we expect to find a cluster of k workstations available? This provides an estimate of the opportunity for parallel computation. Second, how stable is a cluster of free machines and how does the stability vary with the size of the cluster? This indicates how frequently a parallel computation might have to stop for adapting to changes in processor availability. Third, what is the distribution of workstation idle-times? This information is useful for selecting workstations to place computation on. Fourth, how much benefit can a user expect? To state this in concrete terms, if I have a pool of size S, how big a parallel machine should I expect to get for free by harvesting idle machines. Finally, how much benefit can be achieved on a real machine and how hard does a parallel programmer ha...
Numerical Relativity in a Distributed Environment
- IN PROC. 9TH SIAM CONFERENCE ON PARALLEL PROCESSING FOR SCIENTIFIC COMPUTING
, 1999
"... The Cactus parallel simulation framework provides a modular and extensible set of components for solving relativity problems on parallel computers. In recent work, we have investigated techniques that would enable the execution of Cactus applications in wide area \computational grid " environme ..."
Abstract
-
Cited by 20 (13 self)
- Add to MetaCart
The Cactus parallel simulation framework provides a modular and extensible set of components for solving relativity problems on parallel computers. In recent work, we have investigated techniques that would enable the execution of Cactus applications in wide area \computational grid " environments. In a rst study, weinvestigated the feasibility of distributing a single simulation across multiple supercomputers, while in a second we studied techniques for reducing communication costs associated with remote visualization and steering. Distributed simulation was achieved by using MPICH-G, an implementation of the Message Passing Interface standard that uses mechanisms provided by the Globus grid toolkit to enable wide area execution. Experiments were performed across SGI Origins and Cray T3Es with geographical separations ranging from hundreds to thousands of kilometers. Total execution time when distributed increased by between 48 % and 133%, depending on con guration. We view these results as encouraging as they were obtained with essentially no specialized algorithmic structures in the Cactus application. Work on remote visualization focused on the development of a Cactus module that computes isosurfaces inline with numerical relativity calculations. Experiments demonstrated that this technique can reduce network bandwidth requirements by a factor ranging from 2.5 to 114, depending on the nature of the problem. 1
Support for Object Placement in Wide Area Heterogeneous Distributed Systems
, 1996
"... One of the open challenges in distributed computing systems is determining how to place tasks onto processors when they are needed (in the Legion project being developed at UVA the basic computational units are modelled as objects, so the problem is one of object placement). The placement decision i ..."
Abstract
-
Cited by 20 (5 self)
- Add to MetaCart
One of the open challenges in distributed computing systems is determining how to place tasks onto processors when they are needed (in the Legion project being developed at UVA the basic computational units are modelled as objects, so the problem is one of object placement). The placement decision is crucial because it determines the run-time behavior of an object, including performance, cost and whether it can run at all. Many approaches have been developed to address this problem in a distributed system environment, but it is our claim that these efforts do not take the proper approach for supporting the needs of the large wide area heterogeneous virtual computer systems we envision will exist in the future. In particular, the systems developed to date are inadequate because they 1) focus on solutions for a narrow set of application types, environments, or user objectives, and 2) often inadequately support the full complexity and features of large distributed systems. We propose to b...
Playing Inside the Black Box: Using Dynamic Instrumentation to Create Security Holes
- Letters
, 2001
"... Programs running on insecure or malicious hosts have often been cited as ripe targets for security attacks. The enabling technology for these attacks is the ability to easily analyze and control the running program. Dynamic instrumentation provides the necessary technology for this analysis and cont ..."
Abstract
-
Cited by 16 (1 self)
- Add to MetaCart
Programs running on insecure or malicious hosts have often been cited as ripe targets for security attacks. The enabling technology for these attacks is the ability to easily analyze and control the running program. Dynamic instrumentation provides the necessary technology for this analysis and control. As embodied in the DynInst API library, dynamic instrumentation allows easy construction of tools that can: (1) inspect a running process, obtaining structural information about the program; (2) control the execution of the program, (3) cause new libraries to be dynamically loaded into the process' address space; (4) splice new code sequences into the running program and remove them; and (5) replace individual call instructions or entire functions.
Deploying Fault Tolerance and Task Migration with NetSolve
, 1999
"... Computational power grids are computing environments with massive resources for processing and storage. While these resources may be pervasive, harnessing them is a major challenge for the average user. NetSolve is a software environment that addresses this concern. A fundamental feature of NetSolve ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
Computational power grids are computing environments with massive resources for processing and storage. While these resources may be pervasive, harnessing them is a major challenge for the average user. NetSolve is a software environment that addresses this concern. A fundamental feature of NetSolve is its integration of fault-tolerance and task migration in a way that is transparent to the end user. In this paper, we discuss how NetSolve's structure allows for the seamless integration of fault-tolerance and migration in grid applications, and present the specific approaches that have been and are currently being implemented within NetSolve. Key words: Fault-tolerance, Scientific Computing, Computational Servers, Checkpointing, Migration. 1 Introduction The advances in computer and network technologies that are shaping the global information infrastructure are also producing a new vision of how that infrastructure will be used. The concept of a Computational Power Grid has emerged ...
The Utility of Exploiting Idle Memory for Data-Intensive Computations
, 1998
"... In this paper, we examine the utility of exploiting idle memory in workstation pools. We attempt to answer the following questions. First, given a workstation pool, what fraction of the memory can be expected to be idle? This provides an estimate of the opportunity for hosting guest data. Second, wh ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
In this paper, we examine the utility of exploiting idle memory in workstation pools. We attempt to answer the following questions. First, given a workstation pool, what fraction of the memory can be expected to be idle? This provides an estimate of the opportunity for hosting guest data. Second, what fraction of a individual host's memory can be expected to be idle? This helps determine the recruitment policy -- what is the maximum amount of memory that should be recruited on a single host? Third, what is the distribution of memory idle-times? That is, what is the probability that a chunk of memory that is currently idle will be idle for longer than time t? This information indicates how long guest data can be expected to survive; applications that access their data-sets frequently within the expected life-time of guest data are more likely to benefit from exploiting idle memory. Fourth, how much benefit can a user expect? We use two metrics for the benefit of exploiting idle memory: ...
The Power of Choice in Scheduling Parallel Tasks
, 1993
"... A malleable parallel task is one that can be executed on any number of processors, with its execution time being a function of the number of processors allotted to it. A nonmalleable parallel task is one that requires a specific number of processors. Given n independent parallel tasks and m identi ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
A malleable parallel task is one that can be executed on any number of processors, with its execution time being a function of the number of processors allotted to it. A nonmalleable parallel task is one that requires a specific number of processors. Given n independent parallel tasks and m identical processors, we consider the problem of scheduling these tasks to minimize average completion time. Even though this is a classical scheduling problem, the first results in this direction were obtained only recently by Turek, Schwiegelshohn, Wolf, and Yu [Proceedings of the Fifth SIAM Symposium on Discrete Algorithms, 1994]. They presented an algorithm for scheduling nonmalleable parallel tasks with an approximation factor of 32. We give an algorithm for scheduling malleable tasks that has an approximation factor of 2, under the assumption that for each task, work is a nondecreasing function of the number of processors allotted to the task. Our algorithm and analysis incorporate an improv...

