An Introduction To Snapshot Algorithms In Distributed .

2y ago
112 Views
2 Downloads
809.68 KB
11 Pages
Last View : 5d ago
Last Download : 3m ago
Upload by : Sabrina Baez
Transcription

HomeSearchCollectionsJournalsAboutContact usMy IOPscienceAn introduction to snapshot algorithms in distributed computingThis article has been downloaded from IOPscience. Please scroll down to see the full text article.1995 Distrib. Syst. Engng. 2 ew the table of contents for this issue, or go to the journal homepage for moreDownload details:IP Address: 128.195.52.171The article was downloaded on 13/01/2011 at 21:13Please note that terms and conditions apply.

Distrib. Syst. Engng 2 (1995) 224-233.IIPrinted in the UKAn intrqduction to snapshotalgorithms in distributed computingAjay D Kshemkalyanit, Michel Raynalt and Mukesh Singhalst IBM Corporation, PO Box 12195, Research Triangle Park, NC 27709, USA IRISA, campus de Beaulieu, 35042 Rennes-cedex, France5 Department of Computer and Information Science, The Ohio State University,Columbus, OH 43210, USAReceived 14 November 1994, in final form 26 July 1995Abstract. Recording on-the-fly global states of distributed executions is animportant paradigm when one is interested in analysing, testing, or verifyingproperties associated with these executions. Since Chandy and Lamport's seminalpaper on this topic, this problem is called the snapshot problem. Unfortunately, thelack of both a globally shared memory and a global clock in a distributed system,added to the fact that transfer delays in these systems are finite but unpredictable,makes this problem non-trivial.This paper first discusses issues which have to be addressed to computedistributed snapshots in a consistent way. Then several algorithms whichdetermine on-the-fly such snapshots are presented for several types of networks(according to the properties of their communication channels, namely, FIFO,non-FIFO, and causal delivery).1. IntroductioncA distributed computing system consists of spatiallyseparated processes that do not share a common memoryand communicate asynchronously with each other bypassing messages over communication channels. Eachcomponent of a distributed system has a local state. Thestate of a process is characterized by the state of its localmemory and a history of its activity. The state of a channelis characterized by the set of messages sent along thechannel less the messages received along the channel. Theglobal state of a distributed system is a collection of thelocal states of its components.Recording the global state of a distributed system isan important paradigm and it finds applications in severalaspects of distributed system design. For examples, indetection of stable properties such as deadlocks [15]andtermination [18], the global state of the system is examinedfor certain properties; for failure recovery, a global state ofthe distributed system (called a checkpoint) is periodicallysaved and recovery from a processor failure is done byrestoring the system to the last saved global state [14]; fordebugging distributed software, the system i s restored toa consistent global state [7,8] and the execution resumesfrom there in a controlled manner. A snapshot-recordingmethod has been used in the distributed debugging facilityof Estelle [12, lo],a distributed programming environment.Other applications include monitoring distributed events[25]such as in industrial process control, setting distributedbreakpoints [ZO], protocol specification and verification[4,9,13],and discarding obsolete information 1211.0967-1&16/95/040224d0519.50Therefore, it is important that there be efficient waysof recording the global state of a distributed system 161.Unfortunately, there is no shared memory and no globalclock in a distributed system and the distributed natureof the local clocks and local memory makes it difficult torecord the global state of the system efficiently.If shared memory were available, an up-to-date stateof the entire system would be available to the processessharing the memory. The absence of shared memorynecessitates ways of getting a coherent and complete viewof the system based on the local states of individualprocesses. A meaningful global snapshot can be obtained ifthe components of the distributed system record their localstates at the same time. This would be possible if the localclocks at processes were perfectly synchronized or if therewere a global system clock that could be instantaneouslyread by the processes. However, it is technologicallyunfeasible to have perfectly synchronized clocks at varioussites - clocks are bound to drift. If processes read time froma single common clock (maintained at one process), variousindeterminate transmission delays during the read operationwill cause the processes to identify various physical instantsas the same time. In both cases, the collection of local stateobservations will be made at different times and may notbe meaningful, as illustrated by the following example.Example: Let S1 and S2 be two distinct sites of adistributed system which maintain bank accounts A andB, respectively. A site refers to a process in this example.Let the communication channels from site S1 to site S2and from site S2 to site S1 be denoted by Cl2 and Czl,0 1995 The British Computer Society, The Institution of Electrical Engineers and IOP Publishing Ltd

