0% found this document useful (0 votes)
7 views

01 Intro

Uploaded by

juttonjutton66
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

01 Intro

Uploaded by

juttonjutton66
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Introduction

CSE 486/586: Distributed Systems

Ethan Blanton
Department of Computer Science and Engineering
University at Buffalo
Introduction Expectations Academic Integrity Resources Projects Summary References

Welcome to CSE 486/586

My name is Ethan Blanton

Contacting me:
Email: [email protected]
Office: Davis 334
Office Hours: Mondays 16:00–16:50
Wednesdays 13:00–13:50

Syllabus and slides are on the web page, OH info is on Piazza.

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 2


Introduction Expectations Academic Integrity Resources Projects Summary References

Distributed Systems

Distributed systems are:


multiple processes
possibly spread out over different networked components
communicating by passing messages

Many modern software services are distributed systems.

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 3


Introduction Expectations Academic Integrity Resources Projects Summary References

Distributed Systems are Hard

What makes them hard?


In a word: failures.

Computers fail, networks fail, software fails.

Failures can be incidental (e.g., power failures).

Failures can be orchestrated (e.g., a virus or worm).

Add to this challenges of scale and concurrency.

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 4


Introduction Expectations Academic Integrity Resources Projects Summary References

Failures

Large systems are unreliable:

Backblaze reported a 1.41% lifetime drive failure rate in Q3


2022 [6].

Facebook says “In general, we always expect some degree of


hardware failure in our data centers” [8].

Microsoft Azure reports that “Last year [written Dec 2020] alone,
there were hundreds of routing outages or incidents, such as
route hijacking and leaks.” [4]

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 5


Introduction Expectations Academic Integrity Resources Projects Summary References

Scale

Distributed systems can be mind-bogglingly huge:

YouTube serves over a billion hours a day. [11].

The Facebook Scuba Trailer service processes more than


180 GB per second of streaming data [9].

Slack produces 100s of Terabytes of observability data


(debugging information) per day [5].

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 6


Introduction Expectations Academic Integrity Resources Projects Summary References

Concurrency

All of this happens concurrently:

Over 500 hours of video are uploaded every minute to YouTube


servers [11].

The Facebook Scuba Trailer runs on over 2,000 machines with


a total of over 96,000 cores [9].

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 7


Introduction Expectations Academic Integrity Resources Projects Summary References

Expectations
For this course, I expect that you:
Will be respectful to me, TAs, classmates
Attend every lecture
Adhere strictly to the academic integrity policy
Will seek assistance early if necessary
Meet prereqs; among other things:
Have significant experience programming
Have a basic understanding of OS interfaces and networking
Can rapidly learn (or already know) Go

Most of all, behave as adults and strive to maximize your and


your classmates’ learning experience in this course.
© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 8
Introduction Expectations Academic Integrity Resources Projects Summary References

Communication

We will communicate via:


Piazza (our main tool; you should receive an invite)
UB Email (check yours regularly)
UBlearns (gradebook, Panopto videos, etc.)

Ensure that you have access to all of these things.

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 9


Introduction Expectations Academic Integrity Resources Projects Summary References

Having a Pleasant Semester

I intend for this course to be fun and rewarding.

You’ll get out of it what you put in; no more, no less.

I do not take well to grade negotiation.

If you want a better grade, do better work.

If you’re willing to put in the time, I’m willing to help.

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 10


Introduction Expectations Academic Integrity Resources Projects Summary References

TL;DR

If you cheat, you will fail.

International students: this is not just something I say.

Willful cheating will earn a mark on your transcript.

The job market is cool right now.

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 11


Introduction Expectations Academic Integrity Resources Projects Summary References

Basic Policies

You must be familiar with the official policies. [10, 2, 3, 1]

All assignments and exams in CSE 486/586 are individual.

Collaboration with other students is forbidden unless explicitly


stated otherwise.

Only course-supplied resources are allowed (more later).

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 12


Introduction Expectations Academic Integrity Resources Projects Summary References

Interactions with Other Students

Examples of interactions with other students that are allowed:


Asking questions in open office hours, listening to answers
Discussing course concepts (such as the course text)

Examples that are not allowed:


Discussing implementation strategies with other students
Whiteboarding or writing pseudocode with another student
Looking at another student’s screen
Sharing code, GitHub repositories, etc. with another student

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 13


Introduction Expectations Academic Integrity Resources Projects Summary References

Sanctions
The default sanction in this course is failure in the course.

If you are found to have committed any AI infraction, you will fail.
Things that are not excuses:
Ignorance
Good intentions
Past performance
Accident
Scholarships, GPA, Visa status

Sanctions are processed through the Office of Academic


Integrity and become part of your University record.
© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 14
Introduction Expectations Academic Integrity Resources Projects Summary References

Amnesty Policy

If you commit an AI violation and wish to retract it, you can.

However, it must be retracted before I notice it.

Retracted assignments:
Receive a zero in the gradebook
Are not processed as an AI violation

Retractions must be in writing and explain the violation.

(See your syllabus.)

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 15


Introduction Expectations Academic Integrity Resources Projects Summary References

Allowable Resources

The only resources that are allowed for this course are:
The lecture slides I provide
Material covered in lecture
Required or recommended readings from lecture
Documentation on golang.org
Distributed Computing by Kshemkalyani and Singhal [7]

Resources other than these are not allowable, and use of other
resources may result in AI proceedings.

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 16


Introduction Expectations Academic Integrity Resources Projects Summary References

Example Problematic Resources


