Introduction
Readings
Van Steen and Tanenbaum: 5.1 Coulouris: 10.3
Definition
From the Tanenbaum and Steen textbook:A distributed system is a piece of software
that ensures thatA collection of independent computers that
appears to its users as a single coherent system.
Definition
Quote by Leslie Lamport:A distributed system is one in which I cannot get
something done because a machine I've never heard of is down.
Game Changer: 1980’s
Fundamental Shift
Gradually went from centralized systems to networked systems
The arrival of PCs and LANs led to applications that: Extracted information from central databases on
shared file servers Extracted information is integrated into
spreadsheets and other applications on the PC
Synchronized application updates were required
Tools needed to monitor and troubleshoot performance and other network problems
Emerging Characteristics
Multiple computers Concurrent execution Independent operation and failures
Communications Ability to communicate No tight synchronization
Relatively easy to expand or scale Synchronized application updates
Example (Coulouris)
the rest of
email server
Web server
Desktopcomputers
File server
router/firewall
print and other servers
other servers
Local areanetwork
email server
the Internet
intranet
ISP
desktop computer:
backbone
satellite link
server:
network link:
Example: A Typical Portion of the Internet (Coulouris)
Example: Portable and Handheld Devices in a
Distributed System (Coulouris)
Laptop
Mobile
PrinterCamera
Internet
Host intranet Home intranetWAP
Wireless LAN
phone
gateway
Host site
Evolution
In the 1990’s we saw the explosion of WWW
Companies began to use the web for information sharing and interactions with customers
Multi-tier applications emerged Customers connect (through a browser) to
many different applications Applications hosted on different servers
residing on different machines
Revolution:Cloud Computing
There is an emerging trend to move more and more computing functions into large shared data centers Amazon EC2 “hosts” data centers for
customers Google runs all sorts of office applications,
email, etc on their systems Yahoo! wants to be a one-source computing
solution IBM has a vision of computing “like electric
power”
Cloud Computing Concept
Google/IBM/Amazon/Yahoo! host the services
Email, file storage, IM, search
Databases, spreadsheets, office apps
Web services
Supporting Technologies
InfrastructureCore management and scheduling
functionsEvent notification servicesStorage systems (GFS)Monitoring, debugging, tuning
assistance We are increasingly seeing virtualization
becoming a part of this infrastructure
Supporting Technologies
Not just about hardware Software is needed to enable clouds:
Map-ReduceBigTableAstrolabeAmazon’s shopping cart
Course Topics
We have a limited time I would like to focus on the fundamental
concepts e.g., synchronization, replication, multicast
Provide some insight into how Amazon, Google work
Look at the hot topics through a critical analysis of papers
Undergrad vs Grad
This is an advanced graduate course Projects are not as well defined as found
in undergraduate courses You are expected to learn things outside
of the lectures More emphasis on reading research
papers More emphasis on presentations
Evaluation
Although I will present in the first part of this course I do expect 1 to 2 presentations from each student
You will be required to evaluate papers and provide brief reviews
There is one project
Reviews
Not all papers discussed in class will require a review
The goal of a review is to show that you have critically analyzed a paper
Reviews are one to two pages long
Presentations
Present a paper Each paper will have a presenter, advocate
and a devil’s advocate Present a technology
Examples: Amazon, eBay Can involve 2 to 3 people
Projects
Group based Creative Sufficiently challenging Types:
New idea Experiment with existing ideas Develop an application