AnSI : Account Att2S2: Account B@-Poc1,: 100c*l: 0 200introduction to snapshot algorithms in distributed computingcomputing. The work presented in this paper will beuseful to designers of distributed systems and designers ofapplication support mechanisms.The rest of the paper is organized as follows. Section 2presents the system model and a formal definition ofthe notion of consistent global state. The subsequentsections present algorithms to record such global statesunder various communication models. These algorithmsare called snapshot algorithms. Section 3 presents snapshotalgorithms for FIFO communication channels. It presentsthe Chandy-Lamport snapshot algorithm followed by ashort discussion on three variations of it. Section 4presents snapshot algorithms for non-FIFO communication.channels. Section 5 discusses algorithms for sytems thatsupport causal ordering of messages. Finally, Section 6concludes the paper with summary remarks.2. System model and definitions2.1. System modelFigure 1. A banking example,respectively. Consider the following sequence of actions,which are also illustrated in figure 1:(i) Initially, Account A 500, Account B 200, Clz 0, CZl 0.(ii) Site SI initiates a transfer of 100 from Account A toAccount B. Account A is decremented by 100 to 400and a request for 100 credit to Account B is sent onChannel C12to site S2. Account A 400, Account B 200, c,2 100, CZI 0.(iii) Site S2 initiates a transfer of 50 from Account B toAccount A. Account B is decremented by 50 to 150and a request for 50 credit to Account A is sent onChannel Czl to site S1. Account A 400, Account B 150, Clz 100, CZI 50.(iv) Site S1 receives the message for a 50 credit toAccount A and updates Account A. Account A 450,Account B 150, CIZ 100, C21 0.(v) Site S2 receives the message for a 100 credit toAccount B and updates Account B. Account A 450,Account B 250, CIZ 0, CZI 0.Suppose the local state of Account A is recorded atthe end of step 1 to show 500 and the local state ofAccount B and channels Clz and C21 are recorded at theend of step 3 to show 150, 100, and 50, respectively.Then the recorded global state shows 800 in the system.An extra of 100 appears in the system. The reason forthe inconsistency is that Account A‘s state was recordedbefore the 100 transfer to Account B using channel Clzwas initiated, whereas channel Clz’s state was recordedafter the 100 transfer was initiated.This simple example shows that recording a consistentglobal state of a distributed system is not a trivial task.This paper addresses this fundamental issue of distributedThe system consists of a collection of n processes, indexedfrom 1 to n. that are connected by channels. There is noglobally shared memory and processes communicate solelyby passing messages. There is no physical global clockin the system. Message send and receive is asynchronous.Messages are delivered reliably with finite but arbitrary timedelay. The system can be described as a directed graph inwhich vertices represent the processes and edges representunidirectional communication channels. Let Cjj denote thechannel from process i to process j .Processes and channels have states associated withthem. The state of a process at any time is defined bythe contents of processor registers, stacks, local memory,etc and may be highly dependent on the local context of thedistributed application. The state of channel Cij, denotedby SC,, is given by the set of messages in transit in thechannel.The actions performed by a process are modelled asthree types of events, namely, internal events, message sendevents, and message receive events. For a message mjjthat is sent by process i to process j , let send(mij) andrec(mij) denote its send and receive events, respectively.Occurrence of events changes the states of respectiveprocesses and channels, thus causing transitions in globalsystem state. For example, an internal event changes thestate of the process at which it occurs. A send event (or areceive event) changes the state of the process that sends(or receives) the message and the state of the channel onwhich the message is sent (or received). The events at aprocess are linearly ordered by their order of occurrence.At any instant, the state of process i, denoted by LS;,results from the sequence of all the events executed byprocess i till that instant. For an event e and a processstate LSj, e E LSj iff e belongs to the sequence of eventsthat have taken process i to state LSj.A channel is a distributed entity and its state dependson the local states of the processes on which it is incident.For a channel Cij, the following set of messages can bedefined, based on the local states of the processes i and jD11.225

