distributed systems class 1
play

Distributed Systems: Class 1 Aurojit Panda Please interrupt Please - PowerPoint PPT Presentation

Distributed Systems: Class 1 Aurojit Panda Please interrupt Please interrupt When things seem unclear or we are going too fast. Administrivia Initial Bits If enrolled, you should have Piazza access. Come up if you do not. Waitlist:


  1. Final Project • You need to work on a substantial project in this class. • If you are already involved in a research project... • ... it is fine to figure out a way to use it in this class. • If not, that is fine too.

  2. Final Project • You need to work on a substantial project in this class. • If you are already involved in a research project... • ... it is fine to figure out a way to use it in this class. • If not, that is fine too. • Not looking for a research project alone.

  3. Final Project • You need to work on a substantial project in this class. • If you are already involved in a research project... • ... it is fine to figure out a way to use it in this class. • If not, that is fine too. • Not looking for a research project alone. • Can also implement an existing paper.

  4. Final Project • You need to work on a substantial project in this class. • If you are already involved in a research project... • ... it is fine to figure out a way to use it in this class. • If not, that is fine too. • Not looking for a research project alone. • Can also implement an existing paper. • Extend an existing project (e.g., an open source project).

  5. Final Project • You need to work on a substantial project in this class. • If you are already involved in a research project... • ... it is fine to figure out a way to use it in this class. • If not, that is fine too. • Not looking for a research project alone. • Can also implement an existing paper. • Extend an existing project (e.g., an open source project). • Extend one of the previous labs.

  6. Final Project • The project should not be an impediment to taking this class.

  7. Final Project • The project should not be an impediment to taking this class. • Aim is to provide a way for students to get their hands dirty.

  8. Final Project • The project should not be an impediment to taking this class. • Aim is to provide a way for students to get their hands dirty. • If the project worries you come talk to me we will find something for you to do.

  9. Providing Feedback • This is my first time doing teaching a class without training wheels.

  10. Providing Feedback • This is my first time doing teaching a class without training wheels. • Unlikely that no one will be unhappy throughout the semester.

  11. Providing Feedback • This is my first time doing teaching a class without training wheels. • Unlikely that no one will be unhappy throughout the semester. • If you are unhappy you can try and fix things:

  12. Providing Feedback • This is my first time doing teaching a class without training wheels. • Unlikely that no one will be unhappy throughout the semester. • If you are unhappy you can try and fix things: • Complain in office hours, or over e-mail.

  13. Providing Feedback • This is my first time doing teaching a class without training wheels. • Unlikely that no one will be unhappy throughout the semester. • If you are unhappy you can try and fix things: • Complain in office hours, or over e-mail. • Google form linked in course policy for anonymous complaints.

  14. Providing Feedback • This is my first time doing teaching a class without training wheels. • Unlikely that no one will be unhappy throughout the semester. • If you are unhappy you can try and fix things: • Complain in office hours, or over e-mail. • Google form linked in course policy for anonymous complaints. • Promise to listen to all complaints, not necessarily act on them.

  15. One last bit of Administrivia...

  16. Academic Honesty • Sadly this needs to be said.

  17. Academic Honesty • Sadly this needs to be said. • Please don't plagiarize (projects, quizzes, whatever), and please cite your sources

  18. Academic Honesty • Sadly this needs to be said. • Please don't plagiarize (projects, quizzes, whatever), and please cite your sources • First time teaching, first semester at NYU.

  19. Academic Honesty • Sadly this needs to be said. • Please don't plagiarize (projects, quizzes, whatever), and please cite your sources • First time teaching, first semester at NYU. • Really think highly of everyone here, don't shatter my illusion.

  20. Academic Honesty • Sadly this needs to be said. • Please don't plagiarize (projects, quizzes, whatever), and please cite your sources • First time teaching, first semester at NYU. • Really think highly of everyone here, don't shatter my illusion. • If you need help, need better grades for some reason ... come see me.

  21. Academic Honesty • Sadly this needs to be said. • Please don't plagiarize (projects, quizzes, whatever), and please cite your sources • First time teaching, first semester at NYU. • Really think highly of everyone here, don't shatter my illusion. • If you need help, need better grades for some reason ... come see me. • We can figure out a way to fix this sort of thing.

  22. Academic Honesty • Sadly this needs to be said. • Please don't plagiarize (projects, quizzes, whatever), and please cite your sources • First time teaching, first semester at NYU. • Really think highly of everyone here, don't shatter my illusion. • If you need help, need better grades for some reason ... come see me. • We can figure out a way to fix this sort of thing. • If you get caught, I will use every instrument at my disposal.

  23. Distributed Systems

  24. What is a distributed system?

  25. Main Characteristics (for us) • Comprised of several processes, each running on its own "computer" • For the purposes of this class node. • Time for processes to communicate is significant compared to an instruction. • Partial failures : some processes can fail while others remain alive. • In contrast to traditional programs where everything fails or nothing does.

  26. Assumptions: Message Passing • Only considering message passing. • Processes communicate by sending each other messages. Process 0 Process 1 • Other models (shared memory) can be shown to be equivalent.

  27. Assumptions: Message Passing • Only considering message passing. • Processes communicate by sending each other messages. Ping Process 0 Process 1 • Other models (shared memory) can be shown to be equivalent.

  28. Assumptions: Message Passing • Only considering message passing. • Processes communicate by sending each other messages. Ping Process 0 Process 1 Pong • Other models (shared memory) can be shown to be equivalent.

  29. Assumptions: Async Network • Asynchronous Network : Messages from different processes can be reordered. P2 P1 P0 Time

  30. Assumptions: Async Network • Asynchronous Network : Messages from different processes can be reordered. P2 P1 P0 Time

  31. Assumptions: Async Network • Asynchronous Network : Messages from different processes can be reordered. P2 P1 P0 Time

  32. Assumptions: Async Network • Asynchronous Network : Messages from different processes can be reordered. P2 P1 P0 Time

  33. Assumptions: Async Network • Asynchronous Network : Messages from different processes can be reordered. P2 P1 P0 Time

  34. Assumptions: Async Network • Asynchronous Network : Messages from different processes can be reordered. P2 P1 P0 Time

  35. Assumptions: Async Network • Asynchronous Network : Messages can be arbitrarily delayed. P2 P1 P0 Time

  36. Assumptions: Async Network • Asynchronous Network : Messages can be lost. P2 P1 P0 Time

  37. Assumptions: Fail Stop • Fail Stop: Failed processes do not send messages. Process 0 Process 1

  38. Assumptions: Fail Stop • Fail Stop: Failed processes do not send messages. Process 0 Process 1

  39. Assumptions: Fail Stop • Fail Stop: Failed processes do not send messages. Ping Process 0 Process 1

  40. Why distributed system?

  41. Three Main Reasons

  42. Three Main Reasons • Fault tolerance

  43. Three Main Reasons • Fault tolerance • Survive some forms of failures or bug.

  44. Three Main Reasons • Fault tolerance • Survive some forms of failures or bug. • Scalability

  45. Three Main Reasons • Fault tolerance • Survive some forms of failures or bug. • Scalability • Use more resources than a single computer can provide.

  46. Three Main Reasons • Fault tolerance • Survive some forms of failures or bug. • Scalability • Use more resources than a single computer can provide. • Geographic Reach

  47. Three Main Reasons • Fault tolerance • Survive some forms of failures or bug. • Scalability • Use more resources than a single computer can provide. • Geographic Reach • Work even when information is spread across large distances.

  48. How to reason about distributed systems?

Recommend


More recommend