DistOS 2014W Lecture 3
Questions to consider:
- What were the purposes envisioned for computer networks? How do those compare with the uses they are put to today?
- What sort of resources were shared? What resources are shared today?
- What network architecture did they envision? Do we still have the same architecture?
- What surprised you about this paper?
- What was unclear?
Group 1
- video was mostly a summary of Kahn's paper
- process migration through different zones of air traffic control
- "distributed OS" meant something different than we normally think about, because many people would log in remotely to a single machine, it is very much like cloud infrastructure that we talk about today
- alto paper makes reference to Kahn's paper, and the alto designers had the foresight to see that networks like arpanet would be necessary
- would it be useful to have a co-processor responsible for maintaining shared resources even today? Like the IMPs of the arpanet? Today, computers are usually so fast it doesn't really matter.
Questions
- What were the purposes envisioned for computer networks?
- big computation, storage, resource sharing - "having a library on a hard disk"
- How do those compare with the uses they are put to today?
- those things are being done, but mostly communication like instant messaging, email
- What sort of resources were shared?
- databases, CPU time
- What resources are shared today?
- mostly storage
- What network architecture did they envision?
- they had a checksum and acknowledge on each packet
- the IMPs were the network interface and the routers
- packet-switching
- Do we still have the same architecture?
- packet-switching definitely won
- no, now IP doesn't checksum or acknowledge, but TCP has end-to-end checksum and acknowledge
- Kahn went on to learn from the errors of arpanet to design TCP/IP
- the job of network interface and router have been decoupled
- What surprised you about this paper?
- everything
- how they were able to do this
- a network interface card and router was the size of a fridge
- high-level languages
- bootstrap protocol, bootstrapping an application
- primitive computers
- desktop publishing
- the logistics of running a cable from one university to another
- how old the idea of distributed operating systems is
- What was unclear?
- much of the more technical specifications, but we mostly skipped over those
Group 2
1. The main purpose of early networks was resource sharing. Abstraction for transmission. Message reliability was a by-product. The underlying idea is the same.
2. Specialized Hardware/software and information sharing. super set of sharing.
3. AD-HOC routing, it was TCP without saying it. Largely unchanged today.
Group 3
Envisioned computer network purposes
- Improving reliability of services, due to redundant resource sets
- Resource sharing
- Usage modes:t
- Users can use a remote terminal, from a remote office or home, to access those resources.
- Would allow centralization of resources, to improve ease of management and do away with inefficiencies
- Allow specialization of various sites. rather than each site trying to do it all
- Distributed simulations (notably air traffic control)
Information-sharing is still relevant today, especially in research and large simulations. Remote access has mostly devolved into a specialized need.
- Computing resources (especially expensive mainframes)
- Data sets
Network architecture
- A primitive layered architecture
- Dedicated routing functions
- Various topologies:
- star
- loop
- bus
- Primarily (packet|mesage)-switched
- Circuit-switching too expensive and has large setup times
- Doesn't require committing resources
- Primitive flow control and buffering
- Predates proper congestion control such as Van Jacobsen's slow start
- Ad-hoc routing or based on something similar to RIP
- Anticipation of elephants and mice latency issues
- Unlike modern internet, error control and retransmission at every step
The architecture today is similar, but the link-layer is very different: use of Ethernet and ATM. The modern internet is a collection of autonomous systems, not a single network. Routing propogation is now large-scale, and semi-automated (e.g., BGP externally, IS-IS and OSPF internally)
Surprising aspects
Unclear portions
- Weird packet format: Page 1400 (4 of PDF): “Node 6, discovering the message is for itself,
replaces the destination address by the source address
Group 4
- What were the purposes envisioned for computer networks? How do those compare with the uses they are put to today?
Networks were envisioned as providing remote access to other computers, because useful resources such as computing power, large databases, and non-portable software were local to a particular computer, not themselves shared over the network.
Today, we use networks mostly for sharing data, although with services like Amazon AWS, we're starting to share computing resources again. We're also moving to support collaboration (e.g. Google Docs, GitHub, etc.).
- What sort of resources were shared? What resources are shared today?
Computing power was the key resource being shared; today, it's access to data. (See above.)
- What network architecture did they envision? Do we still have the same architecture?
Surprisingly, yes: modern networks have substantially similar architecures to the ones described in these papers. Packet-switched networks are now ubiquitous. We no longer bother with circuit-switching even for telephony, in contrast to the assumption that non-network data would continue to use the circuit-switched common-carrier network.
- What surprised you about this paper?
We were surprised by the accuracy of the predictions given how early the paper was written — even things like electronic banking. Also surprising were technological advances since the paper was written, such as data transfer speeds (we have networks that are faster than the integrated bus in the Alto), and the predicted resolution requirements (which we are nowhere near meeting). The amount of detail in the description of the 'mouse pointing device' was interesting too.
- What was unclear?
Nothing significant; we're looking at these with the benefit of hindsight.
Summary of the discussion from lecture
Anil's view is that even these days we can imagine Computer Networks as more of a resource sharing platform. For example when we access the web or search Google we are making use of the resource sharing facilitated by the Internet(Network of interconnected Computer Networks). It's not possible to put 20,000 computers in our basements’, instead the Internet facilitates access to computing power/databases which are built of hundred thousands of computers. In fact Google and other popular search engines has a local copy of the entire web in their data centers, centralized copy of a large distributed system. Kind of a contradictory phenomenon if you think about in terms of the design goals of the distributed system.
Another important takeaway from the discussion was the point that "Early to market/ first player" with a new product/solution to a niche problem and the one which offer solutions based on simple mechanisms as opposed to one relying on complex mechanism gets adopted faster. Classic example is the Internet. ARPANET which was supposed to be an academic research project which was based on simple mechanisms, open and first of its kind got adopted widely and evolved in to the Internet as we see it today. It is to note that this approach is not without its own drawbacks example being the security aspects were not factored in while designing the ARPANET since it was intended to be a network between trusted parties, which was fine then. But when ARPANET evolved in to the Internet, security aspect was one area which required a major focus on. In Silicon Valley the focus is on being the "first player" in a niche market to meet that objective often simple framework/mechanisms are used. In doing so there is also a possibility of leaving out some components which can turn out to be a vital missing link, recent example being security flaw in 'snapchat' that lead to user data being exposed.