DistOS 2015W Session 2

From Soma-notes

Reading Response Discussion

Mother of All Demos:

Team: Jason, Kirill, Sravan, Agustin, Hassan Ambalica, Apoorv, Khaled

  • 1968, Doug Inglebard
  • One computer with multiple terminals controlling
  • Video conferencing
  • Computer mouse
  • Word processing, rudimentary copy and paste
  • Dynamic file linking
  • Revision control/version control/source control
  • Collaborative real-time editor
    • User privilege control in that user can provide read-only access, read-write privilege to file
  • Cord keyboard
    • Marco keyboard that allows messages quickly, while using mouse at same time
  • Not really a distributed operating system, but great start because multiple users at different terminals could share same resources

Early Internet

Alto

Team: Tory, Veena, Sameer, Mert, Deep, Nameet, Moe

  • 1973
  • High speed (3 Mbps @ 1km difference)
  • Connects up to 256 machines
  • Protocol similar to cross between UDP/TCP, before TCP invented
  • Allowed sharing printers
  • Also allowed for distributing files across computers (redundancy/reliability)
  • Sort of early cloud
  • Allowed for remote debugging, store error logs
  • Allowed machines to use processing power of others
  • much of the time it would be doing nothing


Professor lead discussion 1

A true distributed operating system does not actually exist, its more of a dream.

You'll find in the history of trying to achieve this dream of a distributed operating system there has always been a road block as a result of a technical issue. People would come up with a solution to this technical issue but then they would find that some other technical issue would crop up. For example 'The Mother of All Demos' tried to build a distributed operating system but they had no networking. They had to point a television camera at the computer monitor to be able to demo their concept. The early internet came along and dealt with the issue of no networking. However the early internet itself had other technical issues.

A common buzz word during the early days of development was Time Sharing. Time sharing is about the sharing of resources between users. Today the concept of time sharing is similar to sharing a processor between multiple processes.

Discussion: Easy on one computer, hard on multiple computers

Instant Messaging
Why is it easy? Why is it hard?
Can't be out sync Synchronization issues
  • Server-client modal
    • If two or more servers they get requests same time, they have to figure out how to synchronize the data
  • Peer-to-Peer
    • Each peer has to figure out how to sync each message
Only one data store/source
Mortal Kombat/Twitch Gaming
Why is it easy? Why is it hard?
Photo Album
Why is it easy? Why is it hard?

Commonalities

  • Synchronization
  • Bandwidth
  • Reliability/Fault Tolerance
  • Interoperability
  • Discovery
  • Routing
    • In modern system this issue has been mostly abstracted away
    • Classic example would be Wireless Ad-hoc networking

The above list is not hard on a single system because all the cores have equal access to all the resources. Also as a result of excellent engineering modern single systems can very effective deal with any errors that may result.