DistOS 2014W Lecture 3: Difference between revisions

From Soma-notes
Sjoy (talk | contribs)
Summary of the discussion from lecture
36chambers (talk | contribs)
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Questions to consider:
 
* What were the purposes envisioned for computer networks?  How do those compare with the uses they are put to today?
==The Early Internet (Jan. 14)==
* What sort of resources were shared?  What resources are shared today?
 
* What network architecture did they envision?  Do we still have the same architecture?
* [https://homeostasis.scs.carleton.ca/~soma/distos/2014w/kahn1972-resource.pdf Robert E. Kahn, "Resource-Sharing Computer Communications Networks" (1972)]  [http://dx.doi.org/10.1109/PROC.1972.8911 (DOI)]
* What surprised you about this paper?
* [https://archive.org/details/ComputerNetworks_TheHeraldsOfResourceSharing Computer Networks: The Heralds of Resource Sharing (1972)] - video
* What was unclear?
 
== 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==
==Group 1==
* video was mostly a summary of Kahn's paper
=== Discussion ===
* process migration through different zones of air traffic control
The video was mostly a summary of Kahn's paper. It was outlined that process mitigation could be done through different zones of air traffic control. Back then, a "distributed OS" meant something different than we normally think about it now. This is because, when the paper was written, many people would be remotely logging onto a single machine. This type of infrastructure is very much like the cloud infrastructure that we see talk about and see today.
* "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
The Alto paper referenced Kahn's paper, and the Alto designers had the foresight to see that networks such as ARPANET would be necessary. However, there are still some questions that come up in discussion, such as:
* 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.
* Would it be useful to have a co-processor responsible for maintaining shared resources even today? Would this be like the IMPs of ARPANET?  
Today, computers are usually so fast that it doesn't really seem to matter. This is still interesting to ruminate on, though.


=== Questions ===
=== Questions ===


* What were the purposes envisioned for computer networks?
'''What were the purposes envisioned for computer networks?'''
** big computation, storage, resource sharing - "having a library on a hard disk"
 
The main purposes envisioned were:
* Big computation
* Storage
* Resource sharing
Essentially, being able to "have a library on a hard disk".
 
'''How do those compare with the uses they are put to today?'''
 
Today, those things/goals are being done, but we are mostly seeing communication-based things such as instant messaging and email.
 
'''What sort of resources were shared?'''
 
The main resources being shared were databases and CPU time.


* How do those compare with the uses they are put to today?
'''What resources are shared today?'''
** those things are being done, but mostly communication like instant messaging, email


* What sort of resources were shared?
Storage is the main resource being shared today.
** databases, CPU time


* What resources are shared today?
'''What network architecture did they envision? '''
** mostly storage


* What network architecture did they envision? 
The network architecture would make use of pack-switching. There would be a checksum and acknowledge on each packet and the IMPs were the network interface, and the routers.
** 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?
'''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?
Although, packet-switching definitely won, we do not have the same architecture now as the IP doesn't have a checksum or acknowledge. But TCP does have an end-to-end checksum and acknowledge. Kahn went on to learn fro the errors of ARPANET to design TCP/IP. Also, the job of the network interface and router have now been decoupled.
** 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?
'''What surprised you about this paper?'''
** much of the more technical specifications, but we mostly skipped over those
 
Everything was surprising about this paper. How were they able to dl all of this? A network interface card and router were the size of a fridge! Some general things of note:
* High-level languages
* Bootstrapping protocols, bootstrapping applications
* Primitive computers
* Desktop publishing
* The logistics of running a cable from one university to another
* How old the idea of distributed operating system is
 
'''What was unclear?'''
Much of the more technical specifications were unclear, but we mostly skipped over those


==Group 2==
==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.
'''What were the purposes envisioned for computer networks?  How do those compare with the uses they are put to today?'''
 
The main purpose of early networks was resource sharing. Abstractions were used for transmission and message reliability was a by-product. The underlying idea is the same.
 
Specialized Hardware/software and information sharing. super set of sharing.
 
The AD-HOC routing was essentially TCP without saying it. Largely unchanged 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?'''


3. AD-HOC routing, it was TCP without saying it. Largely unchanged today.
''' What surprised you about this paper?'''
 
''' What was unclear?'''


==Group 3==
==Group 3==
===Envisioned computer network purposes===
 
'''What were the purposes envisioned for computer networks?  How do those compare with the uses they are put to today?'''
 
The purposes envisioned for computer networks were:
* Improving reliability of services, due to redundant resource sets
* Improving reliability of services, due to redundant resource sets
* Resource sharing
* Resource sharing
Line 71: Line 96:
Information-sharing is still relevant today, especially in research and large simulations. Remote access has mostly devolved into a specialized need.
Information-sharing is still relevant today, especially in research and large simulations. Remote access has mostly devolved into a specialized need.


===Resources shared===
'''What sort of resources were shared?  What resources are shared today?'''
* Computing resources (especially expensive mainframes)
 
* Data sets
The main resources being shared were computing resources (especially expensive mainframes) and data sets.
 
''' What network architecture did they envision?  Do we still have the same architecture?'''
 
They envisioned a primitive layered architecture with dedicated routing functions. Some of the various topologies were:
* star
* loop
* bus
 
It was also primarily (packet | message)-switched. Circuit-switching was too expensive and had large setup times and this didn't require committing resources. There was also primitive flow control and buffering, but no congestion control.


===Network architecture===
This network architecture predated proper congestion control, such as Van Jacobsen's slow start. The routing was either Ad-hoc or based on something similar to RIP. They would anticipate elephants and have mice latency issues. Unlike the modern internet, there was error control and retransmission at every step.
* 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)
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 propagation is now large-scale, and semi-automated (e.g., BGP externally, IS-IS and OSPF internally)


===Surprising aspects===
''' What surprised you about this paper?'''


===Unclear portions===
 
* Weird packet format: Page 1400 (4 of PDF): “Node 6, discovering the message is for itself,
''' What was unclear?'''
  replaces the destination address by the source address
 
The 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==
==Group 4==


* What were the purposes envisioned for computer networks? How do those compare with the uses they are put to today?
'''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.
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.
Line 107: Line 128:
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.).
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?
'''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.)
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?
'''What network architecture did they envision? Do we still have the same architecture?'''
 
