Online Algorithms Advanced Seminar A Supervisor: Matya Katz Ran Taig, Achiya Elyasaf December, 2009 Overview-part A Introduction • What is Online Algorithm? • Evaluating the Online Algorithm • The Online Paging Problem & Algorithm • Deterministic Online Algorithms For Paging • CA ≥ k Theorem Adversary Models • Randomize Online Paging Algorithm • Oblivious Adversary • Adaptive Adversary 2 Introduction What is Online Algorithm? So far, all algorithms received their entire inputs at one time Online algorithms (OA), receive and process the input in partial amounts. A sequence of requests are received and the OA must service each request before it receives the next one. 3 Introduction What is Online Algorithm? (Cont.) In servicing each request, a several alternatives with an associated cost are possible. The alternative chosen may influence the costs of alternatives on future requests. Examples: • data-structuring • resource-allocation in operating systems • finance • distributed computing 4 Introduction Evaluating the Online Algorithm It is often meaningless to have an absolute performance measure for an algorithm. • The algorithm can be forced to incur an unbounded cost by appropriately choosing the input sequence It is difficult, if not impossible, to perform a comparison of competing strategies. Q: How to evaluate the algorithm? A: We compare the total cost of the OA on a sequence of requests, to the total cost of an offline algorithm We refer to such an analysis as a competitive analysis 5 Introduction The Paging Problem Some definitions: • Memory item - a page of virtual memory • Cache memory – a fast memory of size of k memory items • Main memory - a slower memory that can potentially hold • • • • an infinite number of items A paging algorithm - decides which k items to retain in the cache at each point in time We have a sequence of requests, each of which specifies a memory item. A hit – the requested item is in the cache. There is no cost A miss – the item must be fetched from the main memory. There is a ‘unit’ cost and one of the k items in the cache must be evicted Paging – The replacement of one page with another in the cache is called paging or page fault 6 Introduction The Paging Algorithm The cost measure is the number of misses on a sequence of requests This cost depends on the algorithm that decides which k items to retain in the cache at each point in time When a page fault happens, the paging algorithm invoke an eviction rule for deciding which item currently in the cache should be evicted to make room for the new item Intuitively, items that will be requested again in the near future should not be evicted 7 Introduction Offline Algorithm The offline algorithm (aka the MIN algorithm): on a miss, evict that item whose next request occurs furthest in the future The worst-case number of misses on a request sequence of length N is N/k. 8 Introduction Deterministic Online Algorithms For Paging Least Recently Used (LRU): evict the item in the cache whose most recent request occurred furthest in the past. First-in, First-out (FIFO): evict the item that has been in the cache for the longest period Least Frequently Used (LFU): evict the item in the cache that has been requested least often 9 Introduction Deterministic Online Algorithms For Paging (Cont.) Let p1, p2,...,pn be a request sequence presented to an online paging algorithm A Let fA(p1, p2,...,pn) denote the number of times A misses on p1, p2,...,pn Let f0(p1, p2,...,pn) denote the minimum number of misses on p1, p2,...,pn 10 Introduction Deterministic Online Algorithms For Paging (Cont.) A deterministic online paging algorithm A is said to be C-Competitive if there exists a constant b such that on every sequence of requests p1, p2,...,pn: fA(p1, p2,...,pn) - C∙f0(p1, p2,...,pn) ≤ b where the constant b must be independent of N but may depend on k Competitiveness measures the performance of an OA in terms of the worst-case ratio of its cost to that of the optimal offline algorithm 11 Introduction Deterministic Online Algorithms For Paging (Cont.) The competitiveness coefficient of A, denoted CA, is the infimum of C such that A is C-competitive Since the worst case of offline algorithm is N/k, no deterministic online paging algorithm has competitiveness coefficient smaller than k LRU, FIFO are known to be k-competitive No deterministic online paging algorithm has competitiveness coefficient smaller than k (proof will follow soon…) Thereby, LRU and FIFO are optimal deterministic OA 12 Introduction Paging Algorithm - Formally A paging algorithm consists of an automaton with a finite set S of states The automaton response is defined by function F : S k ITEMS ITEMS S k ITEMS curr. state curr. cache new item curr. state curr. cache The cache after the request is serviced must include the requested item 13 Introduction CA ≥ k Theorem Let A be a deterministic online algorithm for paging then CA ≥ k Proof: Initialization Both A & the offline algorithm are managing different caches for the same request sequence They both has the same k-items in the cache First request is to an item not in either cache, and the algorithms incur a miss Let S be the set of k+1 items consisting of the initially k items together with the new item From then on, every request is for the unique item in S not in A's cache • Thus A misses on every request 14 Introduction CA ≥ k Theorem (cont.) A round is a maximal sequence of requests in which at most k distinct items are requested; each of these items may be requested any number of times and in any order A round ends when, after k distinct items have been requested, a new item p is requested, and p then becomes the first request of the next round Since the round contains at least k requests and A misses on every one of them, it misses at least k times during the round 15 Introduction CA ≥ k Theorem (cont.) There is an offline algorithm that misses only once during a round, in fact on the first request of the round We denote p as first request of the following round When the offline algorithm misses on the first request, it evicts p and thereby ensures that there are no further misses in that round (as expected from a MIN algorithm) 16 Introduction CA ≥ k Theorem (cont.) The offline algorithm knows A’s initial cache, the entire request sequence in advance and the identity of p for every round At the end of each round, both the online algorithm and the offline algorithm have the same set of items in their caches This construction can be repeated many times, proving that there are arbitrarily long sequences on which A has k times as many misses as the offline algorithm. 17 Introduction Conclusions The proof uses only the fact that the OA doesn’t know future requests Thus the lower bound applies to any deterministic OA without any regard for its use of computational resources such as time or space This is a negative result for the online algorithms The offline algorithm may be view as an adversary who is not only managing a cache, but is also generating the request sequence 18 Overview-part A Introduction • What is Online Algorithm? • Evaluating the Online Algorithm • The Online Paging Problem & Algorithm • Deterministic Online Algorithms For Paging • CA ≥ k Theorem Adversary Models • Randomize Online Paging Algorithm • Oblivious Adversary • Adaptive Adversary 19 Adversary Models Randomize Online Paging Algorithm The Adversary Models, where in collusion with a reference algorithm that is the yardstick against which the competitiveness of the given online algorithm is being measured The adversary's goal is to increase the cost to the given online algorithm, while keeping it down for the reference algorithm 20 Adversary Models Randomize Online Paging Algorithm 2 definitions: • R- a randomize online paging algorithm (=ROA) • fR(p1, p2,...,pn) – a random variable, denotes the number of times that R misses on the sequence Evaluating the ROA • We still study the behavior of R when the sequence • of requests is generated by an adversary However, there is no longer a unique notion of an "adversary" for a randomized online algorithm 21 Adversary Models Oblivious Adversary The weakest adversary knows R in advance, but has no knowledge of the random choices made by R This adversary calculates the “worst case” request sequence for R, regardless of the actual execution of R The fixed cost of this sequence is not a random variable and is denoted by f0(p1, p2,...,pn) We call such an adversary an oblivious adversary, reflecting that the adversary is oblivious to the random choices made by R 22 Adversary Models Oblivious Adversary R is C-competitive against the oblivious adversary if for every sequence of requests p1, p2,...,pn: f R p1, p2 ..., pn C f 0 p1 , p2 ..., pn b for a constant b independent of N. The oblivious competitiveness coefficient of R, denoted by CRobl , is the infimum of C such that R is C-competitive 23 Adversary Models Adaptive Adversary The Adaptive Adversary chooses pi+1 after observing the responses of the ROA to p1, p2,...,pi To define the cost of the optimal algorithm it might help to think of the adaptive adversary and the optimal algorithm as working in collusion 24 Adversary Models Adaptive Adversary First scenario: • The adversary generates the optimal strategy adaptively by learning p1, p2,...,pi • We refer to this as the adaptive offline adversary • The request sequence is a random sequence. Thus, f0(p1, p2,...,pn) and fR(p1, p2,...,pn) are random variables 25 Adversary Models Adaptive Adversary Second scenario: • The adversary works as before, but also required to concurrently manage a cache online • Meaning, the adversary generates pi+1 based on the responses of R to p1,p2,...,pi, and immediately exhibits its own response to pi+1 • Again both f0(p1, p2,...,pn) and fR(p1, p2,...,pn) are random variables • We refer to such an adversary as an adaptive online adversary 26 Adversary Models Adaptive Adversary We say that R is C-competitive against the adaptive offline adversary if for a constant b independent of N: E f R p1 , p2 ..., pn C E f 0 p1, p2 ..., pn b The adaptive offline competitiveness aof coefficient of R, C R , is the infimum of C such that R is C-competitive Likewise, C R is the adaptive online competitiveness coefficient of R aon 27 Adversary Models Adaptive Adversary Clearly, we can define the following proportion – CRobl CRaon CRaof Let C obl be the lowest oblivious competitive coefficient of any randomized paging algorithm Similarly we define Finally we define C det to be the lowest competitive coefficient of any deterministic paging algorithm Then we have C aon C aof C obl C aon C aof C det 28 Overview-part B Introduction • • • Proof of a Theorem on CR : • • • • Preparations. Behavior of the offline algorithm. Behavior of a deterministic algorithm. Results. The marker algorithm • • Paging against an oblivious – Definitions. The players on this section – What is the goal? Yao’s minimax theorem. Description. Proof of it’s competitiveness coefficient. Summary 29 Paging against an oblivious adversary Remember that in the proof of the result : CA ≥ k we based our analysis on the fact that the request sequence was determined at each step according to the behavior (the cache contents) of the deterministic online algorithm When talking about randomized algorithm it’s intuitive that this ability of the offline algorithm won’t be so helpful 30 Our goal now We now want to prove that against an oblivious adversary a randomized online algorithm can do much better in terms of competitiveness against the result (K) we saw when we talked about deterministic online algorithm. We will see that under the above assumptions . CRobl Hk where H k is the k’th harmonic number which is clearly smaller then K. 31 So… who against who? Our players now are an oblivious adversary which specifies all the request sequence in advance and never changing it later on Then, an optimal offline algorithm is activated on this sequence and announcing it’s result Only then – the sequence is given to the random online algorithm we want to test – each request at a time. 32 A reminder : Yao’s MiniMax principle Yao's minimax principle states that given any arbitrarily chosen input distribution P: the expected cost of the optimal deterministic algorithm under this distribution is a lower bound on the expected cost of the optimal randomized (Las Vegas) algorithm. 33 How to use this principle for our purposes? The principle gives us the ability to deal only with deterministic algorithms in order to give a lower bound for the randomized algorithm. All we need to do is to choose a probability distribution for the inputs and then give a lower bound for the best (in terms of expected cost) deterministic online algorithm under this distribution. 34 Overview-part B Introduction • • • Proof of a Theorem on CR : • • • • Preparations. Behavior of the offline algorithm. Behavior of a deterministic algorithm. Results. The marker algorithm • • Paging against an oblivious – Definitions. The players on this section – What is the goal? Yao’s minimax theorem. Description. Proof of it’s competitiveness coefficient. Summary 35 Some preparations: The probability distribution on the inputs can be taught as the probability to choose the i’th memory item on the sequence – this probability can depend in the older requests on the chosen sequence; Given a deterministic online paging algorithm A we define it’s competitiveness under a distribution ρ to be the infimum of C such that: E f A p1, p2 ..., pn C E f 0 p1, p2 ..., pn b 36 Cont. Formally – the MiniMax principle gives us: inf R obl C R sup (inf (CA )) P P A Meaning of the left member: The competitiveness co efficient of the best random algorithm (Vs. an oblivious adversary). Meaning of the Right member: The competitiveness coefficient of the best deterministic online Alg. Under a “worst-case” input distribution probability. 37 Theorem: Let R be a randomized algorithm for paging then C H obl R k Since we are looking for a lower bound we can look at a very simple case We will look on a world where there are only K+1 memory items: I = {I1,……….,Ik+1} Since the cache can consist at most K items at once only one of the k + 1 items is out at each step So, we can say the algorithm decides which of the items will be out at each step. 38 Choosing a “worst-case” distribution - First we should give P – an input probability distribution : The sequences to be chosen will be of length N – we assume N>>K. Choose the first request p1 uniformly from all the items in I. 2. Choose the i’th request pi uniformly from the set : I\{pi-1}. i>1 1. Intuitive explanation: • We never request an item that we are sure about it’s status – this is why this is a worst-case distribution. 39 Demonstration I = {I1,I2,I3,I4,I5,I6,I7,I8,I9,I10,I11} I4 1 2 3 4 5 6 7 8 9 10 current choice set = {I1,I2,I3,I5,I6,I7,I8,I9,I10,I11} I4 I5 1 2 3 4 5 6 7 8 9 10 40 Now we need to find a lower bound for A – an optimal det’ online algorithm We will use again the notion of rounds that Achiya has mentioned: • The first round starts with the first request and ends when, in the first time all the k+1 items in I has been requested at least once. • The next round starts with the next request and ends just before the request to the (k+1)th distinct item since the start of the current round. • All next rounds acts the same. 41 How the offline algorithm behaves on each round? The offline algorithm will use MIN on each round – the result will be that the item left out will be the one requested only at the last request of the round This means that the offline algorithm will miss only once during a round – at the last request of a round when it adds the missed item to the cache it puts out the last requested item of the next round 42 Demonstration I = {I1,I2,I3,I4} Requests= {I1,I2,I1,I4,I3,I2,I4,I1,I3,I1,I3,I2,I4,I2,I4,I3} I1 I2 I4 I3 I2 I4 I3 I2 II1 I2 II1 I4 1 1 1 1 2 3 2 3 2 3 2 3 43 How often does the offline algorithm miss? We saw that the answer to that question depends the length of each round ( since it misses once in a round). We can ask an equivalent question: what is the expected number of random choices we need to do until we choose all items in a group of order K+1? Let’s look at it as a random walk on a complete graph with k+1 vertices – the expected number of steps to achieve full cover of that graph was approved to be : K*Hk 44 How a deterministic online algorithm behaves on each round? Since the request sequence is random we can’t expect any regularity in the sequence. Since the policy of the known deterministic algorithms is based on some kind of regularity we can’t expect any of these policies to be better then the others. So – the probability for a miss is totally random. 45 Cont. the probability that any request falls on the item that A leaves out at same time-step is exactly 1/k explanation: remember there is no item that will be requested twice consecutively so the next request is for one of the other k items that A might have choose to leave out. Given the expected length of a round we conclude that the expected number of misses by A during a round will be: (K*Hk)*(1/k) = Hk 46 Let’s finish the proof We found that the any of the deterministic online algorithms misses (expected) Hk times the number of (expected) misses by an optimal offline algorithm This result is under the worst case input distribution we defined So we found Hk to be the competitiveness coefficient of A and by the MinMax principle we conclude this is also the competitiveness coefficient of an optimal randomized algorithm for our problem 47 Overview-part B Introduction • • • Proof of a Theorem on CR : • • • • Preparations. Behavior of the offline algorithm. Behavior of a deterministic algorithm. Results. The marker algorithm • • Paging against an oblivious – Definitions. The players on this section – What is the goal? Yao’s minimax theorem. Description. Proof of it’s competitiveness coefficient. Summary 48 The Marker Algorithm After we proved that there are randomized online algorithms with a competitiveness coefficient of Hk we will now see an example for a randomized online algorithm with a very close achievement. The algorithm require K bits (marker bits) – one for each cache location At The beginning all these bits are set to 0. 49 The Algorithm 1. Given a memory request: 1.1 if the requested Item is currently in cache – mark it’s location (set mark bit to 1). 1.2 else bring the Item into memory and evict an item by the following policy: 1.2.1 choose uniformly at random an unmarked memory location. 1.2.2 mark this location, replace the item in it with the currently requested item. 2. If all memory locations are marked - unmark all locations when the next request is given. 50 Theorem : The Marker Algorithm is 2*Hk - competitive We will again use the notion of rounds – about the same definition as earlier : A round starts with Pi that is not in the cache and ends with Pj where : Pi,Pi+1,……….Pj,Pj+1 where j+1 is the smallest integer s.t the above list consists k+1 distinct items. As we will demonstrate each round ends with all the locations marked. Each round begins with an item that is not currently in the cache. 51 Demonstration I = {I1,I2,I3,I4} Requests= {I1,I2,I1,I4,I3,I2,I4,….I1,I3,I1,I4,I2,I4,I2,I3} I1 1 I1 I2 2 3 1 2 3 I1 I2 I4 I1 I2 I4 1 1 2 3 2 3 I1 I3 I4 I1 I3 I2 I4 II3 I2 I4 II3 I2 1 1 1 1 2 3 2 3 2 3 2 3 I1 I3 I4 I2 I3 I4 I2 II3 I4 I4 II3 I2 1 1 1 1 2 3 2 3 2 3 2 3 52 Some definitions We will divide all the items requested during a round to 2 groups: Stale item is an item that is currently unmarked but was marked during the last round – meaning: he was requested during the last round but not during this round clean item is an item that is not stale and/or marked – meaning it wasn’t requested during the last and current rounds Let l be the number of clean items requested during each round. 53 Some more definitions : S0 is the set of k items currently in the offline algorithm cache Sm is the set of k items currently in the Marker algorithm cache DI = |S0/SM| at the beginning of a round DF = |S0/SM| at the end of a round M0 = the number of misses incurred by the offline algorithm cache during a round. 54 Observetions: Note that each of the distinct items is either clean or stale at the beginning of a round. M0≥ l – DI the number of misses by the offline algorithm is at least as the number of the items that wasn’t requested during the last round (l) and are not in it’s cache at the beginning of the round. on the other end , all The k items in Sm at the end of a round are items that were requested during the last round so we can conclude that the offline algorithm missed at least DF misses in the last round since these DF items are not in Sm! 55 How many time the offline algorithm miss during all rounds? By the last observation we have: M 0 max{ l DI , DF} l DI DF 2 Note that DF of the k’th round equals DI of the (k+1)’th round so they are telescoping when summing the above lower bound on all rounds. We can use amortization and we charge each round with l/2 misses for the offline algorithm. Our mistake range is ±2k – size of the 2 cache memories. 56 How many time the Marker algorithm miss during all rounds? First of all by definition , all the clean items are missed during each round For the k-l requests to stale items we should consider the probability that the item requested is not in the cache and this depends directly on the number of clean items requested before him in the round See the board for calculation of this probability and the expected number of misses. 57 So, let’s finish the proof: We saw the Marker algorithm misses at most twice the best result possible (achieved by the offline algorithm: l * Hk 2 Hk l /2 Note that these of you interested can find a more sophisticated algorithm that actually achieves Hk competitiveness coefficient. 58 Overview-part B Introduction • • • Proof of a Theorem on CR : • • • • Preparations. Behavior of the offline algorithm. Behavior of a deterministic algorithm. Results. The marker algorithm • • Paging against an oblivious – Definitions. The players on this section – What is the goal? Yao’s minimax theorem. Description. Proof of it’s competitiveness coefficient. Summary 59 Some more interesting insights/summary One should ask himself if it was a fair game since we gave the randomized algorithm some more comfortable conditions comparing to these of the deterministic algorithm Well the all advantage of the randomized algorithm lies on the fact that it’s actions are unexpected This way we prevent the ability to predict the behavior of the algorithm and affect it. 60 Cont. This is why it’s intuitive to think on an oblivious adversary when talking on randomized online algorithms which hides the status of memory and the eviction policy at each step At the same time, it’s intuitive that on application where it is important to prevent outsiders from affecting the algorithm we won’t use a deterministic algorithm which is totally expectable Application for these kind of algorithms with changing demands can be found in finance, robot navigation, short paths in graph, task systems etc. 61 Further results For these of you interested: Further results shows much less impressive achievements of the randomized algorithms against the smarter adversaries presented by Achiya. competitive coefficient against the online adaptive algorithm : k competitive coefficient against the offine adaptive algorithm : k*Hk 62 THE END 63