Giter Club home page Giter Club logo

distsysbook's People

Contributors

alexanderwallrabenstein avatar cmeiklejohn avatar eeror avatar eos2102 avatar frankshearar avatar freenerd avatar globalcitizen avatar gpad avatar graue avatar hackaugusto avatar jjolma avatar jpfuentes2 avatar lentzi90 avatar mixu avatar oliver-speck avatar phuff avatar rmariuzzo avatar stevemns avatar stevenproctor avatar susana avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

distsysbook's Issues

Provide a traditional book cover somewhere

There is no book cover image to put on Hacker Shelf.

A simple and plain version of the red, white, and black header of the site, with the author’s name written beneath it, and arranged in an image with a portrait layout, would be enough. Or you can add whatever graphics you think fit the book.

Unclear phrase in chapter 2 about sequential consistency

Chapter 2 contains the following phrase:

The difference seems immaterial, but it is worth noting that sequential consistency does not compose.

However, it's not clear what you mean when you say "sequential consistency does not compose".

Build process + diagram quality?

It might be useful to consider enhancing the build process to facilitate better quality diagrams (generated with mscgen or graphviz, for example) for non ASCIIfied output.

Possible error in the code expression of vector clocks (chapter3)

Sorry for my bad English. I think there is something wrong with the code of merging two vector clocks:

VectorClock.prototype.merge = function(other) {
  var result = {}, last,
      a = this.value,
      b = other.value;
  // This filters out duplicate keys in the hash
  // But why join b and the key of a?
  (Object.keys(a)
    .concat(b))
    .sort()
    .filter(function(key) {
      var isDuplicate = (key == last);
      last = key;
      return !isDuplicate;
    }).forEach(function(key) {
      result[key] = Math.max(a[key] || 0, b[key] || 0);
    });
  this.value = result;
};

The code join the key of a and b, but not the key of b.

"liveness" and "safety" used before definitions

In "The FLP impossibility result", you use the terms "liveness" and "safety", but they are not defined at that point. I think you mean "termination" and "agreement" from the previous section, but I'm not entirely sure.

Ch01 misinterprets perf gains of high end boxes

Ch01 says
"In tasks that require only small amounts of communication between nodes, the performance advantage of high-end hardware is limited."

You've misread the graph. It's more: if your application requires large amounts of communication, the benefit of high end hardware is limited.

And: in larger clusters, large amounts of communication is near inevitable, eliminating nearly all performance advantages of high end hardware.

Possible incorrect grammar in replication section?

I think the following phrase sounds strange:

"Other consistency models expose some internals of the replication are visible to the programmer"

I think you just need to get rid of the 'are visible', as it's implied with 'expose'?

Broken anchor link and out-of-date content on website version

Thanks for writing and publishing this!

I've been reading the version at http://book.mixu.net/distsys/ebook.htm, and I've noticed a couple issues that I'm not sure how to fix:

  1. The link to Chapter 4 in the index is broken; it points to http://book.mixu.net/distsys/ebook.html#replication, but that's a chapter 1 subheading.
  2. Under the "Primary/backup replication" subheading, text with a typo is displayed: "All updated are performed on the primary" (should be "All updates on..") However, neither input/4_replication.md nor the corresponding output file on current master includes this typo, so I'm guessing the latest build wasn't uploaded to the book.mixu.net server or something.

No coverage of cluster systems

Open source cluster systems such as Pacemaker / Corosync should be covered. They provide go-to implementations of some of the concepts already explained within the text and are a good way for people to get to grips with deploying some of the concepts in practice. I have experience with these and would be happy to write lots of content.

Split Overall Structure: Concepts + Implementation?

It seems like a lot of the areas the other issues I've opened to highlight missing content are more focused on real world implementation.

Perhaps it would be useful to split the overall structure of the text in to two sections, a concepts/theory section containing much of the current content, and an implementation/practice section containing more of the sort of information / current-state-of-the-(open source)-art stuff I'm hinting at.

What do you think?

Grammar error

Under: "Communication links in our system model"

"Many books which discuss distributed algorithms assume is that there.."

Remove the 'is'. I think the 'which' should also be 'that' as it is restrictive.

Epub table formatting, ch. 1

On page 9 of the epub, there is what I assume is supposed to be a table of availability, and what downtime per year that translates to. In the current epub, this is just a list:

Availability %

How much downtime is allowed per year?

90% ("one nine")

More than a month

99% ("two nines")

Less than 4 days

99.9% ("three nines")

Less than 9 hours

(...)

If this is by design, feel free to just close this.

Build process + re-organization

The build process duplicates lots of relationship information between chapters redundantly, so it's not easy to add new chapters or re-order them.

It might be worth considering revamping this to be more 'single point of truth' (eg. filesystem alphabetical ordering / naming driven) or switching to a different document markup/build system entirely.

Distributed systems and operation processes

The intersection of distributed systems and devops style processes are significant and interesting. Things like continuous integration / continuous deployment, test infrastructure, infrastructure failure modelling and platform / service segregation are areas that seem to be under significant development within industry. I am sure that it would be very interesting to many parties if the book could discuss these topics to bring the formal theoretical knowledge through to its relevant to actual in-industry application. I would also be keen to write some of this content.

Limited coverage of distributed storage/filesystems

A comparison of the feature set and limitations of available open source distributed storage/filesystems wouldn't go astray. This would have to discuss the historical feature set and assumptions of single host based block devices/filesystems and the challenges of distributed access.

There are multiple classes of distributed storage, ranging from more open/namespacey stuff like URIs, magnet links and freenet, through to cluster filesystems with strong availability guarantees to DRBD-backed conventional filesystems (offering consistency guarantees plus availability).

Again, this would assist with linking theoretical knowledge to more pragmatic real world systems architecture / deployment concerns.

Invalid EPUB

The generated EPUB is invalid - probably because of the script/noscript-sections.
Conversion of the MOBI file with calibre (gui) is producing a valid EPUB.

ubuntu-14.04 64bit, calibre-1.25

Clarify intended audience

It seems to me that, both naturally and from the HN post, that most people are going to be looking for practical decisionmaking help in understanding the available open source components and architectural paradigms in building real world distributed systems.

Right now the intro reads In this text I've tried to provide a more accessible introduction to distributed systems. To me, that means two things: introducing the key concepts that you will need in order to have a good time reading more serious texts, and providing a narrative that covers things in enough detail that you get a gist of what's going on without getting stuck on details. It's 2013, you've got the Internet, and you can selectively read more about the topics you find most interesting.

While that sounds fun it could be a little more explicit about the angle taken within the coverage. Didn't suggest a push to the intro since it's your book after all and I am interested to know what your thoughts are.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.