1 of 11

Section 5: Lab 3

CSE 452 Winter 2025

2 of 11

Announcements

  • Pset 3 due Tuesday 2/5
  • Pset 4 due Monday 2/10
  • Lab 3 Design Doc due Monday 2/10
    • No early deadline
  • Review syllabus for late day policy
    • 48 hr grace period for lab
    • 48 hr grace period for Pset
    • NO grace period for design doc
  • Review all comments on design doc => page through even if full credit

3 of 11

Design Doc Group Share

  • Form a group of 2-3 people, pair up with someone other than your partner
  • Go over each section of the design doc
  • Share and discuss the differences and similarities

4 of 11

Lab 3 Questions to Consider- Phase 1

Phase 1

  • What state do you keep to indicate whether or not you are the leader?
  • How do you know you are the leader?

1a

  • At what point do Paxos servers know to start looking for heartbeat messages?
  • When do you ignore p1a's? When do you act on them? Can you act on them while in phase 2?

1b

  • Is it possible to receive 1b messages with a ballot larger than your current ballot? Why or why not?
  • When do you ignore p1b's? When do you act on them?
  • Are you merging logs "on the fly" or keeping track of logs till you see a majority? Or something else? Justify your design decision.
  • When does the leader stop merging logs?
  • What data structure are you using to record p1b's? When does this data structure get initialized/cleared?

5 of 11

Phase 1

  • What state do you keep to indicate whether or not you are the leader?
  • How do you know you are the leader?

1a

  • At what point do Paxos servers know to start looking for heartbeat messages?
  • When do you ignore p1a's? When do you act on them? Can you act on them while in phase 2?

1b

  • Is it possible to receive 1b messages with a ballot larger than your current ballot? Why or why not?
  • When do you ignore p1b's? When do you act on them?
  • Are you merging logs "on the fly" or keeping track of logs till you see a majority? Or something else? Justify your design decision.
  • When does the leader stop merging logs?
  • What data structure are you using to record p1b's? When does this data structure get initialized/cleared?

Phase 2

  • When do you know the leader is dead?

2a

  • How do you handle 2a's with larger ballot numbers than your ballot number?
  • What causes 2a requests to be sent?

2b

  • What data structure are you using to keep track of 2b responses?
  • How do you know when to progress slot out?

“Phase 3” (Log propagation and Garbage Collection)

  • Does phase 3 happen concurrently with phase 2?
  • What messages are you "piggybacking" to share log decisions and garbage collection information?

6 of 11

Phase 1

  • What state do you keep to indicate whether or not you are the leader?
  • How do you know you are the leader?

1a

  • At what point do Paxos servers know to start looking for heartbeat messages?
  • When do you ignore p1a's? When do you act on them? Can you act on them while in phase 2?

1b

  • Is it possible to receive 1b messages with a ballot larger than your current ballot? Why or why not?
  • When do you ignore p1b's? When do you act on them?
  • Are you merging logs "on the fly" or keeping track of logs till you see a majority? Or something else? Justify your design decision.
  • When does the leader stop merging logs?
  • What data structure are you using to record p1b's? When does this data structure get initialized/cleared?

Phase 2

  • When do you know the leader is dead?

2a

  • How do you handle 2a's with larger ballot numbers than your ballot number?
  • What causes 2a requests to be sent?

2b

  • What data structure are you using to keep track of 2b responses?
  • How do you know when to progress slot out?

“Phase 3” (Log propagation and Garbage Collection)

  • Does phase 3 happen concurrently with phase 2?
  • What messages are you "piggybacking" to share log decisions and garbage collection information?

7 of 11

Lab 3 Questions to Consider- Phase 2

Phase 2

  • When do you know the leader is dead?

2a

  • How do you handle 2a's with larger ballot numbers than your ballot number?
  • What causes 2a requests to be sent?

2b

  • What data structure are you using to keep track of 2b responses?
  • How do you know when to progress slot out?

“Phase 3” (Log propagation and Garbage Collection)

  • Does phase 3 happen concurrently with phase 2?
  • What messages are you "piggybacking" to share log decisions and garbage collection information?

8 of 11

Some memes to remind you that your struggle was also experienced by students in previous quarters

9 of 11

New meme proposals

10 of 11

We are accepting more memes, plz & tks

11 of 11