A D Kshemkalyani et a/Transit: transit(LSi. LSj) (mu [send(mij) ELSi A r e c ( m i j ) @ LSj }Thus, if a snapshot recording algorithm records the stateof processes i and j as LSi and LSj, respectively, then itmust record the state of channel Cij as transit(LSi, LSj).There are several models of communication amongprocesses and different snapshot algorithms have assumeddifferent models of communication. In a FIFO model, eachchannel acts as a first-in first-out message queue and thus,message ordering is preserved by a channel. In non-FIFOmodel, a channel acts like a set in which the sender processadds messages and the receiver process removes messagesfrom it in a random order. The ‘causal ordering’ model[5] is based on Lamport’s ‘happens before’ relation onthe system events. An event el happens before event e2,denoted by el e2, if (a) el occurs before e2 on the sameprocess, or @) el is the send event of a message and e2is the receive event of that message, or (c) 3e’leI happensbefore e’ and e’ happens before e2. A system that supportsa causal ordering model satisfies the following property:CO: For any two messages mi, and mkj, if send(m;j) - send(mkj), then rec(mij) - rec(mkj).Causally ordered delivery of messages implies FIFOmessage delivery. Causal ordering model is useful indeveloping distributed algorithms and may simplify thealgorithms themselves.2.2. Global stateThe global state of a distributed system is a collection of thelocal states of the processes and the channels. Notationally,a global state GS is defined asGS {U L S ,Uscij]ii.jA global state GS is a consistent global sfate iff itsatisfies the following two conditions:C1: send(mij) E LSt mtj E SCjfB rec(mij) E LSj. (fBis Ex-OR operator.)C 2 send(m;j) LSi mij @ SCijA rec(mij) @ LSj.In a consistent global state, every message that isrecorded as received is also recorded as sent and such astate captures the notion of causality that a message cannotbe received if it was not sent. Consistent global states aremeaningful global states and inconsistent global states arenot meaningful in the sense that a distributed system cannever be in an inconsistent state.2.3. Jssnes in recording a global stateIf a global physical clock were available, the followingsimple procedure could be used to record a consistentglobal snapshot of a distributed system: The initiator ofthe snapshot collection decides a future time at which thesnapshot is to be taken and broadcasts this time to eachprocess. All processes take their local snapshots at thatinstant in the global time. The snapshot of channel Cijincludes all the messages that process j receives aftertaking the snapshot and whose timestamp is smaller than226Figure 2. Timing diagram for the banking example.the time of the snapshot. (All messages are timestampedwith the sender’s time.) Clearly, if channels are not FFO,a termination detection scheme will be needed to determinewhen to stop waiting for messages on channels.However, a global physical clock is not available in. a distributed system and the following two issues need tobe addressed in recording a consistent global snapshot of adistributed system:11: How to distinguish between the messages to berecorded in the snapshot (either in a channel state ora process state) from those not to be recorded. Theanswer to this comes from conditions C1 and C2 asfollows:Any message that is sent by a process before recordingits snapshot must be recorded in the global snapshot(from Cl).Any message that is sent by a process after recordingits snapshot must not be recorded in the global snapshot(from C2).I2: How to determine the instant when a process takes itssnapshot. The answer to this comes from condition C2:A process j must record its snapshot before processinga message mij that was sent by process i after recordingits snapshot.2.4. Cuts of a distributed computationA distributed computation can be conveniently representedusing a timing diagram where horizontal lines represent theprocesses’ time lines. Figure 2 shows a timing diagramfor the computation illustrated in figure 1. A line joiningone arbitrary point on each process line slices the timingdiagram into a PAST and a FUTURE. Such a line istermed a cur in the computation. Every cut correspondsto a global state and every global state can be graphicallyrepresented as a cut in the computation’s timing diagram[3]. A consistent global state corresponds to a cut in whichevery message received in the PAST of the cut has been sentin the PAST of that cut. Such a cut is known as a consistentcur. Cuts in a timing diagram provide a powerful graphicalaid in representing and reasoning about global states of acomputation.We next discuss a set of representative snapshotalgorithms for distributed systems. These algorithmsassume different interprocess communication capabilitiesabout the underlying system and illustrate how interprocesscommunication affects the design complexity of thesealgorithms. There are two types of messages: computationmessages and control messages. The former are exchanged

