DistOS 2023W 2023-01-11

From Soma-notes
Revision as of 23:38, 10 January 2023 by Soma (talk | contribs) (Created page with "==Group Discussion== Today we'll be discussing the challenges in building distributed applications. To this end, we will start with the following design exercise. You'll be split into small groups to discuss, and then we'll meet together to discuss what you all found. Every group should take notes so you can write up a group report afterwards. You should also appoint someone to tell the class a 2 minute (or less) highlights from your discussion. ===The Scenarios===...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Group Discussion

Today we'll be discussing the challenges in building distributed applications. To this end, we will start with the following design exercise. You'll be split into small groups to discuss, and then we'll meet together to discuss what you all found. Every group should take notes so you can write up a group report afterwards. You should also appoint someone to tell the class a 2 minute (or less) highlights from your discussion.

The Scenarios

You have 10,000 networked computers. Consider the following tasks:

  • A file server for storing lots of small files for many users
  • A file server for storing relatively few but enormous files that are accessed my many systems at the same time
  • A whole-planet weather simulation
  • A database for airline reservations
  • A social media app where individuals only communicate with a small number of friends
  • A social media app where users can subscribe to topics, groups, and individual feeds, potentially allowing for the sharing of information amongst all users at the same time.
  • (Make up your own tasks.)

At a high level, how would you architect a system to distribute these workloads over the available computers? Be sure to consider:

  • Would your architecture be robust to individual hosts crashing, being corrupted, or becoming malicious?
  • How performant is your solution? Will it scale to even more hosts?
  • Are some hosts more important than other hosts?

Note that you do not need to discuss all of the above; instead, use them as inspiration for your own discussion of distributed applications.