Surprisingly, yes: modern networks have substantially similar architectures to the ones described in these papers. 


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.   
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?
'''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.
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?  
'''What was unclear? '''


Nothing significant; we're looking at these with the benefit of hindsight.
Nothing significant; we're looking at these with the benefit of hindsight.
Line 126: Line 148:
==Summary of the discussion from lecture==
==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.  
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.
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.

Latest revision as of 10:08, 21 April 2014

The Early Internet (Jan. 14)

Questions to consider:

  1. What were the purposes envisioned for computer networks? How do those compare with the uses they are put to today?
  2. What sort of resources were shared? What resources are shared today?
  3. What network architecture did they envision? Do we still have the same architecture?
  4. What surprised you about this paper?
  5. What was unclear?

Group 1

Discussion

The video was mostly a summary of Kahn's paper. It was outlined that process mitigation could be done through different zones of air traffic control. Back then, a "distributed OS" meant something different than we normally think about it now. This is because, when the paper was written, many people would be remotely logging onto a single machine. This type of infrastructure is very much like the cloud infrastructure that we see talk about and see today.

The Alto paper referenced Kahn's paper, and the Alto designers had the foresight to see that networks such as ARPANET would be necessary. However, there are still some questions that come up in discussion, such as:

  • Would it be useful to have a co-processor responsible for maintaining shared resources even today? Would this be like the IMPs of ARPANET?

Today, computers are usually so fast that it doesn't really seem to matter. This is still interesting to ruminate on, though.

Questions

What were the purposes envisioned for computer networks?

The main purposes envisioned were:

  • Big computation
  • Storage
  • Resource sharing

Essentially, being able to "have a library on a hard disk".

How do those compare with the uses they are put to today?

Today, those things/goals are being done, but we are mostly seeing communication-based things such as instant messaging and email.

What sort of resources were shared?

The main resources being shared were databases and CPU time.

What resources are shared today?

Storage is the main resource being shared today.

What network architecture did they envision?

The network architecture would make use of pack-switching. There would be a checksum and acknowledge on each packet and the IMPs were the network interface, and the routers.

Do we still have the same architecture?

Although, packet-switching definitely won, we do not have the same architecture now as the IP doesn't have a checksum or acknowledge. But TCP does have an end-to-end checksum and acknowledge. Kahn went on to learn fro the errors of ARPANET to design TCP/IP. Also, the job of the network interface and router have now been decoupled.

What surprised you about this paper?

Everything was surprising about this paper. How were they able to dl all of this? A network interface card and router were the size of a fridge! Some general things of note:

  • High-level languages
  • Bootstrapping protocols, bootstrapping applications
  • Primitive computers
  • Desktop publishing
  • The logistics of running a cable from one university to another
  • How old the idea of distributed operating system is

What was unclear? Much of the more technical specifications were unclear, but we mostly skipped over those

Group 2

What were the purposes envisioned for computer networks? How do those compare with the uses they are put to today?

The main purpose of early networks was resource sharing. Abstractions were used for transmission and message reliability was a by-product. The underlying idea is the same.

Specialized Hardware/software and information sharing. super set of sharing.

The AD-HOC routing was essentially TCP without saying it. Largely unchanged 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 3

What were the purposes envisioned for computer networks? How do those compare with the uses they are put to today?

The purposes envisioned for computer networks were:

  • 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.

What sort of resources were shared? What resources are shared today?

The main resources being shared were computing resources (especially expensive mainframes) and data sets.

What network architecture did they envision? Do we still have the same architecture?

They envisioned a primitive layered architecture with dedicated routing functions. Some of the various topologies were:

  • star
  • loop
  • bus

It was also primarily (packet | message)-switched. Circuit-switching was too expensive and had large setup times and this didn't require committing resources. There was also primitive flow control and buffering, but no congestion control.

This network architecture predated proper congestion control, such as Van Jacobsen's slow start. The routing was either Ad-hoc or based on something similar to RIP. They would anticipate elephants and have mice latency issues. Unlike the modern internet, there was 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 propagation is now large-scale, and semi-automated (e.g., BGP externally, IS-IS and OSPF internally)

What surprised you about this paper?


What was unclear?

The 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 architectures 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.