Marker Sending Rule for process i(i) Process i records its state.(ii) For each outgoing channel C on which a markerhas not been sent, i sends a marker along Cbefore i sends further messages along C.Marker Receiving Rule for process jOn receiving a marker along channel C:if j has not recorded its state thenbegin Record the state of C as the empty setFollow the ‘Marker Sending Rule’endelseRecord the state of C as the set of messagesreceived along C after j ’ s state was recordedand before j received the marker along CFigure 3. The Chandy-Lampott algorithm.by the underlying application and the latter are exchangedby the snapshot algorithm. Execution of a snapshotalgorithm is transparent to the underlying application,except for occasional delaying of some actions of theapplication.3. Snapshot algorithms for FIFO channelsThis section presents Chandy and Lamport algorithm [6],which was the first algorithm to record the global snapshot,and three of its variations.3.1. Chandy-Lamport algorithm3.1.1. Principle. After a site has recorded its snapshot,it sends a control message, called a marker, along all itsoutgoing channels before sending out any more messages.Since channels are FIFO,a marker separates the messagesin the channel into those to be included in the snapshot(is. channel state or process state) from those not to berecorded in the snapshot. (This addresses issue 11.) Therole of markers in a FIFO system is to act as delimitersfor the messages in the channels so that the channel staterecorded by the process at the receiving end of the channelsatisfies the condition C2.Since all messages that follow a marker on channel Cijhave been sent by process i after i has taken its snapshot,process j must record its snapshot not later than when itreceives a marker on channel Cjj. mis addresses issueJa3.1.2. The algorithm. The algorithm is given in figure3. A process initiates snapshot collection by executingthe ‘,Marker Sending Rule’ by which it records its localstate and sends a marker on each outgoing channel. Aprocess executes the ‘Marker Receiving Rule’ on receivinga marker. If the process has not yet recorded its localstate, it executes the ‘Marker Sending Rule’ to recordits local state. The state of the incoming channel onwhich the marker is received is recorded as being the setof computation messages received on that channel afterx Si: Accoun! AfS 2 Account Brecording the local state but before receiving the markeron that channel. The algorithm can be initiated by anyprocess by executing the ‘Marker Sending Rule’.To prove the correctness of the algorithm, we nowshow that a recorded snapshot satisfies conditions C1 andC2. Since a process records its snapshot when it receivesthe first marker on any incoming channel, no messagesthat follow markers on the channels incoming to it arerecorded in the process’s snapshot. Moreover, a processstops recording the state of an incoming channel whena marker is received on that channel. Due to the FIFOproperty of channels, it follows that no message sent afterthe marker on that channel is recorded in the channel state.Thus, condition C2 is satisfied. When a process j receivesmessage mi, that precedes the marker on channel Cij, itacts as follows: if process j has not taken its snapshot yet,then it includes mij in its recorded snapshot. Otherwise, itrecords mij in the state of the channel Cij. Thus, conditionC1 is satisfied.The recorded local snapshots can be put together tocreate the global snapshot in several ways. One policy isto have each process send its local snapshot to the initiatorof the algorithm. Another policy is to have each processsend the information it records along all outgoing channels,and to have each process receiving such information for thefirst time propagate it along its outgoing channels. All thelocal snapshots get disseminated to all other processes andall the processes can determine the global state.The recording part of a single instance of the algorithmrequires O(e) messages and O(d) time, where e is thenumber of edges in the graph and d is the diameter of thegraph.3.2. Property of the recorded global stateThe recorded global state may not correspond to any ofthe global states that occurred during the computation.Consider a possible execution of the snapshot algorithmfor the money transfer example of fiewe 2 using a timingdiagram in figure 4. Let site S1 initiate the algorithm at theend of step 1. Site S1 records its local state (Account A 500) and sends a marker to site 2. The marker is receivedby site S2 at the end of step 4. When site S 2 receives themarker, it records its local state (Account B 250), thestate of channel C1 as 0, and sends a marker along channelC2. When site S1 receives,this marker, it records the stateof Channel C2 as 50. The 700 amount in the system isconserved in the recorded global state. However, this global227

