GitHub - heathermiller/dist-prog-book
source link: https://github.com/heathermiller/dist-prog-book
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Programming Models for Distributed Computation
Source repo for the book that I and my students in my course at Northeastern University, CS7680 Special Topics in Computing Systems: Programming Models for Distributed Computing, are writing on the topic of programming models for distributed systems.
This is a book about the programming constructs we use to build distributed systems. These range from the small, RPC, futures, actors, to the large; systems built up of these components like MapReduce and Spark. We explore issues and concerns central to distributed systems like consistency, availability, and fault tolerance, from the lens of the programming models and frameworks that the programmer uses to build these systems.
Please note that this is a work in progress, the book contents are in this repo, but we have not yet polished everything and published the final book online. Expected release: end of December
Note: the chapters can be viewed by manually going to http://dist-prog-book.com/chapter/x/article-name.html
, e.g., http://dist-prog-book.com/chapter/2/futures.html. One we finish off the chapters that need the most work, we will "release" the book by putting a proper index page in place.
Note: we are currently in talks with a major publisher to publish this book as open-access textbook! Keep your fingers crossed!
Chapters
- Futures & Promises
- Message-passing
- Distributed Programming Languages
- Languages Extended for Distribution
- CAP, Consistency, & CRDTs
- Programming Languages & Consistency
- Large-scale Parallel Batch Processing
- Large-scale Streaming
Editing this book
Workflow
- Fork/clone
- Edit on your local branch
- Make a pull request to the
master
branch with your changes. Do not commit directly to the repository - After merge, visit the live site
http://dist-prog-book.com/chapter/x/your-article.html
Note: We have CI that builds the book for each commit. Pull requests that don't build will not be merged.
Note: when PRs are merged, the site is built and redeployed automatically.
Structure
Chapters are located in the chapter
folder of the root directory.
Dependencies
This site uses a Jekyll, a Ruby framework. You'll need Ruby and Bundler installed.
If you have Ruby already installed, to install Bundler, just do sudo gem install bundler
Building & Viewing
Please build and view your site locally before submitting a PR!
cd into the directory where you cloned this repository, then install the
required gems with bundle install
. This will automatically put the gems into
./vendor/bundle
.
Start the server in the context of the bundle:
bundle exec jekyll serve
The generated site is available at http://localhost:4000
Note, this will bring you to the index page. If you'd like to see your chapter,
make sure to navigate there explicitly, e.g.,
http://localhost:4000/chapter/1/rpc.html
.
Adding/editing pages
Articles are in Markdown with straightforward YAML frontmatter.
You can include code, math (LaTeX syntax), figures, blockquotes, side notes, etc. You can also use regular BibTeX to make a bibliography. To see everything you can do, I've prepared an example article.
If you would like to add BibTeX entries to the bibliography for your chapter,
check the _bibliography
directory for a .bib
file named after your chapter.
Recommend
-
11
Utilize PGO for rustc linux dist builds by Mark-Simulacrum · Pull Request #80262 · rust-lang/rust · GitHub This implements support for applying PGO to the rustc compilation step (not standard library or any tooling, including...
-
5
Distributed sccache (sccache-dist)¶ sccache is a ccache-like...
-
7
PDF.js PDF.js is a Portable Document Format (PDF) library that is built with HTML5. Our goal is to create a general-purpose, web standards-based platform for parsing and rendering PDFs. This is a pre-built version of the PDF.j...
-
4
分享一个 npm dist-tag 的冷知识 Posted on 2020-04-29...
-
12
OpenWrt-dist LuCI APP 列表 Name Depends Description luci-app-chinadns openwrt-chinadns LuCI Support for ChinaDNS luci-app-dns-forwarder
-
9
rampart-dist-1.4-src.zipHome rampart-dist-1.4-src.zip rampart-dist-1.4-src.zip
-
7
Why Does AI Art Look Like a ’70s Prog-Rock Album Cover?The boom in generative AI art is creating an aesthetic movement—one that looks oddly familiar.
-
3
Guest 3 key trends for 2023: Low code/no code, generative AI and the evolution of programming
-
2
Data-platform for tech recruitmentSort by: Hello, Product Hunt! I'm Dmitry Pyanov, Co-Founder and Head of Product at Prog.AI. We are building an innovative AI-driven recruitment platform, Prog.AI, that we have s...
-
5
Tesseract's War Of Being Is A New PC VR Sci-Fi Adventure Skip to content Pr...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK