K-server problem

K-server problem

The k-server problem is a problem of theoretical computer science in the category of online algorithms, one of two abstract problems on metric spaces that are central to the theory of competitive analysis (the other being metrical task systems). In this problem, an online algorithm must control the movement of a set of "k" "servers", represented as points in a metric space, and handle "requests" that are also in the form of points in the space. As each request arrives, the algorithm must determine which server to move to the requested point. The goal of the algorithm is to keep the total distance all servers move small, relative to the total distance the servers could have moved by an optimal adversary who knows in advance the entire sequence of requests.

The problem was first posed by Mark Manasse, Lyle A. McGeoch and Daniel Sleator (1990). The most prominent open question concerning the "k"-server problem is the so-called "k"-server conjecture, also posed by Manasse et al. This conjecture states that there is an algorithm for solving the "k"-server problem in an arbitrary metric space and for any number "k" of servers that has competitive ratio at most "k". Manasse et al. were able to prove their conjecture when "k" = 2, and for more general values of "k" when the metric space is restricted to have exactly "k"+1 points. Chrobak and Larmore (1991) proved the conjecture for tree metrics. The special case of metrics in which all distances are equal is called the "paging problem" because it models the problem of page replacement algorithms in memory caches, and was also already known to have a "k"-competitive algorithm (Sleator and Tarjan 1985). Fiat et al. (1990) first proved that there exists an algorithm with finite competitive ratio for any constant "k" and any metric space, and finally Koutsoupias and Papadimitriou (1995) proved a competitive ratio of 2"k" - 1. However, despite the efforts of many other researchers, reducing the competitive ratio to "k" or providing a higher lower bound remains open as of 2006.

Example

To make the problem more concrete, imagine sending customer support technicians to customers when they have trouble with their equipment. In our example problem there are two technicians, Mary and Noah, serving three customers, in San Francisco, California, Washington, DC, and Baltimore, Maryland. As a "k"-server problem, the servers are the technicians, so "k" = 2 and this is a 2-server problem. Washington and Baltimore are 35 miles apart, while San Francisco is 3000 miles away from both, and initially Mary and Noah are both in San Francisco.

Consider an algorithm for assigning servers to requests that always assigns the closest server to the request, and suppose that each weekday morning the customer in Washington needs assistance while each weekday afternoon the customer in Baltimore needs assistance, and that the customer in San Francisco never needs assistance. Then, our algorithm will assign one of the servers (say Mary) to the Washington area, after which she will always be the closest server and always be assigned to all customer requests. Thus, every day our algorithm incurs the cost of traveling between Washington and Baltimore and back, 70 miles. After a year of this request pattern, the algorithm will have incurred 20,500 miles travel: 3000 to send Mary to the East Coast, and 17,500 for the trips between Washington and Baltimore. On the other hand, an optimal adversary who knows the future request schedule could have sent both Mary and Noah to Washington and Baltimore respectively, paying 6000 miles of travel once but then avoiding any future travel costs. The competitive ratio of our algorithm on this input is 20,500/6000 or approximately 3.4, and by adjusting the parameters of this example the competitive ratio of this algorithm can be made arbitrarily large.

Thus we see that always assigning the closest server can be far from optimal. On the other hand, it seems foolish for an algorithm that does not know future requests to send one of its technicians away from San Francisco, as the next request could be in that city and it would have to send someone back immediately. So it seems that it is difficult or impossible for a "k"-server algorithm to perform well relative to its adversary. However, for the 2-server problem there exists an algorithm that always has a total travel distance of at most twice the adversary's distance.The "k"-server conjecture states that similar solutions exist for problems with any larger number of technicians.

References

*cite journal
author = Chrobak, Marek; Larmore, Lawrence L.
title = An optimal on-line algorithm for "K"-servers on trees
journal = SIAM Journal on Computing
volume = 20
issue = 1
year = 1991
pages = 144–148
doi = 10.1137/0220008

*cite conference
author = Fiat, A.; Rabani, Y.; Ravid, Y.
title = Competitive "k"-server algorithms
booktitle = Proceedings of the 31st Annual IEEE Symposium on Foundations of Computer Science
date = 1990
pages = 454–463

*cite journal
author = Koutsoupias, Elias; Papadimitriou, Christos H.
title = On the "k"-server conjecture
journal = Journal of the ACM
volume = 42
issue = 5
year = 1995
pages = 971–983
doi = 10.1145/210118.210128

*cite journal
author= Manasse, Mark; McGeoch, Lyle A.; Sleator, Daniel D.
title=Competitive algorithms for server problems
journal= Journal of Algorithms
year=1990
volume=11
pages= 208–230
doi=10.1016/0196-6774(90)90003-W

*cite journal
author = Sleator, Daniel D.; Tarjan, Robert E.
title = Amortized efficiency of list update and paging rules
journal = Communications of the ACM
volume = 28
year = 1985
pages = 202–208
doi = 10.1145/2786.2793


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Server Message Block — In computer networking, Server Message Block (SMB), also known as Common Internet File System (CIFS, /ˈsɪfs …   Wikipedia

  • Server Load Balancing — Der Begriff Serverlastverteilung oder englisch Server Load Balancing (SLB) beschreibt in der Netzwerktechnik Methoden zur Lastverteilung auf mehrere getrennte Server Rechner im Netzwerk. Inhaltsverzeichnis 1 Einsatzgebiete 2 DNS based SLB 3 NAT… …   Deutsch Wikipedia

  • Problem des Übels — Theodizee [ˌteodiˈt͜seː] (frz. théodicée, v. altgriech. θεός theós „Gott“ und δίκη díke „Gerechtigkeit“) heißt „Rechtfertigung Gottes“. Das Theodizeeproblem ist ein klassisches philosophisches und theologisches Problem für diejenigen religiösen… …   Deutsch Wikipedia

  • Problem Reports and Solutions — Infobox Software name = Problem Reports and Solutions caption = Problem Reports and Solutions in Windows Vista developer = Microsoft latest release version = 6.0.6001.18000 latest release date = February 4, 2008 operating system = Microsoft… …   Wikipedia

  • server side include —    Abbreviated SSI. A method used to create dynamic Web pages. The INCLUDE statement is used to embed commands within an HTML document and tells the Web server to perform specific tasks. A common way of using INCLUDE is to tell the server to load …   Dictionary of networking

  • NTP server misuse and abuse — covers a number of practices which cause damage or degradation to a Network Time Protocol (NTP) server, ranging from flooding it with traffic (effectively a DDoS attack) or violating the server s access policy or the NTP rules of engagement. One… …   Wikipedia

  • Year 2038 problem — The year 2038 problem (also known as Unix Millennium bug , or Y2K38 by analogy to the Y2K problem) may cause some computer software to fail before or in the year 2038. The problem affects all software and systems that store system time as a… …   Wikipedia

  • Confused deputy problem — A confused deputy is a computer program that is innocently fooled by some other party into misusing its authority. It is a specific type of privilege escalation. In information security, the confused deputy problem is often cited as an example of …   Wikipedia

  • C10k problem — Le c10k problem[note 1] que l on pourrait traduire en français par le problème des dix mille connexions simultanées, est un code numérique utilisé pour exprimer la limitation que la plupart des serveurs ont en termes de connexions réseaux. Cette… …   Wikipédia en Français

  • Proxy server — For Wikipedia s policy on editing from open proxies, please see Wikipedia:Open proxies. Communication between two computers (shown in grey) connected through a third computer (shown in red) acting as a proxy. In …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”