Download Replication, Load-balancing, and QoS

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CS170: Operating Systems
Fall 2015, 4 units
http://www.cs.ucsb.edu/~cs170
Course Information




Instructor: Tao Yang
 www.cs.ucsb.edu/~tyang
 Office hours: TR 1:45-2:45 (or stop by).
TA: Daniel Kudrow (dkudrow@cs), Varun
Kulkarni Somashekhar (varun@umail).
Grading: Roman Kazarin (rkazarin@umail)
Text Book:


Operating Systems: Principles and Practice (Second
Edition). by Thomas Anderson and Michael Dahlin. Recursive
Books Ltd. 2014
Recommended:
Operating System Concepts Essential. Or
Operating System Concepts by the same authors
5/8/2017
2
OS Market Shares on All Devices
Worldwide Device Shipments by Operating System
Year
Android
iOS/OS X
Windows
Others
2014
48.61%
11.04%
14.0%
26.34%
2013
38.51%
10.12%
13.98%
37.41%
2012
22.8%
9.6%
15.62%
51.98%
http://en.wikipedia.org/wiki/Usage_share_of_o
perating_systems
OS Market Shares on Desktops and Servers
Desktops
Windows 7
Windows
XP
Windows
8.1
Windows 8
Mac OS X
10.10
Windows
Vista
Mac OS X
(other)
Mac OS X
10.9
Linux
Windows
55.99%
19.15%
10.49%
Web server OS Market shares.
3.55%
Unixbased
64.2%
67.8%
3.55%
Windows 35.9%
32.2%
2.11%
Feb 2011
March 2015
1.7%
1.65%
1.53%
W3Techs.com
http://en.wikipedia.org/wiki/Usage_share_of_operating_systems
OS History: How Linux, Andriod, iOS,
and Windows are related?
OS History: How Linux, Andriod, iOS,
and Windows are related?






Because of the cost of developing an OS from scratch, most modern
OSes have a long lineage:
Multics  AT&T Unix  BSD Unix  Ultrix, SunOS, NetBSD,…
Mach (micro-kernel) + BSD  NextStep  XNU 
Apple OSX, iphone iOS
Linux  Android OS
CP/M  QDOS  MS-DOS  Windows 3.1  NT  95  98  2000
 XP  Vista  7  8  phone  …
Linux  RedHat, Ubuntu, Fedora, Debian,
Suse,…
J. Kubiatowicz CS162 UCB
Course Info




Design and implementation of operating systems.
Class projects
 Linux/Unix system calls on process and Pthreads
 Extend an operating system on a virtual machine.
 Focus: process/thread management, code
loading/execution, multiprogramming, virtual
memory, and file systems/disk storage.
Need to have a CSIL account
Prerequisite:


Algorithms/data structure, computer architectures
C/C++ programming. Experience with Linux.
5/8/2017
7
Why this course?

Myself




CS faculty since 1993. Ask Jeeves/Ask.com.
Research in parallel distributed systems and
information retrieval.
Built large-scale web search at Ask.com
Why do I teach this course?




Exciting
System/OS experience is critical for many
applications
Share my academic/industry experience
Help everybody to learn
5/8/2017
8
What will you learn?


Operating system concepts
How to program an operating system





Program execution & multiprogramming
Process/thread management
Memory management
File system implementation (disk).
Impact on your job or advanced studies


Interpret performance behavior and optimize
software that uses CPU/memory/disk
Adapt technology evolution:

New OS, new devices/platform
5/8/2017
9
Internet Services: An OS Perspective
DNS
Servers
Datacenter
DNS
request
Reply
page
Load
balancer
Service
engine
Data
store
Ad Server

Complex interaction of multiple components in
multiple administrative domains

Systems, services, protocols, …
Challenges/OS Issues in Internet Systems



Data intensive
 Hundreds of terabytes/petabytes of data partitioned
and replicated in many machines.
 Management of memory, disk storage, CPU
High performance and availability
 Response time < 1 sec.
 High throughput (thousands of requests per second)
 Fault tolerant
Infrastructure Cost:
 Huge computer clusters/data center+networking
expense.

OS resource/efficiency optimization.
5/8/2017
11
Topics/Schedule


Weeks 1 and 2 lectures:
 Introduction to OS and Process/Thread
Management. Nachos/Pthreads
Action:
 Join Piazza class discussion group
(linked from ~cs170 homepage)
 Review Project 0 and form a 2-3 person
group
 ~250 lines of C code
 Due on April 10
5/8/2017
12
Projects
Project 0: Shell
Linux processes &
system calls
Project 1: Pthread
Synchronization.
Nachos Threads
Project 2: Nachos
Processes&
System Calls
Project 3A:
Nachos virtual
memory
5/8/2017
Nachos
9K lines
Optional Project 3B:
Nachos file systems
13
Rest of fall quarter

Process/thread management and
synchronization. System calls.


Address translation and memory
management.


Project 2 (Read 2K lines. Write ~500 lines)
Virtual memory and file system
implementation


Project 1 (Read 1K lines. Write ~300 lines)
Project 3A and 3B (Read 2K lines. Write ~500
lines))
Process Scheduling. Deadlock.
5/8/2017
14
Discussion Sections








Apr 6: Review Linux system calls. Project 0 sample
code/Makefile
 April 10 (Proj 0 deadline)
Apr 13: Review Pthreads and synchronization. Project 1 sample
code.
Apr 20 Project 1. MIPS Assembly.
 April 23 (Proj 1 deadline)
Apr 27: Project 2.
 May 6 (Proj 2 deadline).
May 4. Exercise review for Exam 1
 May 7 or 12 (Exam 1)
May 11: Project 3A. Memory management
May 18: Project 3B. File systems.
 May 20 (Proj 3A). June 1 (Proj 3B).
June 1. Exercise review for final exam
15
170 Class Workload: Heavy

Projects (45%)

4 projects with extensive C++/C programming




2-3 persons/group.
Exam 1+Exam 2 (45%).


Project 3B is optional, and will improve your exam 1 score.
You can boost Exam 1 with Project 3B or with
Exam 2
Exercises and participation (10%)
Not curved (tentatively):



A level [90-100] A (>92.5%)
B level [80-89.9] B (>82.5%)
C level [70-79.9] C(>72.5%)
B+(>87)
C+(>77)
16
Related documents