DistOS 2015W Session 1
1st Lecture - January 5th 2015
COURSE OUTLINE
Undergrad Grading Scheme: 15% Class Participation 15% Reading Responses 10% lecture Notes/Wiki Contributions 25% Midterm 35% Final Exam
Grads Grading Scheme: 15% Class Participation 15% Reading Responses 10% Lectures Notes/Wiki contributions 10% Project Proposal 15% Project Presentation 35% Final Project
Project: A literature review of Distributing operating Research proposal on a problem related to DS
A large software system
Response: How you feel, What you Learned
LECTURES 1 : Discussion (What is Distributed System/OS)
Distributing System
- Sharing Resources
- Spreading Work Loads
- Scheduling
- Process migration
- Different nodes have different purpose
- Google
- Parallel running processes
- Nodes
- Resource Allocation across multiple nodes
- Scheduling multiple nodes
- Resources availability among nodes
- Problem: across multiple machine,
- Questions:
Group2: - Request come from one or more computer and handles by many other computers - Tasks are divided into small, which are dealt with then re-integrate - Usually deal with large scale datasets - Globalization - Fault tolerant - Usually emphasize distributed agents to not work on certain schedule
Group3: - Separated networked machine - Coordinated with similar with similar identical software ○ Error recovery, redundancy - No control storage - Coordinated communication facilitating operation on coordinated task - Leader/hierarchy for task delegation ○ Example: Map Reduce , cloud, cloud software(Google Drive) Group4: - Distributed, multiple systems - OS: The root level system that operates a computer system - Dist. OS more complexity
Prof Discussion Notes: Key words: Network Parallel Full tolerant Redundancy Complexity
Distributing OS, is kind of OS
What is an OS? ○ Connection software and hardware ○ Recourses allocation ○ Abstraction ○ Transfer what you have and what you want to program on , Want to make it many computer you want to program on ○ Sharing: Recourse spilt up , OS turn the computer you want to program , some other computer may want other part of resources ○ Virtual memory, Process scheduling
What is Distributed System?
○ Run of one node but really on many nodes ○ Do the thing we take granted with regular computer ○ You want to program on computer - Cannot do many computer - lets you treat n computer as if its one numbers, expect you have 1000x resources ○ Opposite of OS ○ Resources can be divided as you want ○ Implement centralized control - problem solution ○ You cannot take many and make it one -> We fake it , in certain context, in certain environment ○ More specific task you try to do , the more it scale ○ Interact it, process update, callback, ○ Gmail so responsible - it perfected , downloads in your browser ○ Cache - they predict what the processor going to do
Systems: Mobile devices - Phones IOS Android
Embedded OS: Linux, QNX, xBSD firewalls
Desktop: Windows MacOS Chrome OS
Server: Windows, Server Linux BSD
Main Frames: OS/400
Cloud is n server? IMP Question
Cloud: MPI AWS Google App Engine
Is it OS? No, it is a best porto OS , because of abstraction, you don’t know what in the background
Cloud: quite OS, u do stuff in API
Group Discussion(2): BOINC - Pick a system == Similar to OS or function like OS
Similarity: ○ Lot of parallelization ○ Availability ○ Scheduling ○ Network ○ Connection leave and join whenever you want at idle time ○ Same problem at the same time ○ Redundancy ○ Allocation can be handle by system ○ Large problem managed by one system ○ Submit project ○ Fault tolerance Different OS: ○ VERY VERY specific ○ Studying at home
Similarity BOINC: ○ Its networked ○ Takes arbitrary, parallelized problems and scale then ○ Allocates problem re Differences: ○ Bad abstraction ○ Cant run centralized program
Group 2: FaceBook Pro: ○ Abstracts over human connection (makes it easier ) ○ Has a programming API/platform ○ ? Able to separate resources such as wall posts, photos, etc Cons: ○ Doesn't really take a single resources and spilt it up into smaller ones ○ APIs arents very stable ○ Not a lot of control
Group3: Google Docs Pro: ○ File System(resources management ) ○ Hardware abstraction ○ API google script Cons: ○ Is it really?
Group 4: LinkedIn Pro: ○ Supports multiple location/Users(Recourses) ○ Multiple servers around the worls ○ Recourses mgmt ○ Security Mgmt ○ Networked System ○ Consistency ○ Platform Free(Desktop/Mobile) ○ Specific Functionality(Not abstract)