Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
A Comparison of Two Distributed Systems: Amoeba and Sprite (1991) [pdf] (scu.edu)
8 points by vezzy-fnord on Nov 20, 2015 | hide | past | favorite | 4 comments


Lovely, I'm going to read. When I was doing my thesis I was adamant that I'd talk about Plan 9. The literature survey kept pointing at Sprite and Amoeba as the two systems that had the most similar goals at the time.

Since then I keep thinking that the term "system" refers to a distributed system of components, something that has grown beyond the single hardware OS paradigm ever since networks were invented. I have a little bit too much trouble understanding why people would not consider Go a "systems language" only because they think a system is a single hardware entity...


Plan 9 is the obvious third experimental system to come to mind, more like Sprite in some ways and Amoeba in others.

An important paper to read before digging too thoroughly into this subject is: "A Note on Distributed Computing" [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.7...], Jim Waldo, Geoff Wyant, Ann Wollrath, and Sam Kendall. SMLI TR-94-29, Sun Microsystems Laboratories, Inc., Nov. 1994.

"We argue that objects that interact in a distributed system need to be dealt with in ways that are intrinsically different from objects that interact in a single address space. These differences are required because distributed systems require that the programmer be aware of latency, have a different model of memory access, and take into account issues of concurrency and partial failure....

"We conclude by discussing what is required of both systems-level and application-level programmers and designers if one is to take distribution seriously."

As far as systems programming and systems programming languages go (more at http://maniagnosis.crsr.net/2011/11/systems-programming.html), keep in mind that "systems programming" is more about resource management---think of it like programming embedded systems where "embedded" might include the kernel of your stand-alone (or distributed) OS.

"James Iry made a very insightful observation about the nature of the C programming language:

"'Alan Perlis famously said "a programming language is low level when its programs require attention to the irrelevant." What's relevant depends on the problem and the domain, so a corollary would be that a language that's at too high a level prevents paying attention to some of what is relevant for your needs.'"


kjs3, your comment is dead, but the links you gave:

The Clouds distributed operating system from Partha Dasgupta's team at Georgia Tech was also a contemporary of Sprite and Ameoba. See:

https://www.usenix.org/legacy/publications/compsystems/1990/...

https://home.cc.gatech.edu/tony/uploads/14/clouds.pdf

are cool. (And I'm not just saying that because M. Ahamad is a friend of my advisor.)


The Clouds distributed operating system from Partha Dasgupta's team at Georgia Tech was also a contemporary of Sprite and Ameoba. See:

https://www.usenix.org/legacy/publications/compsystems/1990/... https://home.cc.gatech.edu/tony/uploads/14/clouds.pdf




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: