Distributed Systems CS425/ECE428 Todays agenda Introductions - - PowerPoint PPT Presentation

distributed systems
SMART_READER_LITE
LIVE PREVIEW

Distributed Systems CS425/ECE428 Todays agenda Introductions - - PowerPoint PPT Presentation

Distributed Systems CS425/ECE428 Todays agenda Introductions Course overview Logistics Instructors Radhika Mittal Nikita Borisov Assistant Professor, ECE & CS Professor, ECE & CS 257 Coordinated Science Lab 460


slide-1
SLIDE 1

Distributed Systems

CS425/ECE428

slide-2
SLIDE 2

Today’s agenda

  • Introductions
  • Course overview
  • Logistics
slide-3
SLIDE 3

Instructors

Radhika Mittal Assistant Professor, ECE & CS 257 Coordinated Science Lab Nikita Borisov Professor, ECE & CS 460 Coordinated Science Lab

slide-4
SLIDE 4

Teaching Assistants

Qingrong Chen 2nd year MS, CS Mahir Morshed 1st year MS, ECE Junli Wu 1st year MCS, CS

slide-5
SLIDE 5

Today’s agenda

  • Introductions
  • Course overview
  • Logistics
slide-6
SLIDE 6

Today’s agenda

  • Introductions
  • Course overview
  • Logistics
slide-7
SLIDE 7

Examples of distributed systems

  • World Wide Web
  • A cluster of nodes on the cloud (AWS, Azure, GCP)
  • Multi-player games
  • BitTorrent
  • Online banking
  • ……..
slide-8
SLIDE 8

What is a distributed system?

Hardware or software components located at networked computers communicate or coordinate their actions only by passing messages.

  • Your textbook

(Coulouris, Dollimore, Kindberg, Blair)

slide-9
SLIDE 9

What is a distributed system?

A collection of autonomous computing elements, connected by a network, which appear to its users as a single coherent system.

  • Steen and Tanenbaum
slide-10
SLIDE 10

What is a distributed system?

A system in which components located on networked computers communicate and coordinate their actions by passing messages. The components interact with each other in order to achieve a common goal.

  • Wikipedia
slide-11
SLIDE 11

What is a distributed system?

Independent components or elements (software processes or any piece of hardware used to run a process, store data, etc)

slide-12
SLIDE 12

What is a distributed system?

Independent components or elements that are connected by a network.

slide-13
SLIDE 13

What is a distributed system?

Independent components or elements that are connected by a network and communicate by passing messages.

slide-14
SLIDE 14

What is a distributed system?

Independent components or elements that are connected by a network and communicate by passing messages to achieve a common goal, appearing as a single coherent system.

slide-15
SLIDE 15

What is a distributed system?

A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable.

  • Leslie Lamport
slide-16
SLIDE 16

Why distributed systems?

  • Nature of the application
  • Multiplayer games, P2P file sharing, client requesting a service.
  • Availability despite unreliable components
  • A service shouldn’t fail when one computer does.
  • Conquer geographic separation
  • A web request in India is faster served by a server in India than

by a server in US.

  • Scale up capacity
  • More CPU cycles, more memory, more storage, etc.
  • Customize computers for specific tasks
  • E.g. for storage, email, backup.
slide-17
SLIDE 17

Example: scaling up Facebook

  • 2004: Facebook started on a single server
  • Web server front end to assemble each user’s page.
  • Database to store posts, friend lists, etc.
  • 2008: 100M users
  • 2010: 500M users
  • 2012: 1B users
  • 2019: 2.5B users

How do we scale up?

slide-18
SLIDE 18

Example: scaling up Facebook

  • One server running both webserver and DB
  • Two servers: webserver, DB

– System is offline 2x as often!

  • Server pair for each social community

– E.g., school or college

– What if server fails? – What if friends cross servers?

slide-19
SLIDE 19

Example: scaling up Facebook

  • Scalable number of front-end web servers.
  • Stateless: if crash can reconnect user to another server.
  • Use various policies to map users to front-ends.
  • Scalable number of back-end database servers.
  • Run carefully designed distributed systems code.
  • If crash, system remains available.
slide-20
SLIDE 20

Challenging properties

Multiple computers

  • Concurrent execution.
  • Independent failure.
  • Autonomous

administration.

  • Heterogeneous.
  • Large numbers.
slide-21
SLIDE 21

Networked communication

  • Asynchronous
  • Unreliable
  • Insecure

Challenging properties

slide-22
SLIDE 22

Common goal

  • Consistency
  • Transparency

Challenging properties

slide-23
SLIDE 23

Common goal

  • Consistency
  • Transparency

Challenging properties

Multiple computers

  • Concurrent execution.
  • Independent failure.
  • Autonomous

administration.

  • Heterogeneous.
  • Large numbers.

Networked communication

  • Asynchronous
  • Unreliable
  • Insecure
slide-24
SLIDE 24

Common goal

  • Consistency
  • Transparency

Challenging properties

Multiple computers

  • Concurrent execution.
  • Independent failure.
  • Autonomous

administration.

  • Heterogeneous.
  • Large numbers.

Networked communication

  • Asynchronous
  • Unreliable
  • Insecure
slide-25
SLIDE 25

Rest of the course

  • Distributed system concepts and algorithms
  • How can failures be detected?
  • How do we reason about timing and event ordering?
  • How do concurrent processes share a common resource?
  • How do they elect a “leader” process to do a special task?
  • How do they agree on a value? Can we always get them to agree?
  • How to handle distributed concurrent transactions?
  • ….
  • Real-world case studies
  • Blockchains
  • Distributed key-value stores
  • Distributed file servers
slide-26
SLIDE 26

Today’s agenda

  • Introductions
  • Course overview
  • Logistics
slide-27
SLIDE 27

Sources of information

  • Course website
  • Homeworks, MPs
  • Lecture schedule, readings, and slides
  • CampusWire
  • Announcements, questions, clarifications
slide-28
SLIDE 28

Course Staff

Qingrong Chen Mahir Morshed

Junli Wu

Radhika Mittal Nikita Borisov

Office Hours details will be made available on the website and on CampusWire shortly.

slide-29
SLIDE 29

Books

  • Distributed Systems: Concepts and Design, Coulouris et al.,

5th edition.

  • Earlier editions may be acceptable.
  • Your responsibility to find correct reading sections.
  • Other texts
  • Distributed Systems: An Algorithmic Approach, Ghosh
  • Distributed Systems: Principles and Paradigms, Tanenbaum &

Steen

  • Distributed Algorithms, Lynch
slide-30
SLIDE 30

Grade components

  • Homeworks
  • 6 homeworks in total.
  • Approx every 2 weeks.
  • Will be submitted using Gradescope.
  • Must be typed (hand-written diagrams are fine).
  • Must be done individually.
slide-31
SLIDE 31

Grade components

  • Homeworks
  • MPs (only for 4 credit version)
  • 4 mini projects.
  • First (warm-up) MP will be released on Friday!
  • Groups of up to 2
  • Need to fill up a form to activate VM clusters.
  • Supported languages: Python, Go, C/C++, Java
slide-32
SLIDE 32

Grade components

  • Homeworks
  • MPs (only for 4 credit version)
  • Exams
  • Two midterms
  • Tentative dates and times:
  • March 2nd, Mon, 7-9pm
  • April 6th, Mon, 7-9pm
  • Comprehensive final.
slide-33
SLIDE 33

Grade components

  • Homeworks
  • MPs (only for 4 credit version)
  • Exams
  • CampusWire participation
slide-34
SLIDE 34

Grade distribution

3-credit 4-credit Homework 33% 16% (drop 2 worst HWs) Midterms 33% 25% Final 33% 25% MPs N/A 33% Participation 1% 1%

slide-35
SLIDE 35

Integrity

  • Academic integrity violations have serious consequences.
  • Min: 0% on assignment
  • Max: expulsion
  • All cases are reported to CS, your college, and senate

committee.

  • Note: any sharing of code outside group is forbidden.
slide-36
SLIDE 36

Laptop/screen policy

  • Research shows that:
  • Laptop use has a negative impact on student learning

retention / performance.

  • Laptop use has a negative impact on other students in course.
  • Policy
  • Laptops / iPads are strongly discouraged everywhere
  • If you feel you must use such a device, sit in side seats or

back row

  • Enforcement will be lax in first two weeks.
slide-37
SLIDE 37

Lecture Summary

  • Distributed Systems properties
  • Multiple computers
  • Networked communication
  • Common goal
  • Distributed systems are fundamentally needed, and are

challenging to build.

  • Course goals: concepts, designs, case studies
slide-38
SLIDE 38

Acknowledgements

  • Prof. Arvind Krishnamurthy
  • Prof. Nikita Borisov
  • Prof. Jennifer Hou
  • Prof. Mehdi Harandi
  • Prof. Klara Nahrstedt
  • Prof. Indranil Gupta
  • Prof. Nitin Vaidya
  • Prof. Sayan Mitra
slide-39
SLIDE 39

Questions?