Distributed Systems for Fun and Profit

by | Sep 29, 2018 | Computers and Technology, Programming | 0 comments

The author wanted a text that would bring together the ideas behind many of the more recent distributed systems – systems such as Amazon’s Dynamo, Google’s BigTable and MapReduce, Apache’s Hadoop and so on.

In this text he has tried to provide a more accessible introduction to distributed systems. To him, 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. Beyond 2013, you’ve got the Internet, and you can selectively read more about the topics you find most interesting.

In his view, much of distributed programming is about dealing with the implications of two consequences of distribution:

  • that information travels at the speed of light
  • that independent things fail independently

In other words, that the core of distributed programming is dealing with distance (duh!) and having more than one thing (duh!). These constraints define a space of possible system designs, and his hope is that after reading this you’ll have a better sense of how distance, time and consistency models interact.

This text is focused on distributed programming and systems concepts you’ll need to understand commercial systems in the data center. It would be madness to attempt to cover everything. You’ll learn many key protocols and algorithms (covering, for example, many of the most cited papers in the discipline), including some new exciting ways to look at eventual consistency that haven’t still made it into college textbooks – such as CRDTs and the CALM theorem.

  • The first chapter covers distributed systems at a high level by introducing a number of important terms and concepts.
  • The second chapter dives deeper into abstractions and impossibility results.
  • The third chapter discusses time and order, and clocks as well as the various uses of time, order and clocks (such as vector clocks and failure detectors).
  • The fourth chapter introduces the replication problem, and the two basic ways in which it can be performed.
  • The fifth chapter discussed replication with weak consistency guarantees.
  • The appendix covers recommendations for further reading.

Distributed Systems for Fun and Profit

by Mikito Takada (MOBI, PDF, EPUB, HTML, Online reading) – 5 chapters

Distributed Systems for Fun and Profit by Mikito Takada

Related Posts

57 Computer History Videos, Documentaries and Ebooks

57 Computer History Videos, Documentaries and Ebooks

Computing is the bedrock technology that fuels the homes of billions of people around the world. It offers endless possibilities for producing, sharing, and saving information. In this article, a list originally maintained by Thomas Watson, recompiled and cleaned, takes a look at some of the most important innovations in computing history. It covers information from as early as 1953, right down to 2016, in various forms of folklores, recordings, documentaries, interviews, lectures and movies.

136 Free Scientific Articles, Thesis and Reports on Deep Learning for Music

136 Free Scientific Articles, Thesis and Reports on Deep Learning for Music

Over the last several years, a new area of research called deep learning has taken the machine learning community by storm, delivering very promising results in all areas of speech and image recognition. However, one missing link is the lack of an accessible and easy-to-use open-source deep learning library for the music and/or audio research community. In this post we will introduce you to scientific articles, thesis and reports that use deep learning approaches applied to music. The documents are generally in PDF formats, sorted by years and paired with source codes if they’re available.

42 Free and Paid Programming Resources to Learn Web Development

42 Free and Paid Programming Resources to Learn Web Development

Any serious developer will need to learn how to program in order to really understand what is going on behind the curtain, or if you are curious to wonder about or query how your favorite program works. This is where programming tutorials come in. The following are 42 Free and Paid Programming Resources to Learn Web Development, covering 3 different levels – beginner, intermediate and expert resources.