Examples of resources that may land you in hot water:
Stack Overflow
GitHub
Geeks for Geeks
Chegg
Course Hero
ChatGPT
Your work from previous semesters

This is not an exhaustive list!

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 17


Introduction Expectations Academic Integrity Resources Projects Summary References

Asking is Always OK

It is always OK to ask whether a resource is allowable.

It is always OK to ask course staff for assistance.

When in doubt, ask.

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 18


Introduction Expectations Academic Integrity Resources Projects Summary References

Programming Projects

A significant portion of your course grade will be projects.

They are individual projects.


Projects must be implemented in Go.
You will receive detailed specifications.
You will have to do your own testing.

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 19


Introduction Expectations Academic Integrity Resources Projects Summary References

Programming Background

You will write thousands of lines of Go for this course.

If you are not a programmer, you will do poorly.

If you are not prepared for this, resign early.


(Make room for someone else!)

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 20


Introduction Expectations Academic Integrity Resources Projects Summary References

Git and GitHub Classroom

We will use Git, GitHub, and GitHub Classroom.

You must have (or create!) a GitHub account.

You are expected to use git and GitHub for development.

We will only look at your code on GitHub for assistance.

Git help: Git book � , tutorial � , Google �

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 21


Introduction Expectations Academic Integrity Resources Projects Summary References

Project Assistance

Your TAs will be your primary source of project help.

To get the most out of your TAs, do:


try the obvious things first,
create minimal examples to show problems, and
consult the documentation.

To avoid wasting TA time and failing to get help, don’t:


ask for help before you’ve tried to understand the problem
start at the last minute.

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 22


Introduction Expectations Academic Integrity Resources Projects Summary References

Project Submission
We will submit using Autograder.

Submission rules:
Submitted w/in 24 hours of the deadline: -20%
Doesn’t count Saturday or Sunday
Doesn’t count University holidays
Projects submitted after 24 hours will not be accepted

Example 1: Project is due Friday at 11:59 PM, turned in Monday


at 3 PM — 20% penalty.

Example 2: Project is due Monday at 11:59 PM, turned in


Wednesday at 12:15 AM — not accepted.
© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 23
Introduction Expectations Academic Integrity Resources Projects Summary References

Today’s Assignments

As soon as possible:
Read the syllabus [1]
Watch the AI video on Panopto (via UBlearns)

By Friday, February 12:


Complete the AI quiz on UBlearns
Complete Programming Assignment 0 and turn it in
Make sure to work on it before add-drop!

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 24


Introduction Expectations Academic Integrity Resources Projects Summary References

Next Time …

Some background on:


Internet architecture
Network communication

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 25


Introduction Expectations Academic Integrity Resources Projects Summary References

References I
Required Readings
[1] Ethan Blanton. CSE 486/586 Syllabus. Jan. 2023.
[2] Department of Computer Science and Engineering Academic
Integrity Policy. https://engineering.buffalo.edu/computer-
science-engineering/information-for-students/graduate-
program/cse-graduate-academic-policies/cse-academic-
integrity-policy.html.
[3] Ethan’s Academic Integrity Policy. https:
//cse.buffalo.edu/~eblanton/policy/academic_integrity/.

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 26


Introduction Expectations Academic Integrity Resources Projects Summary References

References II
[7] Ajay D. Kshemkalyani and Mukesh Singhal. Distributed
Computing: Principles, Algorithms, and Systems. Cambridge
University Press, 2008. ISBN: 978-0-521-18984-2.
[10] University at Buffalo Academic Integrity Policy.
https://catalog.buffalo.edu/policies/integrity.html.
Optional Readings
[4] Albert Greenberg. Microsoft introduces steps to improve
internet routing security.
https://azure.microsoft.com/en-us/blog/microsoft-
introduces-steps-to-improve-internet-routing-security/.
Dec. 2020.

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 27


Introduction Expectations Academic Integrity Resources Projects Summary References

References III
[5] Suman Karumuri et al. “Cloud Observability: A MELTing Pot for
Petabytes of Heterogeneous Time Series”. In: 11th Annual
Conference on Innovative Data Systems Research. Jan. 2021.
URL:
http://cidrdb.org/cidr2021/papers/cidr2021_abstract08.pdf.
[6] Andy Klein. Backblaze Drive Stats Q3 2022.
https://www.backblaze.com/blog/backblaze-drive-stats-for-
q3-2022/. Nov. 2022.

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 28


Introduction Expectations Academic Integrity Resources Projects Summary References

References IV
[8] Fred Lin, Harish Dattatraya Dixit, and Sriram Sankar. How
Facebook keeps its large-scale infrastructure hardware up and
running. https://engineering.fb.com/2020/12/09/data-
center-engineering/how-facebook-keeps-its-large-scale-
infrastructure-hardware-up-and-running/. Dec. 2020.
[9] Yuan Mei et al. “Turbine: Facebook’s Service Management
Platform for Stream Processing”. In: IEEE International
Conference on Data Engineering. Apr. 2020.
[11] YouTube for Press, viewed 2021-01-18.
https://blog.youtube/press/.

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 29


Introduction Expectations Academic Integrity Resources Projects Summary References

Copyright 2021, 2023 Ethan Blanton, All Rights Reserved.

Reproduction of this material without written consent of the


author is prohibited.

To retrieve a copy of this material, or related materials, see


https://www.cse.buffalo.edu/~eblanton/.

© 2023 Ethan Blanton / CSE 486/586: Distributed Systems 30

You might also like