14,695 research outputs found
Resource augmentation in load balancing
We consider load-balancing in the following setting. The on-line algorithm is allowed to use machines, whereas the optimal off-line algorithm is limited to machines, for some fixed . We show that while the greedy algorithm has a competitive ratio which decays linearly in the inverse of , the best on-line algorithm has a ratio which decays exponentially in . Specifically, we give an algorithm with competitive ratio of 1+2^{- frac{n{m (1- o (1)), and a lower bound of 1+ e^{ - frac{n{m (1+ o(1)) on the competitive ratio of any randomized algorithm. We also consider the preemptive case. We show an on-line algorithm with a competitive ratio of 1+ e^{ - frac{n{m (1+ o(1)). We show that the algorithm is optimal by proving a matching lower bound. We also consider the non-preemptive model with temporary tasks. We prove that for , the greedy algorithm is optimal. (It is not optimal for permanent tasks.
On-line load balancing
AbstractThe setup for our problem consists of n servers that must complete a set of tasks. Each task can be handled only by a subset of the servers, requires a different level of service, and once assigned cannot be reassigned. We make the natural assumption that the level of service is known at arrival time, but that the duration of service is not. The on-line load balancing problem is to assign each task to an appropriate server in such a way that the maximum load on the servers is minimized. In this paper we derive matching upper and lower bounds for the competitive ratio of the on-line greedy algorithm for this problem, namely, [(3n)23/2](1+o(1)), and derive a lower bound, Ω(n12), for any other deterministic or randomized on-line algorithm
Makespan Minimization via Posted Prices
We consider job scheduling settings, with multiple machines, where jobs
arrive online and choose a machine selfishly so as to minimize their cost. Our
objective is the classic makespan minimization objective, which corresponds to
the completion time of the last job to complete. The incentives of the selfish
jobs may lead to poor performance. To reconcile the differing objectives, we
introduce posted machine prices. The selfish job seeks to minimize the sum of
its completion time on the machine and the posted price for the machine. Prices
may be static (i.e., set once and for all before any arrival) or dynamic (i.e.,
change over time), but they are determined only by the past, assuming nothing
about upcoming events. Obviously, such schemes are inherently truthful.
We consider the competitive ratio: the ratio between the makespan achievable
by the pricing scheme and that of the optimal algorithm. We give tight bounds
on the competitive ratio for both dynamic and static pricing schemes for
identical, restricted, related, and unrelated machine settings. Our main result
is a dynamic pricing scheme for related machines that gives a constant
competitive ratio, essentially matching the competitive ratio of online
algorithms for this setting. In contrast, dynamic pricing gives poor
performance for unrelated machines. This lower bound also exhibits a gap
between what can be achieved by pricing versus what can be achieved by online
algorithms
Architecture independent environment for developing engineering software on MIMD computers
Engineers are constantly faced with solving problems of increasing complexity and detail. Multiple Instruction stream Multiple Data stream (MIMD) computers have been developed to overcome the performance limitations of serial computers. The hardware architectures of MIMD computers vary considerably and are much more sophisticated than serial computers. Developing large scale software for a variety of MIMD computers is difficult and expensive. There is a need to provide tools that facilitate programming these machines. First, the issues that must be considered to develop those tools are examined. The two main areas of concern were architecture independence and data management. Architecture independent software facilitates software portability and improves the longevity and utility of the software product. It provides some form of insurance for the investment of time and effort that goes into developing the software. The management of data is a crucial aspect of solving large engineering problems. It must be considered in light of the new hardware organizations that are available. Second, the functional design and implementation of a software environment that facilitates developing architecture independent software for large engineering applications are described. The topics of discussion include: a description of the model that supports the development of architecture independent software; identifying and exploiting concurrency within the application program; data coherence; engineering data base and memory management
Minimizing Maximum Flow-time on Related Machines
We consider the online problem of minimizing the maximum flow-time on related machines. This is a natural generalization of the extensively studied makespan minimization problem to the setting where jobs arrive over time. Interestingly, natural algorithms such as Greedy or Slow-fit that work for the simpler identical machines case or for makespan minimization on related machines, are not O(1)-competitive. Our main result is a new O(1)-competitive algorithm for the problem. Previously, O(1)-competitive algorithms were known only with resource augmentation, and in fact no O(1) approximation was known even in the offline case
- …