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