home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / sys / isis / 385 < prev    next >
Encoding:
Text File  |  1993-01-22  |  6.0 KB  |  109 lines

  1. Newsgroups: comp.sys.isis
  2. Path: sparky!uunet!srvr1.engin.umich.edu!batcomputer!cornell!ken
  3. From: ken@cs.cornell.edu (Ken Birman)
  4. Subject: Lazy replication
  5. Message-ID: <1993Jan22.165709.28909@cs.cornell.edu>
  6. Organization: Cornell Univ. CS Dept, Ithaca NY 14853
  7. Date: Fri, 22 Jan 1993 16:57:09 GMT
  8. Lines: 99
  9.  
  10. I've gotten a few inquiries about the comparison with Isis in a recent
  11. TOCS paper by Rivka Ladin and some others, titled Providing High Availability
  12. using Lazy Replication.    The paper came out in ACM TOCS in Nov. 1992,
  13. which was just sent out.
  14.  
  15. This is a nice paper and describes some very interesting work, but the
  16. comparison with Isis is slightly inaccurate in some ways.  Also, I think
  17. the paper uses unusually strong language in some of these comparisons,
  18. but thats their decision; they wrote it.  (By the way, I had no role in
  19. handling or reviewing this paper at TOCS).
  20.  
  21.   - The paper says that that Isis sends more messages than the LR scheme 
  22.     when a client talks to a group.  Actually, this seems to depend on
  23.     the value of a parameter called K in their scheme, and the replication
  24.     approach you use in our case.  Its true that in Isis we normally
  25.     replicate data among all the members of a group, so that each member
  26.     has a valid local copy, and in the LR scheme you don't do this.  But,
  27.     if you did, the costs of the two methods would then be identical.
  28.  
  29.     So, the real point is not so much that one scheme is fundamentally
  30.     more expensive than the other, but rather that we make a design 
  31.     choice in the way we replicate data for Isis, which they make differently
  32.     in the LR approach.
  33.  
  34.   - Timestamp overhead: well, yes, if you want multi-group causality,
  35.     which LR doesn't guarantee, we do this, or we delay when switching
  36.     from group to group.  But, we also compress timestamps (in Horus),
  37.     which makes them quite small, and use other tricks to try to avoid
  38.     putting timestamps in messages unless we need to.  The evidence is
  39.     that timestamp overhead can be kept to something very minor.
  40.  
  41.     So, again, the real point seems to be a design choice: Isis, by default,
  42.     provides an ordering property that LR doesn't provide, and this costs
  43.     something, although it also gives you something.  If you don't want
  44.     Isis to provide multigroup causality you can tell it so and the cost
  45.     goes away -- in Isis V3.0 this is the "O" option, and in Horus, you
  46.     will do it with something called a causal domain.  In the case where
  47.     Isis is asked to act like LR, I think the overhead is roughly the same.
  48.  
  49.   - The observation about delays during view changes is correct; Isis V3.0
  50.     does delay in this way.  Talking to the Transis people (Yair Amir)
  51.     it became clear to us that we don't need to delay at this stage of
  52.     our flush protocol -- the correctness proof remains valid even if
  53.     we just leave out the delay(!), and Robbert van Renesse coded the
  54.     Horus implementation of the flush to use this trick.  Good idea on
  55.     their part, and imitation is the sincerest flattery. 
  56.  
  57.     So: good point, we fixed our protocol to do the same thing when Yair
  58.     Amir suggested this.  I was not aware that LR was doing this too,
  59.     but it makes a lot of sense.  A shame that Pat and Andre and I didn't
  60.     notice that we weren't making any real use of the delay in the proof
  61.     of correctness...
  62.  
  63.   - Network partitions: this is a bit more complicated.  The LR scheme
  64.     logs updates and they have a notion of group member in which the
  65.     same process may come back after a crash and you resume talking to
  66.     it by replaying logged messages.  Isis, on the other hand, makes
  67.     such a process "rejoin" the group and basically forces it to restore
  68.     its state from scratch.
  69.  
  70.     With the Isis spooling tool, you could get the same replay behavior
  71.     if you like.  We don't normally do this, though.  If a partition is
  72.     a real risk, we prefer to use the long-haul tool over the flakey link
  73.     and run Isis separately on both sides.  A design preference that 
  74.     makes life simpler for us.
  75.  
  76.     Anyhow, LR and Psync both have this spooling scheme, so yes, they
  77.     both "tolerate" partitions, in a sense.  But, none of the three systems
  78.     actually can allow updates in an unrestricted way while the partition
  79.     is present, and in fact, you can build exactly the same application
  80.     in any of these schemes, Isis, LR, or Psync.  I can't see why the
  81.     performance would be expected to be different, although the issue
  82.     here is one of engineering -- how well our logging scheme works, etc.
  83.     I assume that any of these systems would be disk-IO limited in this
  84.     mode.
  85.  
  86. To summarize: the LR paper is a very nice paper and describes a good
  87. piece of work, and our work has been influenced in several ways by
  88. this work.  But, I doubt that either system is particularly faster 
  89. than the other.  I think the contrast is more interesting at the level
  90. of design choices that were made, and decisions about what the default
  91. behaviors of the systems should be -- these are quite different, and
  92. they do have performance, functionality, and user-transparency implications.
  93. We have tended to err on the side of making Isis more costly but simpler
  94. to use.  If people are routinely forced to turn off Isis ordering because
  95. of this cost, perhaps the LR design point would make more sense.  However,
  96. I am not aware of any wide-spread trend along these lines.
  97.  
  98. Frankly, I think the main lesson I have learned in 3 years of struggling
  99. with speed issues in Isis is that very little about performance has
  100. anything to do with which protocol you use.  The real problems are flow
  101. control, where you run relative to UNIX and to the devices, memory
  102. management, when you send acks, when you retransmit dups, whether UNIX
  103. is losing packets... all that grungy stuff.  At least, thats my insight.
  104. Not a very deep insight, unfortunately!
  105. -- 
  106. Kenneth P. Birman                              E-mail:  ken@cs.cornell.edu
  107. 4105 Upson Hall, Dept. of Computer Science     TEL:     607 255-9199 (office)
  108. Cornell University Ithaca, NY 14853 (USA)      FAX:     607 255-4428
  109.