A D Kshemkalyani et a/t’ IS2: b u n t Brecordedglobal state-t2, t3,t4,,t5computation messageFigure 5. Applying the rubber-band criterion.state never occurred in the execution. This happens becausea process can change its state asynchronously before themarkers it sent are received by other sites and the othersites record their states,Nevertheless, as we discuss next, the system could havepassed through the recorded global state in an equivalentexecution [6]. Suppose the algorithm is initiated in globalstate Si and it terminates in global state S,. Let seqbe the sequence of events which takes the system fromSi to S,. Let Sn be the global state recorded by thealgorithm. Chandy and Lamport [6] showed that thereexists a sequence se4’ which is a permutation of se4 suchthat S* is reachable from Si by executing a prefix of seq‘and S, is reachable from S* by executing the rest of theevents of seq‘.Thus, the recorded global state is a valid state in anequivalent execution and if a stable property (i.e. a propertythat persists, such as termination or deadlock) holds in thesystem before the snapshot algorithm begins, it holds inthe recorded global snapshot. Therefore, a recorded globalstate is useful in detecting stable properties.A physical interpretation of the collected global stateis as follows. Consider the two instants of recording ofthe local states in the banking example. These instantsare marked by crosses in figure 4. If the cut formed bythese instants is viewed as being an elastic band and if theelastic band is stretched so that it is vertical, then all therecorded states of all processes occur simultaneously at onephysical instant and the recorded global state occurs in theexecution that is depicted in this modified timing diagram(figure 5). Note that the system execution would have beenlike this, had the processors’ speeds and message delaysbeen different. Yet another physical interpretation of thecollected global state is as follows: all the recorded processstates are mutually concurrent-no process state causallydepends upon another. Therefore, we can view logicallythat all these process states occurred simultaneously eventhough they might have occurred at different instants inphysical time.3.3. Variations of the Chandy-Lamport algorithmSeveral variants of the Chandy-Lamport snapshotalgorithmfollowed. These variants refined and optimized thebasic algorithm. For example, Spezialetti and Kearnsalgorithm [24]optimizes concurrent initiation of snapshotcollection and efficiently dishibutes the recorded snapshot.Venkatesan’s algorithm [23]optimizes the basic snapshot228algorithm to efficiently record repeated snapshots of adistributed system that are required in recovery algorithmswith synchronous checkpointing.Spezialetti-Kearns method There are two phases inobtaining a global snapshot: locally recording the snapshotat every process and distributing the resultant globalsnapshot to all the initiators. Spezialetti and Kearns [24]optimized the Chandy-Lamport algorithm by exploitingthe work of combining concurrently initiated snapshots(in the first phase) to efficiently distribute the resultantglobal snapshot to only the concurrent initiators (in thesecond phase). A process needs to take only one snapshot,irrespective of the number of concurrent initiators and allprocesses are not sent the global snapshot.This algorithm assumes bidirectional channels in thesystem. The message complexity of snapshot recording isO(e) irrespective of the number of concurrent initiations ofthe algorithm. The message complexity of assembling anddisseminating thesnapshot is O ( m 2 )where r is the,numberof concurrent initiations.Venkatesan’s incremental snapshot method Manyapplications require repeated collection of global snapshotsof the system.For example, recovery algorithmswith synchronous checkpointing need to advance theircheckpoints periodically. This can be achieved by repeatedinvocations of the Chandy-Lamport algorithm. However,Venkatesan [23]proposed the following efficient approachExecute an algorithm to record an incremental snapshotsince the most recent snapshot was taken and combine itwith the most recent snapshot to obtain the latest snapshotof the system. The incremental snapshot algorithm ofVenkatesan E231 modifies the global snapshot algorithm ofChandy-Lamport to save on messages when computationmessages are sent only on a few of the network channels,between the recording of two successive snapshots.The incremental snapshot algorithm assumes bidirectional FIFO channels, the presence of a single initiator, afixed spanning tree in the network, and four types of control messages: initsnap, snap-completed, regular, and ack.initsnap and snap-completed messages traverse spanningedges. regular and ack messages which serve to recordstates of non-spanning edges are not sent on those edgeson which no computation message has been sent since theprevious snapshot.Venkatesan [23]showed that the lower bound on themessage complexity of an incremental snapshot algorithmis S2(un) where U is the number of edges on whicha computation message has been sent since the previoussnapshot. Venkatesan’s algorithm achieves this lowerbound in message complexity.Helary’s wave synchronization methodHelary’ssnapshot algorithm [Ill incorporates the concept ofmessage waves in the Chandy-Lamport algorithm. A waveis a flow of control messages such that every processin the system is visited exactly once by a wave controlmessage, and at least one process in the system candetermine when this flow of control messages terminates.A wave is initiated after the previous wave terminates:Wave sequences may be implemented by various traversalstructures such as a ring. A process begins recording

An introduction to snapshot algorithms in distributed computingthe local snapshot when it is visited by the wave controlmessage.Note that in this algorithm, the primary function ofwave synchronization is to evaluate functions over therecorded global snapshot.’ This algorithm has a messagecomplexity of O ( e ) to record a snapshot (because allchannels can be traversed to implement the wave).4. Snapshot algorithms for non-FIFO channelsA FIFO system ensures that all messages sent after amarker on a channel will be delivered after the marker.This ensures that condition C2 is satisfied in the recordedsnapshot if LS;, LSj, and SC;j are recorded as describedin the Chandy-Lamport algorithm. In a non-FIFO system,the problem of global snapshot recording is complicatedbecause a marker cannot be used to delineate messages intothose to be recorded in the global state from those not tobe recorded in the global state. In such systems, differenttechniques have to be used to ensure that a recorded globalstate satisfies condition C2.In a non-FIFO system, either some degree of inhibition(i.e. temporarily delaying the execution of an applicationprocess or delaying the send of a computation message)or piggybacking of control information on computationmessages to capture out-of-sequence messages, is necessaryto record a consistent global snapshot [22]. The non-FIFOalgorithm by Helary uses message inhibition.[ll]. Thenon-FIFO algorithms by Lai and Yang [16], Li er nl [17]and Mattern [19] use message piggybacking to distinguishcomputation messages sent after the marker from those sentbefore the marker.The non-FIFO algorithm of Helary [ 111 uses messageinhibition to avoid an inconsistency in a global snapshot inthe following way: When a process receives a marker, itimmediately returns an acknowledgement After a processi has sent a marker on the outgoing channel to process j , itdoes not send any messages on this channel until it is surethat j has recorded its local state. Process i can concludethis if it has received an acknowledgement for the markersent to j , or has received a marker for this snapshot from j .We next discuss snapshot recording algorithms forsystems with non-FIFO channels that use piggybacking ofcomputation messages.4.1. Lai-Yang algorithmLai and Yang’s global snapshot algorithm for non-FIFOsystems [16] is based on two observations on the role ofa marker in a FIFO system. The first observation is that amarker ensures that condition C2 is satisfied for LS, andLSj when the snapshots are recorded at processes i and j ,respectively. The La-Yang algorithm fulfills this role of amarker in a non-FIFO system by using a colouring schemeon computation messages as follows.(i) Every process is initially white and turns red whiletaking a snapshot. The equivalent of the ‘MarkerSending Rule’ is executed when a process turns red.(ii) Every message sent by a white (red) process is colouredwhite (red). Thus, a white (red) message is a messagethat was sent before (after) the sender of that messagerecorded its local snapshot.(iii)Every white process takes its snapshot at itsconvenience, but no later than the instant it receivesa red message.Thus, when a white process receives a red message, itrecords its local snapshot before processing the message.This ensures that no message sent by a process afterrecording its local snapshot is processed by the destinationprocess before the destination records its local snapshot.Thus, an explicit marker message is not required in thisalgorithm and the ‘marker’ is piggybacked on computationmessages using a colouring scheme.The second observation is that the marker informsprocess j of the value of [send(mjj)[send(mij)E LS, ]so that transit(LS;,LSj) can be computed. The Lai-Yangalgorithm fulfils this role of the marker in the followingway.(iv) Every white process records a history of all whitemessages sent or received by it along each channel.(v) When a process turns red, it sends these histories alongwith its snapshot to the initiator process that collectsthe global snapshot.(vi) The initiator process evaluates transir(LSj, LSj) foreach channel Cjj as given below:SCjj (send(mjj)lsend(m;j) E LS, ] {rec(m,j)[rec(mjj)E LSj 1.Condition C2 holds because a r

Account B. Account A is decremented by 100 to 400 and a request for 100 credit to Account B is sent on Channel C12 to site S2. Account A 400, Account B (iii) Site S2 initiates a transfer of 50 from Account B to Account A. Account B is decremented by 50 to 150 and a request for 50 credit to Account A is sent on Channel Czl to site S1.

Related Documents:

Snapshot delta: A point-in-time version of a source volume track that was preserved during a host write to a source volume that had an active snapshot. Replication cache: A portion of the metadata in cache that is dedicated for replication data pointers (RDP) which track the snapshot deltas in the SRP.

Using the Portfolio Snapshot Report with Clients Version 1.0 1 This document explains the different sections of the Portfolio Snapshot report. Overview The Portfolio Snapshot Report is the most sophis ticated portfolio report available. It provides information on both holdings and performance fo r a portfolio

Linux RNG after VM Reset Experiment: Boot VM in Xen or VMware Capture snapshot Resume from snapshot, read from /dev/urandom Read RNG Snapshot disk Read RNG Repeat: 8 distinct snapshots 20 resumptions/snapshot Not-So-Random Numbers in Vir

section of this manual. Recall Safe Places the selected Rack or plug-in into a "safe" mode which protects it from Snapshot recalls. "Recalled Safe" racks or plug-ins are unaffected by all Snapshot recalls, even if a Snapshot has parameters that "should" be changed on Snapshot recall. Assign the Rack to a latency

THIRD EDITION Naveed A. Sherwani Intel Corporation. KLUWER ACADEMIC PUBLISHERS NEW YORK, BOSTON, DORDRECHT, LONDON, MOSCOW. eBook ISBN: 0-306-47509-X . Graph Search Algorithms Spanning Tree Algorithms Shortest Path Algorithms Matching Algorithms Min-Cut and Max-Cut Algorithms

work/products (Beading, Candles, Carving, Food Products, Soap, Weaving, etc.) ⃝I understand that if my work contains Indigenous visual representation that it is a reflection of the Indigenous culture of my native region. ⃝To the best of my knowledge, my work/products fall within Craft Council standards and expectations with respect to

Graph algorithms Geometric algorithms . Textbook Cormen, Leiserson, Rivest, and Stein, Introduction to Algorithms, Third Edition, McGraw-Hill, 2009. 4 Suggested Reading Polya, How to Solve it, Princeton University Press, 1957. Preparata and Shamos, Computational Geometry, an . limitations of algorithms? Computability .

Nimble Storage vs HPE 3PAR: A Comparison Snapshot Nimble Storage vs HPE 3PAR: A Comparison Snapshot INTRODUCTION CONT.: In 2015, Hewlett-Packard split in two forming HP Inc. and Hewlett Packard Enterprise. The latter, working as an enterprise information technology company, kept control of 3PAR and offers i