SlideShare a Scribd company logo
1 of 9
Download to read offline
rli~ HEWLETT
~~ PACKARD
A Deterministic Model of Time
for Distributed Systems
Jeremy Carroll, Andrei Borshchev*
Telecom Management Department
HP Laboratories Bristol
HPL-96-112
July, 1996
time, logical time,
real time,
distributed systems,
causality,
Isis, middleware,
delayed delivery
This paper proposes a linear, deterministic, logical
time model for distributed systems. We give an
account of causality within distributed systems
which undergirds the time model. We discuss some
advantages for the application programmer in
using our time model.
*St. Petersburg Technical University, Russia
Presented at the 8th IEEE Symposium on Parallel and Distributed Processing, October 1996.
ยฉ Copyright Hewlett-Packard Company 1996
Internal Accession Date Only
A Deterministic Model ofTime for Distributed Systems
Jeremy J. Carroll
Hewlett-Packard Labs, Bristol, U.K.
jjc@hpLhp.com
Andrei V. Borshchev
St.Petersburg Technical University, Russia
andrei@trantor.nord.nw.ru
is shown by Cheriton and Skeen [6], 'it can't say the
"whole story n,. We modify their Figure 4 as our Figure 1.
Abstract
This paper proposes a linear, deterministic, logical time
model for distributed systems. We give an account of
causality within distn"buted systems which undergirds the
time model. We discuss some advantages for the
application programmer in using our time model.
Theoretic
Pricing
ISIS
Option
Pricing
User
Monitor
Our model
User
Monitor
Figure 1 Cheriton and Skeen's trading example
Their criticism is that the application semantics mean
that message C is caused by message B, whereas the User
Monitor sees message D, that supersedes message A,
before message C. Moreover, 'causal ordering' accepts
this; for Lamport message C and message D are
concurrent.
We see that the correct notion of cause notes that C
happens because ofB and D merely happens after B. This
reininds us ofHume's second definition ofcausation [9]:
We may define a cause to be [. ..J ifthe first object
had not been, the second never had existed.
Under our time model we are required to deliver
message C, which is strongly caused by B (in this Humean
sense), prior to message D, sent after B, (see the axiom of
strong causality in section 4). In the figure this is shown
by delaying message D, using an ISIS-like mechanism.
(We require that the multicast A&B is made in the order A
then B).
1. Introduction
We propose a new detemrinistic, logical time model for
distnbuted systems.
The time model is defined at the level of temporal
semantics in tenns ofmessage ordering.
These temporal semantics allow the application
programmer to think about time linearly without having
to worry about concurrency or race conditions. This
makes the temporal semantics of distribution much closer
to those ofnon-distributed systems.
These semantics are to be implemented in middleware
which offers a messaging facility. For the application
programmer the messaging appears to obey the linear time
order ofour time model. In reality the messaging operates
with a high level of concurrency. The cost of the time
model is mainly felt in latency, not throughput.
The time model depends upon a new definition of
causality which differs significantly from Lamport's
causality [11].
2. Motivations
We look at two distinct motivations for this work, one
theoretical, the other practical
2.1 Causality
Option
price 26.00 .._ .
Theoretical
price 26.25
Optionยท'ยท .
price 26.50
Lamport, in his landmaIk paper, [II], defines his
'happened before' relationship and notes 'that it is
possible for event a to causally affect event b'. This led,
via Fidge [7] and Mattern. [12] to the misnamed 'causal'
ordering of ISIS [2,13]. The lack of true causality in ISIS
1
2.2 Telecom billing systems
The authors are part of the HP Labs team wo:dcing in
the area oftelecom billing systems (see Beech [1]).
Almost all telecom billing systems are currently
implemented on centralised mainframes. The mainframe
receives its input data as Call Detail Records (CDRs) from
the telecom switching netwolk The telecom switches output
'taW' CDRs; these are transmitted unprocessed to the central
mainframe, where all processing is done. The typical data
transmission system consists of motorbike couriers with
magnetic tapes (a high bandwidth, high latency solution).
The billing architectme proposed by the HP lab team
involves using geogmphically distnbuted processing, in
which as much processing as posSIble is done near the
data sources. The processed CDRs are then consolidated
centIal1y. (The motorbike network is modernised!)
Ideally the same application progmmmers should
continue to develop the billing systems as they migrate
from a centralised architecture to a distributed one
Hence any serious proposal for an application
progmmmers' environment should assume that the
application progmmmer is happier with COBOL than
with concurrency, and happier with records than race
conditions.
This time model is proposed with such a target user in
miil.d.
3. Background assumptions
We take an application or system level view of the
distnbuted system, rather than only seeing a set of
processes. This is reflected in the time-line being a
property of the whole system. This global view is
however, a development and system management view of
the system. and not a statement about implementation. We
prefer decentralised implementations in which global
properties emerge out of localised processing, rather than
from a central server ormaster/slave arrangement
We consider distnbuted systems which are sets of
processes connected by FIFO channels. Some of the
processes may have external channels through which they
commmricate with the system's environment. Individual
processes are driven by input messages, and the whole
system is driven by the external input messages. While
handling a message, a process can send an arbitrary
number of output messages, which are considered as
consequences ofthe input message.
3.1 Process assumptions
A process consists of a number of application layer
event handlers with shared state.
The only events we consider are message related
events. We use the tenn message arrival to indicate the
message arriving in the presentation layer, and message
2
delivery to indicate the message.being passed from the
presentation layerto the application layer. The application
layer may generate message send request events which are
passed to the presentation layer, which in tum generates
message send events. The application layer also generates
message processing complete events, which are passed to
the presentation layer.
The presentation layer delivers messages, one by one,
to the application layer by means of message delivery
events. After the application layer receives a single
message delivery event, it:
โ€ข generates zero or more message send requests.
โ€ข changes the process state.
โ€ข generates a message processing complete event that
indicates that it has finished processing that message
and is ready to receive another message. (1bis is
required to happen in bounded time).
Such message handler invocations are the atomic units
out ofwhich we see a distributed system being fonned. A
process history is simply a sequence of such invocations,
each of which may affect subsequent invocations by
changing the internal state ofthe process.
3.2 Channel assumptions
A channel links the presentation layers of two
processes.
We assume that the channels are perfect FIFO channels.
A message send event at one end is eventually followed
by a message arrival event at the other.
At the application layer the channels are simplex;
however auxiliary messages, from one presentation layer
to the other, are allowed in both directions.
3.3 Clock assumptions
The single assumption of a global nature is that of the
existence of a global real-time clock accessible from
anywhere within the system.
We only require that the clock is locally monotonic
increasing, and that there is some bound (perhaps only
statistical) on the difference between two simultaneous
readings of the clock in different processes. Neither the
time model, nor the implementation we present, make any
restrictions as to the size of the bound on the error.
However, many applications, including telecom billing,
may make more severe demands on the error bounds.
3.4 Typical applications
While these assumptions are general, the emphasis on
simplex channels contrasts with the client/server
paradigm. This is because our applications (distributed
test environments; event correlation services [8];
environmental monitoring systems as well as billing
systems) gather and process data from a nmnber of
geographically separate sources. Such an application is
illustrated in Figure 2. These applications tend to have
few loops in their geographic dataflow diagrams. They are
also toleI3Ilt oflatency, which is reflected in a significant
amount of queuing and delayed delivery within the
implementation ofthe time model
Geographically
dis1ributred
input
Figure 2 A typical data analysis application
4. The time model
The time model is a strict total ordering of the set of
messages in the system (we omit the word 'strict' in the
following).
Ifmessages are delivered to every process in time order
and messages are sent along every channel in time order
then the system is said to obey the time model.
A total ordering on the set ofmessages is equivalent to
an injective mapping from the set of messages in the
system to a totally ordered set (the time-line).
This gives the first principle ofthe time model: there is
a unique timejOr everything.
Such a time is simply a label for the message and does
not have any necessary relationship with real time. Such a
label can be useful for evaluating the time order
relationship between messages.
We now introduce the total order relation "<" on the
set ofall messages in the system. This relation is based on
two partial order relations, "=>" (sent before) and "~"
(strong causality).
"=>" is defined by:
โ€ข For any two external input messages, mo and
mI, either mo =>mI or m] =>mo. This is given
3
by the environment, typically by the clock time
ofmessage arrival. In other words, external input
messages are totally ordered with respect to =>.1
โ€ข If message send requests for messages mo and
m1occur in that order during a single invocation
of the message handler of some third message,
thenmo =>m1ยท
"~" is the least partial order such that:
โ€ข Ifthe message send request form1occurs during
the invocation in response to mo, then mo ~",].
(i.e. a message strongly causes any messages
sent by its handler).
"<" is the total order such that:
1. IfIllo~ml thenIllo <mi'
2. IfIllo -+m1 thenIllo <mI'
3. If Illo ~ mlJ Illo -+ m'0 then m'0 < mi' (The
strong causality axiom)
The first two axioms correspond to Lamport's axioms;
the third is the heart ofthe time model.
The idea behind the strong causality axiom is the
following: ifa process or the system's environment sends
two messages, one after another, then any consequence of
the first message should happen before the second
message and any ofits consequences. We will see that this
property is highly desirable and intuitive.
This gives the second principle of the time model:
there is enough time fOr everything (i.e. enough time for all
remote consequences to happen before the next local
event).
The totally ordered message set can be represented as a
tree, see Figure 3. The root of the tree is the system's
environment which generates extema! messages. The
nodes are invocations ofmessage handlers. Arcs represent
messages.
Using this tree it is easy to reconstruct the message
relations. For example, a ~ b because b was sent while a
was handled; b => c because b was sent before c in the same
invocation. Also, a ~ f and.Y: => z as these relations are
transitive.f and e are incomparable tmder both"=>" and
"~"; neverthelessf< e. To compare two messages with
respect to the global order relation "<" one has to trace paths
I More exactly if mo and mI. arrive from the environment at
the same process in that chronological order (by clock time)
then mo => mI. This generates a unique least partial order.
There is a choice of total orders respecting this constraint;
we choose one such total order. The choice is arbitraJ)'. but
some choices might give better results than others. For the
specific applications we have in mind. having adequately
synchronized real time clocks and developing a total order
that respects these clocks is best.
โ€ข-+. relation
external
message
invocation of
message handler
internal
message
.~. relation
system
environment
2
2
2
2
2
3
2
Figure 3 Message tree
Timestamps
a [1]
b [1,1]
c [1,2]
d [1,2,1,1]
e [1,2,2,1,2]
f [1,1.1,1.1]
u [2]
x [2.1]
Y [2,2,2,1,1]
z [2,3]
from the root to these messages. There can be three possible
cases, which correspond to the three axioms. They are
shown by the following three examples takenfrom Figure 3:
โ€ข c lies on the path of d, hence, c -+ d and
therefore c < d.
โ€ข x and z have the same path, butx is sent before z,
so x =;>z and x < z.
โ€ข f and e have the same path prefix, but then their
paths fork, and b (with b -+ j) is sent before c
(with c -+ e), which means b =;> c, sof < C < e,
givingf< e.
If a distributed system follows this time model, i.e. if
messages are delivered to each process in this order, and
sent down each channel in this order, then the system's
behaviour will be detemrinistic, independent of the speed
ofprocesses and channels.
In the implementation discussed below, we use the set
of sequences of integers as a time-line. Examples are
shown in Figure 3. The sequence is detennined by the
path from the root to a message. This is ordered using the
standard alphabetic ordering on integer sequences.
5. Implementation
We sketch one poSSIble implementation of the time
model It is pessimistic, ie. based on the delayed delivery
of messages. An optimistic implementation could be
achieved using Jefferson's virtual time with rollback [10],
(in which case the assmnptions about channels, section
4
3.2, are unnecessary).
The timeline used is the set ofinteger sequences. However
since we cannot number the (distributed) extemal
messages sequentially we assign a unique pair to each, the
value ofa real clock and an extemal input identifier.
Each node inthe distnbuted system is stmetured as shown
in Figure 4. All ftmctionality related to support for the
time model resides in the time service. The time service
has a local logical clock which is updated whenever a
message is received or sent by its process. The
"timestamp assigner" at the border with the system's
environment has a real clock and a unique input identifier.
Application Process
Internal Inputs
~ (from other processes)
External Inputs
(from outside)
Figure 4 A process with its time service
As in the ISIS ABCAST protocol [13], input messages
are not delivered to the process until there are messages
present on all inputs. Once this condition holds, the local
clock is set to the timestamp ofthe oldest message, a new
integeris added to the sequence, and the oldest message is
delivered. When the process sends a message it is
timestamped by the time service with the current value of
the local clock; and then the clock is incremented (i.e. the
last integerin the sequence is incremented).
This algorithm fully implements our time model, but does
not work when the system contains loops. Moreover, rare
messages either on an extema1 input or on an intemallink
may slow the system down. To solve these problems we have
developed a specific channel flushing algorithm for our time
model, significantly different to the one orISIS ABCAST.
The general ideais that each time there are inputmessages
waiting while some inputs are empty, the time service sets
a flush timer. On the timeout event it sends flush requests
to all empty inputs, and then waits for positive or negative
responses. Ifpositive responses come from all inputs the
oldest message is delivered. Ifa negative response comes
on any input the flush is re-scheduled. Requests from
other time services are handled in the following way.
First, the time service tries to reply using the local
infonnation (its local clock and the timestamps of waiting
messages). Ifit is unable to do so, it fOIWards the request
to all empty inputs. If all responses are positive, so is the
one to the remote requester. OtheIWise, the response is
negative.
6. Performance modelling
We used COVERS simulation environment [3,4] to
assess the impact of the time model (implemented as
described above) on system perfonnance.
The modelling results show that, while the system is
underutilized, the ovemead traffic (the auxiliary channel
flushing messages sent at the time service layer) can be as
much as 8 times the nmnber of the application messages.
However, when the input data me is high and the system
reaches its maximmn throughput, the time model traffic
falls down to an acceptable amount
Perfonnance modelling also shows that the system's
throughput depends on the value of the flush timeout,
which should be chosen carefully, especially ifthe system
contains loops. Dynamic (adaptive) tuning of the flush
timer depending on the percentage of successful channel
flushes may be considered.
7. Total ordering and programming models
The strong causality principle provides a much easier
framework for the application programmer. A
programmer used to non-distributed systems is used to a
time-line that is totally ordered, and aIbitIarily divisible.
5
The first part of a procedure staRs and completes before
the second part. There is no special tempornl semantics for
a nonna! part of such a program. For example, a
subprocedure invoked by the first part will also have
completed before the second part.
When we move to a distributed system, programmers
are nonnally expected to have to understand either
concurrency or asynchronicity or both. However, with our
time model the programmer's view of the system is just
like that for a non-distributed system (Figure 5). In this
:figure we see that the end of a remote event handler
logically returns 'control' to the sender. However, this
logical retum of control does not necessarily imply any
loss ofactual concmrency: in the example shown, the only
ordering constraint on the events is that the second 'send
msg 2' instruction is received after the first. This is
ensured by the implementation ofthe time model.
..._..-.._ - .
hlIllCll8r1
............::::::.::.::::.:.::.::: .....
ยทยทยทยทยทยทยทยทยทยทยทยทยท.ยท~ยทiti~.~ยท.
G-ยท[ยท_~~-.ยท ;llarrJ~r-:
~-~~i-~-'--':~t~E~iw,~i:! ยท'.'.,rldJ8r2"'ยทยท ..ยท"-_ยทยท_ยท""-,ยทยทยท~ยท dhandl8r<;
Logical tine ""'.~~.
Figure 5 TemporalsEtn,antics of message sends
We believe the COBOL programmers of telecom
billing systems will find this tempornl semantics intuitive
and easy to use. Moreover, the global linear time line
removes many of the different orderings that plague
distnlmted systems. Much of the logic for dealing with
complex ordering constraints has moved from the
application layer, where it confuses, to the middleware in
the presentation layer, where it empowers. In this way,
applications built on top of our time model can be
significantly simpler; easier to build, understand and
change. This makes them SUbstantially cheaper and less
buggy.
This view ofmessage send like procedurnl call clarifies
why our time model solves the problem of Cheriton and
Skeen exploredin section 2.1.
8. Loops
We have seen in the discussion in section 5 that loops
genexate issues for the time model Typical loops generate
a need for many auxiliary messages. Most loops only
pennit the processing ofa single message at anyone time
anywhere within the loop (we say the loop 'locksteps').
The channel flush algorithm allows the processors to
negotiate as to which goes fust.
We have three different solutions to these problems: we
can remove spurious loops in the design process; or
collocate processes in a loop; or explicitly break the link
ofstrong causality between a message and its feedback.
The traditional design models, client/server,
master/slave, encoumge a control driven view of a
distributed system, which leads to loops. A more data
driven view of a system, like the data flow diagrams of
structmed analysis, is typically less loopy.
Figure 6 A false loop
Moreover, where a first cut has loops, a more detailed
analysis ofa distributed system may show that these loops
are spurious. For example, in Figure 6, there is an
apparent loop between process A and process B, (a flow
from A feeds into B which feeds back into A). This
vanishes when we look at the subprocesses AI, A2, Bl,
B2.
We can put all the processes in the loop on the same
processor. There will be no additional penalty in tenns of
loss of parallelism. since the time model enforced this
loss. This approach will minimise the cost ofthe auxiliary
messages, because they will now be local messages.
Infonnally, the problem with a loop is feedback
Feedback happens when an input message to a process
strongly causes another message (the feedback) to anive
later at the same process. Under the strong causality
axiom, feedback is strongly caused by the original
messages, and hence comes before all subsequent
messages. Hence any process in a loop must, after
processing every message, first ascertain whether there is
any feedback, before proceeding to deal with any other
input.
In [5] we construct a delay process for which each
input message is followed by an identical output message,
which is however not 'strongly caused' by the input, but
rather scheduled by it to happen later. Hence, with a delay
in the loop, a process can know that any feedback will not
anive until after the duration of the delay. Thus it can
accept othermessages aniving before the feedback
9. Conclusion
We have presented ourtime model showing its advantages
6
from the point ofview ofprogramming models and causal
semantics. We have also sketched ourinitial implementation.
We discuss the implementation in more detail, giving
detailed peIfonnance modelling results, and an extended
discussion in [5].
We are now working on a second implementation
within a CORBA environment, in which we are
considering the issue of the request/response 'loop'
ubiquitous in client/server architectures.
We are also extending the theoretical wolk. Our next
steps are to look at: deadlock prevention within this time
model; and control flows in the opposite direction from
the data flows.
References
[1] Mike Beech. Architecture Requirements for Enhanced
Billing Systems, worlcshop presented at 2nd Annual Billing
and Customer Service Operations in the
Telecommunications Industry, Institute for International
Research, New York, April 1996.
(2) Kenneth P. Birman and Thomas A Joseph. Exploiting
virtual synchrony in distributed systems. Proceedings of the
Eleventh ACM Symposium on Operating Systems
Principles, Austin, Texas, November 1987. pp. 123-138.
[3] AV. Borshchev, Yu.G. Karpov, V.V. Roudakov.
COVERS - A Tool for the Design ofReal-TIme Concurrent
Systems. In: V. Malyshkin (ed.). Parallel Computing
Technologies. Proceedings of the 3rd International
Conference PACT-95, Lecture Notes in Computer Science
No 964, Springer, 1995, pp. 219-233.
[4] AV. Borshchev. Modelling of Concurrent Real-TIme
Systems. Ph.D. thesis, StPetersburg State Technical
University, April, 1995. [in Russian].
(5) Jeremy J. Carroll and Andrei V Borshchev Strongly Causal
TIme: Semantics. Implementation and Performance
Modelling, Hewlett-Packard Labs Technical Report HPL-
96-XX, 1996 (HP labs TRs are available under
http://www.bpl.hp.comlinventedlteehReportsI)
[6] David R. Cheriton and Dale Skeen. Understanding the
Limitations of Causally and Totally Ordered
Communication. Proceedings of the ACM Symposium on
Operating System Principles. 1993. pp. 44-57.
[7] Colin Fidge. Logical Time in Distributed Computing
Systems. IEEE Computer 24(8), August 1991. pp. 28-33
(8) Keith Harrison, A Novel Approach UJ Event Correlation,
Hewlett-Packard Laboratories Report, No. HPL-94-68,
Bristol, U.K., 1994.
[9] David Hume. An Enquiry Concerning Human
Understanding. Sect VII 'Of the idea of necessary
connexion' part II. 1748.
[lO)David R. Jefferson. Vl1"tual TIme. ACM Transactions on
Programming Languages and Systems, 7(3), July 1985. pp.
404-425
[ll]L. Lamport. Time. Clocks and Ordering of Events in a
Distributed System. Communications of the ACM, Vol. 21,
No.7, 1978, pp. 558-565.
[12]Friedmann Mattern. Virtual Time and Global States 0/
Distributed Systems. In M. Comard and P. Quinton, (eds.),
Proceedings 0/ International Workshop on Parallel and
DistributedAlgorithms (Chtiteau de Bonas, France, October
1988), Amsterdam, 1989. Elsevier Science Publishers B.Y,
pp.215-226.
[13]P. Stephenson. Fast causal multicast. Ph.D. thesis, Comell
UIriversity, February, 1991
7

More Related Content

Similar to A Deterministic Model Of Time For Distributed Systems

CLOUD COMPUTING โ€“ PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHM
CLOUD COMPUTING โ€“ PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHMCLOUD COMPUTING โ€“ PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHM
CLOUD COMPUTING โ€“ PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHMijcseit
ย 
CLOUD COMPUTING โ€“ PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHM
CLOUD COMPUTING โ€“ PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHMCLOUD COMPUTING โ€“ PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHM
CLOUD COMPUTING โ€“ PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHMijcseit
ย 
Network protocol lectures
Network protocol  lecturesNetwork protocol  lectures
Network protocol lecturesmarwaeng
ย 
An efficient recovery mechanism
An efficient recovery mechanismAn efficient recovery mechanism
An efficient recovery mechanismijcsa
ย 
A fault tolerant tokenbased atomic broadcast algorithm relying on responsive ...
A fault tolerant tokenbased atomic broadcast algorithm relying on responsive ...A fault tolerant tokenbased atomic broadcast algorithm relying on responsive ...
A fault tolerant tokenbased atomic broadcast algorithm relying on responsive ...Neelamani Samal
ย 
Chapter 4 communication2
Chapter 4 communication2Chapter 4 communication2
Chapter 4 communication2DBU
ย 
characteristicsofdistributedsystem-121004123308-phpapp02.ppt
characteristicsofdistributedsystem-121004123308-phpapp02.pptcharacteristicsofdistributedsystem-121004123308-phpapp02.ppt
characteristicsofdistributedsystem-121004123308-phpapp02.pptRamkumardevendiranDe
ย 
Analysis of Hierarchical Scheduling for Heterogeneous Traffic over Network
Analysis  of  Hierarchical  Scheduling for Heterogeneous Traffic over NetworkAnalysis  of  Hierarchical  Scheduling for Heterogeneous Traffic over Network
Analysis of Hierarchical Scheduling for Heterogeneous Traffic over NetworkIJCNCJournal
ย 
ORCHESTRATING BULK DATA TRANSFERS ACROSS GEO-DISTRIBUTED DATACENTERS
ORCHESTRATING BULK DATA TRANSFERS ACROSS GEO-DISTRIBUTED DATACENTERSORCHESTRATING BULK DATA TRANSFERS ACROSS GEO-DISTRIBUTED DATACENTERS
ORCHESTRATING BULK DATA TRANSFERS ACROSS GEO-DISTRIBUTED DATACENTERSNexgen Technology
ย 
Orchestrating bulk data transfers across
Orchestrating bulk data transfers acrossOrchestrating bulk data transfers across
Orchestrating bulk data transfers acrossnexgentech15
ย 
Orchestrating Bulk Data Transfers across Geo-Distributed Datacenters
 Orchestrating Bulk Data Transfers across Geo-Distributed Datacenters Orchestrating Bulk Data Transfers across Geo-Distributed Datacenters
Orchestrating Bulk Data Transfers across Geo-Distributed Datacentersnexgentechnology
ย 
Communication network simulation on the unix system trough use of the remote ...
Communication network simulation on the unix system trough use of the remote ...Communication network simulation on the unix system trough use of the remote ...
Communication network simulation on the unix system trough use of the remote ...Damir Delija
ย 
Communication network simulation on the unix system trough use of the remote ...
Communication network simulation on the unix system trough use of the remote ...Communication network simulation on the unix system trough use of the remote ...
Communication network simulation on the unix system trough use of the remote ...Damir Delija
ย 
Communication network simulation on the unix system trough use of the remote ...
Communication network simulation on the unix system trough use of the remote ...Communication network simulation on the unix system trough use of the remote ...
Communication network simulation on the unix system trough use of the remote ...Damir Delija
ย 
Computer Network Unit-1 ppt
Computer Network Unit-1 pptComputer Network Unit-1 ppt
Computer Network Unit-1 pptvmdharxfr
ย 

Similar to A Deterministic Model Of Time For Distributed Systems (20)

Minimize Staleness and Stretch in Streaming Data Warehouses
Minimize Staleness and Stretch in Streaming Data WarehousesMinimize Staleness and Stretch in Streaming Data Warehouses
Minimize Staleness and Stretch in Streaming Data Warehouses
ย 
CLOUD COMPUTING โ€“ PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHM
CLOUD COMPUTING โ€“ PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHMCLOUD COMPUTING โ€“ PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHM
CLOUD COMPUTING โ€“ PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHM
ย 
CLOUD COMPUTING โ€“ PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHM
CLOUD COMPUTING โ€“ PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHMCLOUD COMPUTING โ€“ PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHM
CLOUD COMPUTING โ€“ PARTITIONING ALGORITHM AND LOAD BALANCING ALGORITHM
ย 
Network protocol lectures
Network protocol  lecturesNetwork protocol  lectures
Network protocol lectures
ย 
An efficient recovery mechanism
An efficient recovery mechanismAn efficient recovery mechanism
An efficient recovery mechanism
ย 
Ds2_ans.docx
Ds2_ans.docxDs2_ans.docx
Ds2_ans.docx
ย 
Network Connectivity and Protocols and OSI Model
Network Connectivity and Protocols and OSI ModelNetwork Connectivity and Protocols and OSI Model
Network Connectivity and Protocols and OSI Model
ย 
DTN
DTNDTN
DTN
ย 
A fault tolerant tokenbased atomic broadcast algorithm relying on responsive ...
A fault tolerant tokenbased atomic broadcast algorithm relying on responsive ...A fault tolerant tokenbased atomic broadcast algorithm relying on responsive ...
A fault tolerant tokenbased atomic broadcast algorithm relying on responsive ...
ย 
Chapter 4 communication2
Chapter 4 communication2Chapter 4 communication2
Chapter 4 communication2
ย 
characteristicsofdistributedsystem-121004123308-phpapp02.ppt
characteristicsofdistributedsystem-121004123308-phpapp02.pptcharacteristicsofdistributedsystem-121004123308-phpapp02.ppt
characteristicsofdistributedsystem-121004123308-phpapp02.ppt
ย 
Analysis of Hierarchical Scheduling for Heterogeneous Traffic over Network
Analysis  of  Hierarchical  Scheduling for Heterogeneous Traffic over NetworkAnalysis  of  Hierarchical  Scheduling for Heterogeneous Traffic over Network
Analysis of Hierarchical Scheduling for Heterogeneous Traffic over Network
ย 
ORCHESTRATING BULK DATA TRANSFERS ACROSS GEO-DISTRIBUTED DATACENTERS
ORCHESTRATING BULK DATA TRANSFERS ACROSS GEO-DISTRIBUTED DATACENTERSORCHESTRATING BULK DATA TRANSFERS ACROSS GEO-DISTRIBUTED DATACENTERS
ORCHESTRATING BULK DATA TRANSFERS ACROSS GEO-DISTRIBUTED DATACENTERS
ย 
Orchestrating bulk data transfers across
Orchestrating bulk data transfers acrossOrchestrating bulk data transfers across
Orchestrating bulk data transfers across
ย 
Orchestrating Bulk Data Transfers across Geo-Distributed Datacenters
 Orchestrating Bulk Data Transfers across Geo-Distributed Datacenters Orchestrating Bulk Data Transfers across Geo-Distributed Datacenters
Orchestrating Bulk Data Transfers across Geo-Distributed Datacenters
ย 
Communication network simulation on the unix system trough use of the remote ...
Communication network simulation on the unix system trough use of the remote ...Communication network simulation on the unix system trough use of the remote ...
Communication network simulation on the unix system trough use of the remote ...
ย 
Communication network simulation on the unix system trough use of the remote ...
Communication network simulation on the unix system trough use of the remote ...Communication network simulation on the unix system trough use of the remote ...
Communication network simulation on the unix system trough use of the remote ...
ย 
Communication network simulation on the unix system trough use of the remote ...
Communication network simulation on the unix system trough use of the remote ...Communication network simulation on the unix system trough use of the remote ...
Communication network simulation on the unix system trough use of the remote ...
ย 
Computer Network Unit-1 ppt
Computer Network Unit-1 pptComputer Network Unit-1 ppt
Computer Network Unit-1 ppt
ย 
G216063
G216063G216063
G216063
ย 

More from Jim Webb

When Practicing Writing Chinese, Is It Recommende
When Practicing Writing Chinese, Is It RecommendeWhen Practicing Writing Chinese, Is It Recommende
When Practicing Writing Chinese, Is It RecommendeJim Webb
ย 
016 King Essay Example Stephen Why We Crave H
016 King Essay Example Stephen Why We Crave H016 King Essay Example Stephen Why We Crave H
016 King Essay Example Stephen Why We Crave HJim Webb
ย 
How To Write An Essay Fast Essay Writing Guide - Greetinglines
How To Write An Essay Fast Essay Writing Guide - GreetinglinesHow To Write An Essay Fast Essay Writing Guide - Greetinglines
How To Write An Essay Fast Essay Writing Guide - GreetinglinesJim Webb
ย 
Essay Coaching Seven Secrets For Writing Standout College
Essay Coaching Seven Secrets For Writing Standout CollegeEssay Coaching Seven Secrets For Writing Standout College
Essay Coaching Seven Secrets For Writing Standout CollegeJim Webb
ย 
Write Essays That Get In And Get Money EBook - Comp
Write Essays That Get In And Get Money EBook - CompWrite Essays That Get In And Get Money EBook - Comp
Write Essays That Get In And Get Money EBook - CompJim Webb
ย 
Wicked Fun In First Grade
Wicked Fun In First GradeWicked Fun In First Grade
Wicked Fun In First GradeJim Webb
ย 
Research Paper Help โ€’ Write My P
Research Paper Help โ€’ Write My PResearch Paper Help โ€’ Write My P
Research Paper Help โ€’ Write My PJim Webb
ย 
How To Do A Term Paper. D
How To Do A Term Paper. DHow To Do A Term Paper. D
How To Do A Term Paper. DJim Webb
ย 
Essay Websites Life Philosophy Essay
Essay Websites Life Philosophy EssayEssay Websites Life Philosophy Essay
Essay Websites Life Philosophy EssayJim Webb
ย 
Baby Thesis Introduction Sample - Thesis Title Idea
Baby Thesis Introduction Sample - Thesis Title IdeaBaby Thesis Introduction Sample - Thesis Title Idea
Baby Thesis Introduction Sample - Thesis Title IdeaJim Webb
ย 
Buy Essay Paper - Purchase Cu
Buy Essay Paper - Purchase CuBuy Essay Paper - Purchase Cu
Buy Essay Paper - Purchase CuJim Webb
ย 
From Where Can I Avail Cheap Essa
From Where Can I Avail Cheap EssaFrom Where Can I Avail Cheap Essa
From Where Can I Avail Cheap EssaJim Webb
ย 
Writing Philosophy Papers
Writing Philosophy PapersWriting Philosophy Papers
Writing Philosophy PapersJim Webb
ย 
Paragraph Ipyu9-M682198491
Paragraph Ipyu9-M682198491Paragraph Ipyu9-M682198491
Paragraph Ipyu9-M682198491Jim Webb
ย 
PPT - Writing Biomedical Research Papers PowerPo
PPT - Writing Biomedical Research Papers PowerPoPPT - Writing Biomedical Research Papers PowerPo
PPT - Writing Biomedical Research Papers PowerPoJim Webb
ย 
Economics Summary Essay Example
Economics Summary Essay ExampleEconomics Summary Essay Example
Economics Summary Essay ExampleJim Webb
ย 
Who Are Professional Essay Writers And How Students Might Benefit From
Who Are Professional Essay Writers And How Students Might Benefit FromWho Are Professional Essay Writers And How Students Might Benefit From
Who Are Professional Essay Writers And How Students Might Benefit FromJim Webb
ย 
Sample Personal Statements Graduate School Persona
Sample Personal Statements Graduate School PersonaSample Personal Statements Graduate School Persona
Sample Personal Statements Graduate School PersonaJim Webb
ย 
Buy A Critical Analysis Paper
Buy A Critical Analysis PaperBuy A Critical Analysis Paper
Buy A Critical Analysis PaperJim Webb
ย 
Writing A Position Paper - MUNKi
Writing A Position Paper - MUNKiWriting A Position Paper - MUNKi
Writing A Position Paper - MUNKiJim Webb
ย 

More from Jim Webb (20)

When Practicing Writing Chinese, Is It Recommende
When Practicing Writing Chinese, Is It RecommendeWhen Practicing Writing Chinese, Is It Recommende
When Practicing Writing Chinese, Is It Recommende
ย 
016 King Essay Example Stephen Why We Crave H
016 King Essay Example Stephen Why We Crave H016 King Essay Example Stephen Why We Crave H
016 King Essay Example Stephen Why We Crave H
ย 
How To Write An Essay Fast Essay Writing Guide - Greetinglines
How To Write An Essay Fast Essay Writing Guide - GreetinglinesHow To Write An Essay Fast Essay Writing Guide - Greetinglines
How To Write An Essay Fast Essay Writing Guide - Greetinglines
ย 
Essay Coaching Seven Secrets For Writing Standout College
Essay Coaching Seven Secrets For Writing Standout CollegeEssay Coaching Seven Secrets For Writing Standout College
Essay Coaching Seven Secrets For Writing Standout College
ย 
Write Essays That Get In And Get Money EBook - Comp
Write Essays That Get In And Get Money EBook - CompWrite Essays That Get In And Get Money EBook - Comp
Write Essays That Get In And Get Money EBook - Comp
ย 
Wicked Fun In First Grade
Wicked Fun In First GradeWicked Fun In First Grade
Wicked Fun In First Grade
ย 
Research Paper Help โ€’ Write My P
Research Paper Help โ€’ Write My PResearch Paper Help โ€’ Write My P
Research Paper Help โ€’ Write My P
ย 
How To Do A Term Paper. D
How To Do A Term Paper. DHow To Do A Term Paper. D
How To Do A Term Paper. D
ย 
Essay Websites Life Philosophy Essay
Essay Websites Life Philosophy EssayEssay Websites Life Philosophy Essay
Essay Websites Life Philosophy Essay
ย 
Baby Thesis Introduction Sample - Thesis Title Idea
Baby Thesis Introduction Sample - Thesis Title IdeaBaby Thesis Introduction Sample - Thesis Title Idea
Baby Thesis Introduction Sample - Thesis Title Idea
ย 
Buy Essay Paper - Purchase Cu
Buy Essay Paper - Purchase CuBuy Essay Paper - Purchase Cu
Buy Essay Paper - Purchase Cu
ย 
From Where Can I Avail Cheap Essa
From Where Can I Avail Cheap EssaFrom Where Can I Avail Cheap Essa
From Where Can I Avail Cheap Essa
ย 
Writing Philosophy Papers
Writing Philosophy PapersWriting Philosophy Papers
Writing Philosophy Papers
ย 
Paragraph Ipyu9-M682198491
Paragraph Ipyu9-M682198491Paragraph Ipyu9-M682198491
Paragraph Ipyu9-M682198491
ย 
PPT - Writing Biomedical Research Papers PowerPo
PPT - Writing Biomedical Research Papers PowerPoPPT - Writing Biomedical Research Papers PowerPo
PPT - Writing Biomedical Research Papers PowerPo
ย 
Economics Summary Essay Example
Economics Summary Essay ExampleEconomics Summary Essay Example
Economics Summary Essay Example
ย 
Who Are Professional Essay Writers And How Students Might Benefit From
Who Are Professional Essay Writers And How Students Might Benefit FromWho Are Professional Essay Writers And How Students Might Benefit From
Who Are Professional Essay Writers And How Students Might Benefit From
ย 
Sample Personal Statements Graduate School Persona
Sample Personal Statements Graduate School PersonaSample Personal Statements Graduate School Persona
Sample Personal Statements Graduate School Persona
ย 
Buy A Critical Analysis Paper
Buy A Critical Analysis PaperBuy A Critical Analysis Paper
Buy A Critical Analysis Paper
ย 
Writing A Position Paper - MUNKi
Writing A Position Paper - MUNKiWriting A Position Paper - MUNKi
Writing A Position Paper - MUNKi
ย 

Recently uploaded

Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
ย 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
ย 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
ย 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
ย 
โ€œOh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
โ€œOh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...โ€œOh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
โ€œOh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
ย 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
ย 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
ย 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
ย 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
ย 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
ย 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
ย 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
ย 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
ย 
call girls in Kamla Market (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Kamla Market (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธcall girls in Kamla Market (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Kamla Market (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ9953056974 Low Rate Call Girls In Saket, Delhi NCR
ย 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
ย 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
ย 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
ย 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
ย 

Recently uploaded (20)

Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
ย 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
ย 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
ย 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
ย 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
ย 
โ€œOh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
โ€œOh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...โ€œOh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
โ€œOh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
ย 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
ย 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
ย 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
ย 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
ย 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
ย 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
ย 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
ย 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ย 
call girls in Kamla Market (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Kamla Market (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธcall girls in Kamla Market (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Kamla Market (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
ย 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
ย 
Model Call Girl in Tilak Nagar Delhi reach out to us at ๐Ÿ”9953056974๐Ÿ”
Model Call Girl in Tilak Nagar Delhi reach out to us at ๐Ÿ”9953056974๐Ÿ”Model Call Girl in Tilak Nagar Delhi reach out to us at ๐Ÿ”9953056974๐Ÿ”
Model Call Girl in Tilak Nagar Delhi reach out to us at ๐Ÿ”9953056974๐Ÿ”
ย 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ย 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
ย 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
ย 

A Deterministic Model Of Time For Distributed Systems

  • 1. rli~ HEWLETT ~~ PACKARD A Deterministic Model of Time for Distributed Systems Jeremy Carroll, Andrei Borshchev* Telecom Management Department HP Laboratories Bristol HPL-96-112 July, 1996 time, logical time, real time, distributed systems, causality, Isis, middleware, delayed delivery This paper proposes a linear, deterministic, logical time model for distributed systems. We give an account of causality within distributed systems which undergirds the time model. We discuss some advantages for the application programmer in using our time model. *St. Petersburg Technical University, Russia Presented at the 8th IEEE Symposium on Parallel and Distributed Processing, October 1996. ยฉ Copyright Hewlett-Packard Company 1996 Internal Accession Date Only
  • 2.
  • 3. A Deterministic Model ofTime for Distributed Systems Jeremy J. Carroll Hewlett-Packard Labs, Bristol, U.K. jjc@hpLhp.com Andrei V. Borshchev St.Petersburg Technical University, Russia andrei@trantor.nord.nw.ru is shown by Cheriton and Skeen [6], 'it can't say the "whole story n,. We modify their Figure 4 as our Figure 1. Abstract This paper proposes a linear, deterministic, logical time model for distributed systems. We give an account of causality within distn"buted systems which undergirds the time model. We discuss some advantages for the application programmer in using our time model. Theoretic Pricing ISIS Option Pricing User Monitor Our model User Monitor Figure 1 Cheriton and Skeen's trading example Their criticism is that the application semantics mean that message C is caused by message B, whereas the User Monitor sees message D, that supersedes message A, before message C. Moreover, 'causal ordering' accepts this; for Lamport message C and message D are concurrent. We see that the correct notion of cause notes that C happens because ofB and D merely happens after B. This reininds us ofHume's second definition ofcausation [9]: We may define a cause to be [. ..J ifthe first object had not been, the second never had existed. Under our time model we are required to deliver message C, which is strongly caused by B (in this Humean sense), prior to message D, sent after B, (see the axiom of strong causality in section 4). In the figure this is shown by delaying message D, using an ISIS-like mechanism. (We require that the multicast A&B is made in the order A then B). 1. Introduction We propose a new detemrinistic, logical time model for distnbuted systems. The time model is defined at the level of temporal semantics in tenns ofmessage ordering. These temporal semantics allow the application programmer to think about time linearly without having to worry about concurrency or race conditions. This makes the temporal semantics of distribution much closer to those ofnon-distributed systems. These semantics are to be implemented in middleware which offers a messaging facility. For the application programmer the messaging appears to obey the linear time order ofour time model. In reality the messaging operates with a high level of concurrency. The cost of the time model is mainly felt in latency, not throughput. The time model depends upon a new definition of causality which differs significantly from Lamport's causality [11]. 2. Motivations We look at two distinct motivations for this work, one theoretical, the other practical 2.1 Causality Option price 26.00 .._ . Theoretical price 26.25 Optionยท'ยท . price 26.50 Lamport, in his landmaIk paper, [II], defines his 'happened before' relationship and notes 'that it is possible for event a to causally affect event b'. This led, via Fidge [7] and Mattern. [12] to the misnamed 'causal' ordering of ISIS [2,13]. The lack of true causality in ISIS 1 2.2 Telecom billing systems The authors are part of the HP Labs team wo:dcing in the area oftelecom billing systems (see Beech [1]).
  • 4. Almost all telecom billing systems are currently implemented on centralised mainframes. The mainframe receives its input data as Call Detail Records (CDRs) from the telecom switching netwolk The telecom switches output 'taW' CDRs; these are transmitted unprocessed to the central mainframe, where all processing is done. The typical data transmission system consists of motorbike couriers with magnetic tapes (a high bandwidth, high latency solution). The billing architectme proposed by the HP lab team involves using geogmphically distnbuted processing, in which as much processing as posSIble is done near the data sources. The processed CDRs are then consolidated centIal1y. (The motorbike network is modernised!) Ideally the same application progmmmers should continue to develop the billing systems as they migrate from a centralised architecture to a distributed one Hence any serious proposal for an application progmmmers' environment should assume that the application progmmmer is happier with COBOL than with concurrency, and happier with records than race conditions. This time model is proposed with such a target user in miil.d. 3. Background assumptions We take an application or system level view of the distnbuted system, rather than only seeing a set of processes. This is reflected in the time-line being a property of the whole system. This global view is however, a development and system management view of the system. and not a statement about implementation. We prefer decentralised implementations in which global properties emerge out of localised processing, rather than from a central server ormaster/slave arrangement We consider distnbuted systems which are sets of processes connected by FIFO channels. Some of the processes may have external channels through which they commmricate with the system's environment. Individual processes are driven by input messages, and the whole system is driven by the external input messages. While handling a message, a process can send an arbitrary number of output messages, which are considered as consequences ofthe input message. 3.1 Process assumptions A process consists of a number of application layer event handlers with shared state. The only events we consider are message related events. We use the tenn message arrival to indicate the message arriving in the presentation layer, and message 2 delivery to indicate the message.being passed from the presentation layerto the application layer. The application layer may generate message send request events which are passed to the presentation layer, which in tum generates message send events. The application layer also generates message processing complete events, which are passed to the presentation layer. The presentation layer delivers messages, one by one, to the application layer by means of message delivery events. After the application layer receives a single message delivery event, it: โ€ข generates zero or more message send requests. โ€ข changes the process state. โ€ข generates a message processing complete event that indicates that it has finished processing that message and is ready to receive another message. (1bis is required to happen in bounded time). Such message handler invocations are the atomic units out ofwhich we see a distributed system being fonned. A process history is simply a sequence of such invocations, each of which may affect subsequent invocations by changing the internal state ofthe process. 3.2 Channel assumptions A channel links the presentation layers of two processes. We assume that the channels are perfect FIFO channels. A message send event at one end is eventually followed by a message arrival event at the other. At the application layer the channels are simplex; however auxiliary messages, from one presentation layer to the other, are allowed in both directions. 3.3 Clock assumptions The single assumption of a global nature is that of the existence of a global real-time clock accessible from anywhere within the system. We only require that the clock is locally monotonic increasing, and that there is some bound (perhaps only statistical) on the difference between two simultaneous readings of the clock in different processes. Neither the time model, nor the implementation we present, make any restrictions as to the size of the bound on the error. However, many applications, including telecom billing, may make more severe demands on the error bounds. 3.4 Typical applications While these assumptions are general, the emphasis on simplex channels contrasts with the client/server
  • 5. paradigm. This is because our applications (distributed test environments; event correlation services [8]; environmental monitoring systems as well as billing systems) gather and process data from a nmnber of geographically separate sources. Such an application is illustrated in Figure 2. These applications tend to have few loops in their geographic dataflow diagrams. They are also toleI3Ilt oflatency, which is reflected in a significant amount of queuing and delayed delivery within the implementation ofthe time model Geographically dis1ributred input Figure 2 A typical data analysis application 4. The time model The time model is a strict total ordering of the set of messages in the system (we omit the word 'strict' in the following). Ifmessages are delivered to every process in time order and messages are sent along every channel in time order then the system is said to obey the time model. A total ordering on the set ofmessages is equivalent to an injective mapping from the set of messages in the system to a totally ordered set (the time-line). This gives the first principle ofthe time model: there is a unique timejOr everything. Such a time is simply a label for the message and does not have any necessary relationship with real time. Such a label can be useful for evaluating the time order relationship between messages. We now introduce the total order relation "<" on the set ofall messages in the system. This relation is based on two partial order relations, "=>" (sent before) and "~" (strong causality). "=>" is defined by: โ€ข For any two external input messages, mo and mI, either mo =>mI or m] =>mo. This is given 3 by the environment, typically by the clock time ofmessage arrival. In other words, external input messages are totally ordered with respect to =>.1 โ€ข If message send requests for messages mo and m1occur in that order during a single invocation of the message handler of some third message, thenmo =>m1ยท "~" is the least partial order such that: โ€ข Ifthe message send request form1occurs during the invocation in response to mo, then mo ~",]. (i.e. a message strongly causes any messages sent by its handler). "<" is the total order such that: 1. IfIllo~ml thenIllo <mi' 2. IfIllo -+m1 thenIllo <mI' 3. If Illo ~ mlJ Illo -+ m'0 then m'0 < mi' (The strong causality axiom) The first two axioms correspond to Lamport's axioms; the third is the heart ofthe time model. The idea behind the strong causality axiom is the following: ifa process or the system's environment sends two messages, one after another, then any consequence of the first message should happen before the second message and any ofits consequences. We will see that this property is highly desirable and intuitive. This gives the second principle of the time model: there is enough time fOr everything (i.e. enough time for all remote consequences to happen before the next local event). The totally ordered message set can be represented as a tree, see Figure 3. The root of the tree is the system's environment which generates extema! messages. The nodes are invocations ofmessage handlers. Arcs represent messages. Using this tree it is easy to reconstruct the message relations. For example, a ~ b because b was sent while a was handled; b => c because b was sent before c in the same invocation. Also, a ~ f and.Y: => z as these relations are transitive.f and e are incomparable tmder both"=>" and "~"; neverthelessf< e. To compare two messages with respect to the global order relation "<" one has to trace paths I More exactly if mo and mI. arrive from the environment at the same process in that chronological order (by clock time) then mo => mI. This generates a unique least partial order. There is a choice of total orders respecting this constraint; we choose one such total order. The choice is arbitraJ)'. but some choices might give better results than others. For the specific applications we have in mind. having adequately synchronized real time clocks and developing a total order that respects these clocks is best.
  • 6. โ€ข-+. relation external message invocation of message handler internal message .~. relation system environment 2 2 2 2 2 3 2 Figure 3 Message tree Timestamps a [1] b [1,1] c [1,2] d [1,2,1,1] e [1,2,2,1,2] f [1,1.1,1.1] u [2] x [2.1] Y [2,2,2,1,1] z [2,3] from the root to these messages. There can be three possible cases, which correspond to the three axioms. They are shown by the following three examples takenfrom Figure 3: โ€ข c lies on the path of d, hence, c -+ d and therefore c < d. โ€ข x and z have the same path, butx is sent before z, so x =;>z and x < z. โ€ข f and e have the same path prefix, but then their paths fork, and b (with b -+ j) is sent before c (with c -+ e), which means b =;> c, sof < C < e, givingf< e. If a distributed system follows this time model, i.e. if messages are delivered to each process in this order, and sent down each channel in this order, then the system's behaviour will be detemrinistic, independent of the speed ofprocesses and channels. In the implementation discussed below, we use the set of sequences of integers as a time-line. Examples are shown in Figure 3. The sequence is detennined by the path from the root to a message. This is ordered using the standard alphabetic ordering on integer sequences. 5. Implementation We sketch one poSSIble implementation of the time model It is pessimistic, ie. based on the delayed delivery of messages. An optimistic implementation could be achieved using Jefferson's virtual time with rollback [10], (in which case the assmnptions about channels, section 4 3.2, are unnecessary). The timeline used is the set ofinteger sequences. However since we cannot number the (distributed) extemal messages sequentially we assign a unique pair to each, the value ofa real clock and an extemal input identifier. Each node inthe distnbuted system is stmetured as shown in Figure 4. All ftmctionality related to support for the time model resides in the time service. The time service has a local logical clock which is updated whenever a message is received or sent by its process. The "timestamp assigner" at the border with the system's environment has a real clock and a unique input identifier. Application Process Internal Inputs ~ (from other processes) External Inputs (from outside) Figure 4 A process with its time service As in the ISIS ABCAST protocol [13], input messages are not delivered to the process until there are messages present on all inputs. Once this condition holds, the local
  • 7. clock is set to the timestamp ofthe oldest message, a new integeris added to the sequence, and the oldest message is delivered. When the process sends a message it is timestamped by the time service with the current value of the local clock; and then the clock is incremented (i.e. the last integerin the sequence is incremented). This algorithm fully implements our time model, but does not work when the system contains loops. Moreover, rare messages either on an extema1 input or on an intemallink may slow the system down. To solve these problems we have developed a specific channel flushing algorithm for our time model, significantly different to the one orISIS ABCAST. The general ideais that each time there are inputmessages waiting while some inputs are empty, the time service sets a flush timer. On the timeout event it sends flush requests to all empty inputs, and then waits for positive or negative responses. Ifpositive responses come from all inputs the oldest message is delivered. Ifa negative response comes on any input the flush is re-scheduled. Requests from other time services are handled in the following way. First, the time service tries to reply using the local infonnation (its local clock and the timestamps of waiting messages). Ifit is unable to do so, it fOIWards the request to all empty inputs. If all responses are positive, so is the one to the remote requester. OtheIWise, the response is negative. 6. Performance modelling We used COVERS simulation environment [3,4] to assess the impact of the time model (implemented as described above) on system perfonnance. The modelling results show that, while the system is underutilized, the ovemead traffic (the auxiliary channel flushing messages sent at the time service layer) can be as much as 8 times the nmnber of the application messages. However, when the input data me is high and the system reaches its maximmn throughput, the time model traffic falls down to an acceptable amount Perfonnance modelling also shows that the system's throughput depends on the value of the flush timeout, which should be chosen carefully, especially ifthe system contains loops. Dynamic (adaptive) tuning of the flush timer depending on the percentage of successful channel flushes may be considered. 7. Total ordering and programming models The strong causality principle provides a much easier framework for the application programmer. A programmer used to non-distributed systems is used to a time-line that is totally ordered, and aIbitIarily divisible. 5 The first part of a procedure staRs and completes before the second part. There is no special tempornl semantics for a nonna! part of such a program. For example, a subprocedure invoked by the first part will also have completed before the second part. When we move to a distributed system, programmers are nonnally expected to have to understand either concurrency or asynchronicity or both. However, with our time model the programmer's view of the system is just like that for a non-distributed system (Figure 5). In this :figure we see that the end of a remote event handler logically returns 'control' to the sender. However, this logical retum of control does not necessarily imply any loss ofactual concmrency: in the example shown, the only ordering constraint on the events is that the second 'send msg 2' instruction is received after the first. This is ensured by the implementation ofthe time model. ..._..-.._ - . hlIllCll8r1 ............::::::.::.::::.:.::.::: ..... ยทยทยทยทยทยทยทยทยทยทยทยทยท.ยท~ยทiti~.~ยท. G-ยท[ยท_~~-.ยท ;llarrJ~r-: ~-~~i-~-'--':~t~E~iw,~i:! ยท'.'.,rldJ8r2"'ยทยท ..ยท"-_ยทยท_ยท""-,ยทยทยท~ยท dhandl8r<; Logical tine ""'.~~. Figure 5 TemporalsEtn,antics of message sends We believe the COBOL programmers of telecom billing systems will find this tempornl semantics intuitive and easy to use. Moreover, the global linear time line removes many of the different orderings that plague distnlmted systems. Much of the logic for dealing with complex ordering constraints has moved from the application layer, where it confuses, to the middleware in the presentation layer, where it empowers. In this way, applications built on top of our time model can be significantly simpler; easier to build, understand and change. This makes them SUbstantially cheaper and less buggy. This view ofmessage send like procedurnl call clarifies why our time model solves the problem of Cheriton and Skeen exploredin section 2.1. 8. Loops We have seen in the discussion in section 5 that loops genexate issues for the time model Typical loops generate a need for many auxiliary messages. Most loops only pennit the processing ofa single message at anyone time
  • 8. anywhere within the loop (we say the loop 'locksteps'). The channel flush algorithm allows the processors to negotiate as to which goes fust. We have three different solutions to these problems: we can remove spurious loops in the design process; or collocate processes in a loop; or explicitly break the link ofstrong causality between a message and its feedback. The traditional design models, client/server, master/slave, encoumge a control driven view of a distributed system, which leads to loops. A more data driven view of a system, like the data flow diagrams of structmed analysis, is typically less loopy. Figure 6 A false loop Moreover, where a first cut has loops, a more detailed analysis ofa distributed system may show that these loops are spurious. For example, in Figure 6, there is an apparent loop between process A and process B, (a flow from A feeds into B which feeds back into A). This vanishes when we look at the subprocesses AI, A2, Bl, B2. We can put all the processes in the loop on the same processor. There will be no additional penalty in tenns of loss of parallelism. since the time model enforced this loss. This approach will minimise the cost ofthe auxiliary messages, because they will now be local messages. Infonnally, the problem with a loop is feedback Feedback happens when an input message to a process strongly causes another message (the feedback) to anive later at the same process. Under the strong causality axiom, feedback is strongly caused by the original messages, and hence comes before all subsequent messages. Hence any process in a loop must, after processing every message, first ascertain whether there is any feedback, before proceeding to deal with any other input. In [5] we construct a delay process for which each input message is followed by an identical output message, which is however not 'strongly caused' by the input, but rather scheduled by it to happen later. Hence, with a delay in the loop, a process can know that any feedback will not anive until after the duration of the delay. Thus it can accept othermessages aniving before the feedback 9. Conclusion We have presented ourtime model showing its advantages 6 from the point ofview ofprogramming models and causal semantics. We have also sketched ourinitial implementation. We discuss the implementation in more detail, giving detailed peIfonnance modelling results, and an extended discussion in [5]. We are now working on a second implementation within a CORBA environment, in which we are considering the issue of the request/response 'loop' ubiquitous in client/server architectures. We are also extending the theoretical wolk. Our next steps are to look at: deadlock prevention within this time model; and control flows in the opposite direction from the data flows. References [1] Mike Beech. Architecture Requirements for Enhanced Billing Systems, worlcshop presented at 2nd Annual Billing and Customer Service Operations in the Telecommunications Industry, Institute for International Research, New York, April 1996. (2) Kenneth P. Birman and Thomas A Joseph. Exploiting virtual synchrony in distributed systems. Proceedings of the Eleventh ACM Symposium on Operating Systems Principles, Austin, Texas, November 1987. pp. 123-138. [3] AV. Borshchev, Yu.G. Karpov, V.V. Roudakov. COVERS - A Tool for the Design ofReal-TIme Concurrent Systems. In: V. Malyshkin (ed.). Parallel Computing Technologies. Proceedings of the 3rd International Conference PACT-95, Lecture Notes in Computer Science No 964, Springer, 1995, pp. 219-233. [4] AV. Borshchev. Modelling of Concurrent Real-TIme Systems. Ph.D. thesis, StPetersburg State Technical University, April, 1995. [in Russian]. (5) Jeremy J. Carroll and Andrei V Borshchev Strongly Causal TIme: Semantics. Implementation and Performance Modelling, Hewlett-Packard Labs Technical Report HPL- 96-XX, 1996 (HP labs TRs are available under http://www.bpl.hp.comlinventedlteehReportsI) [6] David R. Cheriton and Dale Skeen. Understanding the Limitations of Causally and Totally Ordered Communication. Proceedings of the ACM Symposium on Operating System Principles. 1993. pp. 44-57. [7] Colin Fidge. Logical Time in Distributed Computing Systems. IEEE Computer 24(8), August 1991. pp. 28-33 (8) Keith Harrison, A Novel Approach UJ Event Correlation, Hewlett-Packard Laboratories Report, No. HPL-94-68, Bristol, U.K., 1994. [9] David Hume. An Enquiry Concerning Human Understanding. Sect VII 'Of the idea of necessary connexion' part II. 1748. [lO)David R. Jefferson. Vl1"tual TIme. ACM Transactions on Programming Languages and Systems, 7(3), July 1985. pp. 404-425 [ll]L. Lamport. Time. Clocks and Ordering of Events in a Distributed System. Communications of the ACM, Vol. 21,
  • 9. No.7, 1978, pp. 558-565. [12]Friedmann Mattern. Virtual Time and Global States 0/ Distributed Systems. In M. Comard and P. Quinton, (eds.), Proceedings 0/ International Workshop on Parallel and DistributedAlgorithms (Chtiteau de Bonas, France, October 1988), Amsterdam, 1989. Elsevier Science Publishers B.Y, pp.215-226. [13]P. Stephenson. Fast causal multicast. Ph.D. thesis, Comell UIriversity, February, 1991 7