DistOS 2015W Session 2: Difference between revisions
Hassansaid (talk | contribs) |
|||
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
= Reading Response Discussion = | = Reading Response Discussion = | ||
*In computing, time-sharing, is the sharing of a computing resource among many users by means of multiprogramming and multi-tasking. | |||
**In the old days, computers were expensive and physically large, so one computer was shared among many users using terminals. | |||
== Mother of All Demos: == | == Mother of All Demos: == | ||
Team: Jason, Kirill, Sravan, Agustin, Hassan Ambalica, Apoorv, Khaled | '''Team:''' Jason, Kirill, Sravan, Agustin, Hassan Ambalica, Apoorv, Khaled | ||
* 1968, Doug Inglebard | * 1968, lead by Doug Inglebard | ||
* One computer with multiple terminals | * Initial public display of many modern technologies | ||
* One computer with multiple remote terminals | |||
* Video conferencing | * Video conferencing | ||
* Computer mouse | * Computer mouse (and coined the term) | ||
* Word processing, rudimentary copy and paste | * Word processing, rudimentary copy and paste | ||
* Dynamic file linking | * Dynamic file linking (hypertext) | ||
* Revision control/version control/source control | * Revision control/version control/source control | ||
* Collaborative real-time editor | * Collaborative real-time editor | ||
** User privilege control in that user can provide read-only access, read-write privilege to file | ** User privilege control in that user can provide read-only access, read-write privilege to file | ||
* | * Corded keyboard | ||
** Marco keyboard that allows messages quickly, while using mouse at same time | ** 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 | * Not really a distributed operating system, but great start because multiple users at different terminals could share same resources | ||
Line 22: | Line 26: | ||
== Alto == | == Alto == | ||
Team: Tory, Veena, Sameer, Mert, Deep, Nameet, Moe | '''Team:''' Tory, Veena, Sameer, Mert, Deep, Nameet, Moe | ||
* 1973 | * Initially developed around 1973 by Xerox, upgraded over next few years | ||
* High speed (3 Mbps @ 1km | * High speed network connectivity (3 Mbps @ 1km distance) | ||
* | * Connected up to 256 machines | ||
* Protocol similar to cross between UDP/TCP, before TCP invented | * Protocol similar to cross between UDP/TCP, before TCP invented | ||
* Allowed sharing printers | * Allowed sharing of printers | ||
* Also allowed | * Also allowed distribution of files across computers (redundancy/reliability) | ||
* Sort of early cloud | * Sort of early cloud | ||
* Allowed for remote debugging, store error logs | * Allowed for remote debugging, store error logs | ||
* Allowed machines to use processing power of others | * Allowed machines to use processing power of others | ||
* | * Much of the time it would be idling, which is amazing at a time when computers cost a fortune | ||
= 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''', which is an old term for multiple processes running simultaneously. However, at the time it referred to multiple users sharing the CPU cycles on a single computer. Today, a single user's many processes using a single CPU is much more common. | |||
= Discussion: Easy on one computer, hard on multiple computers = | |||
{| class="wikitable" width="100%" | |||
|+ '''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 | |||
|- | |||
|} | |||
{| class="wikitable" width="100%" | |||
|+ '''Mortal Kombat/Twitch Gaming''' | |||
|- | |||
! Why is it easy? | |||
| | |||
* Full control of all software | |||
* All possible users are physically co-located | |||
* Latency minimized | |||
! Why is it hard? | |||
| | |||
* Games are fundamentally low-latency. Networking is fundamental high-latency. | |||
* Input prediction doesn't work well on twitchy games. | |||
* Have to handle lying or faulty clients. | |||
* Have to handle users finding each other. | |||
|- | |||
|} | |||
{| class="wikitable" width="100%" | |||
|+ '''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. |
Latest revision as of 09:07, 20 April 2015
Reading Response Discussion
- In computing, time-sharing, is the sharing of a computing resource among many users by means of multiprogramming and multi-tasking.
- In the old days, computers were expensive and physically large, so one computer was shared among many users using terminals.
Mother of All Demos:
Team: Jason, Kirill, Sravan, Agustin, Hassan Ambalica, Apoorv, Khaled
- 1968, lead by Doug Inglebard
- Initial public display of many modern technologies
- One computer with multiple remote terminals
- Video conferencing
- Computer mouse (and coined the term)
- Word processing, rudimentary copy and paste
- Dynamic file linking (hypertext)
- 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
- Corded 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
- Initially developed around 1973 by Xerox, upgraded over next few years
- High speed network connectivity (3 Mbps @ 1km distance)
- Connected up to 256 machines
- Protocol similar to cross between UDP/TCP, before TCP invented
- Allowed sharing of printers
- Also allowed distribution of 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 idling, which is amazing at a time when computers cost a fortune
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, which is an old term for multiple processes running simultaneously. However, at the time it referred to multiple users sharing the CPU cycles on a single computer. Today, a single user's many processes using a single CPU is much more common.
Discussion: Easy on one computer, hard on multiple computers
Why is it easy? | Why is it hard? |
---|---|
Can't be out sync | Synchronization issues
|
Only one data store/source |
Why is it easy? |
|
Why is it hard? |
|
---|
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.