Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Looking at Computing Systems as a Conspiracy Th...

Looking at Computing Systems as a Conspiracy Theorist

Madhav Jivrajani

August 25, 2024
Tweet

More Decks by Madhav Jivrajani

Other Decks in Science

Transcript

  1. Hold up… am I so stuck up on CS? Is

    that all my brain can relate to?
  2. Hmm, I doubt it… I can also draw clear parallels

    between physics and philosophy. Also between macroeconomics and psychology!
  3. Hold up… are the core, fundamental principles of it all

    the same? Is CS just a fancy overall for what we know, experience and live already?
  4. $ whoami • PES alum - batch of 2018-2022. •

    I help maintain a couple of open source projects like Kubernetes and etcd. • Co-chair of GopherCon - a conference for the Go programming language. • Overall systems goofball.
  5. Essentially, I am a product of my experiences because I

    take actions based on what I have experienced.
  6. ikr? • I know that there is a talk at

    HSP => • I know I have to think of a topic => • I know I have to prepare for it => • I know I have to deliver the talk …
  7. I know right? • I know that there is a

    talk at HSP => • I know I have to think of a topic => • I know I have to prepare for it => • I know I have to deliver the talk … We’ve said “know" quite a bit here, but what does that mean? What does it mean to know something or have knowledge of something?
  8. Turns out there is an entire branch of philosophy, starting

    from early Greek philosophers trying to answer this: Epistemology
  9. Reasoning About Knowledge • Reasoning about knowledge can also help

    us answer questions pertaining to CS - for ex: ◦ How does a car know when to make a turn? ◦ How do I know that I need to come and give a talk here and at this time?
  10. Reasoning About Knowledge • These are single “agent” scenarios, however

    more complex systems involve multiple “agents” (multiple nodes in a distributed system, multiple people working to make an event happen, multiple threads in a multi-threaded program). • What does knowledge mean in a group of agents?
  11. Reasoning About Knowledge “Knowledge is the dual of possibility” ~

    Reasoning About Knowledge The more knowledge I have, the more I can narrow in on what the “truth” is and the more uncertainty I can eliminate from my decisions.
  12. Reasoning About Knowledge • From all this, what do I

    “know”? ◦ I know the talk is in Bangalore ◦ I know its in PES Ecity ◦ I know its at 2pm ◦ I know its on the 4th floor, CIE
  13. Reasoning About Knowledge • The fact that it’s in PES

    Ecity is true in all the worlds I now consider possible. An agent “knows” a fact if it is true in all worlds it considers possible.
  14. Reasoning About Knowledge It isn’t just one level of knowledge…

    p = Talk @ PES Ecity, 2pm, 4th floor, CIE
  15. Reasoning About Knowledge Does HSP know that I know p

    (or do they need to reinform?) Do I know that HSP knows that I know p? (or should I ask them for the info?)
  16. Reasoning About Knowledge Does HSP know that I know p

    (or do they need to reinform?) Do I know that HSP knows that I know p? (or should I ask them for the info?) Does HSP know that I know that they know that I know?
  17. Reasoning About Knowledge K M p = Madhav knows p.

    K H p = HSP knows p. K H K M p = HSP knows that Madhav knows p. K H !K M p = HSP knows that Madhav does not know p.
  18. Reasoning About Knowledge • That’s great, but we actually need

    to have an audience to give a talk, so let’s say the agents are the audience + the speaker. • In order for people to show up, everyone needs to know p.
  19. Reasoning About Knowledge • That’s great, but we actually need

    to have an audience to give a talk, so let’s say the agents are the audience + the speaker. • In order for people to show up, everyone needs to know p. • But that’s not enough! If everyone knows p… “I know p but I don’t know if others do, so I don’t want to go to an empty event, and hence I’m not showing up”
  20. Reasoning About Knowledge In order for people to show up,

    we need the event to be common knowledge: Everyone knows that everyone knows that everyone knows that everyone knows… ad infinitum.
  21. Reasoning About Knowledge • Common knowledge is the “strongest” forms

    of knowledge in multi-agent systems. It means you are in a state of least uncertainty, which is awesome and super powerful.
  22. Reasoning About Knowledge • Common knowledge is the “strongest” forms

    of knowledge in multi-agent systems. It means you are in a state of least uncertainty, which is awesome and super powerful. • HSP actually created common knowledge by announcing the event – fact publication.
  23. Reasoning About Knowledge • Common knowledge is the “strongest” forms

    of knowledge in multi-agent systems. It means you are in a state of least uncertainty, which is awesome and super powerful. • HSP actually created common knowledge by announcing the event – fact publication. • Assuming we are all rational entities, the announcement caused everyone to know p and everyone knew that everyone knew (because of the same announcement) and that caused everyone to know that everyone knows…
  24. Reasoning About Knowledge • Conversely, it may also be possible

    that agents know parts of p and no one even has the full picture. This is distributed knowledge. • Agents can work together to fully get p – fact discovery.
  25. Reasoning About Knowledge To recap: • Fact publication: going from

    something that is not common knowledge to something that is. • Fact discovery: going from distributed knowledge to something more explicit.
  26. Knowledge In Computing Systems • Let’s say we have a

    database • And the database stores prices of items.
  27. Knowledge In Computing Systems • Let’s say we have a

    database • And the database stores prices of items. • “Give me all the items whose price is >= 40”
  28. Knowledge In Computing Systems • Let’s say we have a

    database • And the database stores prices of items. • “Give me all the items whose price is >= 40” • The “fact” here is distributed among nodes - distributed knowledge.
  29. Knowledge In Computing Systems • Let’s take another example, let’s

    say we have a replicated system. • What if an update comes in?
  30. Knowledge In Computing Systems • Let’s take another example, let’s

    say we have a replicated system. • What if an update comes in?
  31. Knowledge In Computing Systems • Let’s take another example, let’s

    say we have a replicated system. • What if an update comes in?
  32. Knowledge In Computing Systems • Let’s take another example, let’s

    say we have a replicated system. • What if an update comes in?
  33. Knowledge In Computing Systems • Let’s take another example, let’s

    say we have a replicated system. • What if an update comes in? • If all nodes were to “know” a value, they need to agree on it. • This is the problem of distributed consensus.
  34. Knowledge In Computing Systems • If one node is replicating

    values to another node, how does it know that it succeeded in doing so? • Let’s send acks! • But how does the other node know that the ack got delivered?
  35. Knowledge In Computing Systems • The “leader” knows that the

    “follower” knows that the leader knows… • Common knowledge is a prerequisite for agreement.
  36. Knowledge In Computing Systems • Turns out it is impossible

    to attain true common knowledge in a distributed system via a protocol because of our unreliable network. • It’s impossible to achieve consensus?
  37. Knowledge In Computing Systems • Turns out it is impossible

    to attain true common knowledge in a distributed system via a protocol because of our unreliable network. • It’s impossible to achieve consensus?
  38. Knowledge In Computing Systems • But… don’t we do agreement

    and consensus type stuff in real systems? • We do! “Impossible” often means “not always possible” in these scenarios.
  39. Knowledge In Computing Systems • True common knowledge is for

    simultaneous coordination. “At exactly the same instant, 2 agents have to perform some action.” • Turns out, we don’t need true common knowledge anyway :)
  40. Knowledge In Computing Systems The whole point of consensus or

    coordination protocols is to go from a state of distributed knowledge, to a stronger state of knowledge that can solve the problem we want to solve.
  41. Epistemology gives us a way to reason about what level

    of “knowledge” do our protocols need and helps us analyze if it even is possible to solve a problem with a given protocol.
  42. Local Views and Global States No node has the full

    view of the system, just its local history and information. Nodes then communicate and try building a full picture of the system by exchanging messages over the network.
  43. Local Views and Global States So what does an algorithm

    to determine global states look like?
  44. Local Views and Global States So what does an algorithm

    to determine global states look like? We should probably ask someone much smarter than me!
  45. Local Views and Global States So what does an algorithm

    to determine global states look like? We should probably ask someone much smarter than me!
  46. Local Views and Global States “The state-detection algorithm plays the

    role of a group of photographers observing a panoramic, dynamic scene, such as a sky filled with migrating birds, a scene so vast that it cannot be captured by a single photograph. The photographers must take several snapshots and piece the snapshots together to form a picture of the overall scene. The snapshots cannot all be taken at precisely the same instant because of synchronization problems. Furthermore, the photographers should not disturb the process that is being photographed; for instance, they cannot get all the birds in the heavens to remain motionless while the photographs are taken. Yet, the composite picture should be meaningful.”
  47. Local Views and Global States “The state-detection algorithm plays the

    role of a group of photographers observing a panoramic, dynamic scene, such as a sky filled with migrating birds, a scene so vast that it cannot be captured by a single photograph. The photographers must take several snapshots and piece the snapshots together to form a picture of the overall scene. The snapshots cannot all be taken at precisely the same instant because of synchronization problems. Furthermore, the photographers should not disturb the process that is being photographed; for instance, they cannot get all the birds in the heavens to remain motionless while the photographs are taken. Yet, the composite picture should be meaningful.”
  48. Local Views and Global States The snapshots cannot all be

    taken at precisely the same instant because of synchronization problems. they cannot get all the birds in the heavens to remain motionless while the photographs are taken. Yet, the composite picture should be meaningful.
  49. Local Views and Global States The snapshots cannot all be

    taken at precisely the same instant because of synchronization problems. “All replicas take a snapshot at exactly the same instant” they cannot get all the birds in the heavens to remain motionless while the photographs are taken. Yet, the composite picture should be meaningful.
  50. Local Views and Global States The snapshots cannot all be

    taken at precisely the same instant because of synchronization problems. “All replicas take a snapshot at exactly the same instant” they cannot get all the birds in the heavens to remain motionless while the photographs are taken. Yet, the composite picture should be meaningful. “If replica A talks to replica B, in the final snapshot, does it make sense if the receive event at B shows up before the send event at A? Is that meaningful?”
  51. Local Views and Global States The snapshots cannot all be

    taken at precisely the same instant because of synchronization problems. “All replicas take a snapshot at exactly the same instant” they cannot get all the birds in the heavens to remain motionless while the photographs are taken. Yet, the composite picture should be meaningful. “If replica A talks to replica B, in the final snapshot, does it make sense if the receive event at B shows up before the send event at A? Is that meaningful?”
  52. Time? • Time is such an ingrained concept, but when

    asked “what is time?” it is so hard to come up with a definition.
  53. Time? • Time is such an ingrained concept, but when

    asked “what is time?” it is so hard to come up with a definition. • Luckily, philosophers and physicists have been debating this for centuries now!
  54. Platonism/Absolutism • Absolutism tells us that irrespective of events or

    change, time “passes”. • Or in other words, time is absolute.
  55. Platonism/Absolutism • Absolutism tells us that irrespective of events or

    change, time “passes”. • Or in other words, time is absolute. Plato Newton
  56. Reductionism/Relationism • If everything, everywhere just halted, would time have

    “passed”? • Relationism tells us that time is not independent of events that occur. • If change occurs, time occurs.
  57. Reductionism/Relationism • If everything, everywhere just halted, would time have

    “passed”? • Relationism tells us that time is not independent of events that occur. • If change occurs, time occurs. Aristotle Leibniz
  58. Reductionism/Relationism • If everything, everywhere just halted, would time have

    “passed”? • Relationism tells us that time is not independent of events that occur. • If change occurs, time occurs. (Which is really interesting to think about because Aristotle was a student of Plato! Who would’ve thought you could develop opinions of your own outside of what you are taught :)) Aristotle Leibniz
  59. Reductionism/Relationism You can reduce time to temporal relations between things:

    (I think of walking) happens before/causes (my legs moving) happens before/causes (me moving in the desired direction)
  60. Reductionism/Relationism These 2 worlds are identical: At time t (I

    think of walking) happens before/causes (my legs moving) happens before/causes (me moving in the desired direction) At time t+1 (I think of walking) happens before/causes (my legs moving) happens before/causes (me moving in the desired direction)
  61. Local Views and Global States they cannot get all the

    birds in the heavens to remain motionless while the photographs are taken. Yet, the composite picture should be meaningful.
  62. Local Views and Global States they cannot get all the

    birds in the heavens to remain motionless while the photographs are taken. Yet, the composite picture should be meaningful.
  63. Local Views and Global States they cannot get all the

    birds in the heavens to remain motionless while the photographs are taken. Yet, the composite picture should be meaningful. =
  64. Local Views and Global States they cannot get all the

    birds in the heavens to remain motionless while the photographs are taken. Yet, the composite picture should be meaningful. = !=
  65. Local Views and Global States The snapshots cannot all be

    taken at precisely the same instant because of synchronization problems.
  66. Local Views and Global States The snapshots cannot all be

    taken at precisely the same instant because of synchronization problems. • If there were an absolute time, global time, each process could know when to snapshot locally. • But if processes were to tell each other to take snapshots, the time delay of that message itself is bound by the speed of light.
  67. Time…? According to Einstein’s equations for General Relativity: • Things

    evolve in times local to their “systems”. • And then these local times evolve relative to each other.
  68. Time…? According to Einstein’s equations for General Relativity: • Things

    evolve in times local to their “systems”. • And then these local times evolve relative to each other. • So if we were to try and “relate” these local times, would we get one big global order of events (something causes something else causes something else…), a global time? • If that were true, then it would mean no 2 events could ever occur in parallel!
  69. Time…? But that doesn’t seem right, in our distributed system

    we can have 2 events occurring independent of each other. Is there a dichotomy or a gap in our understanding here?
  70. Time! No dichotomy, we’re on the right track here! Turns

    out Einstein thought of it all :) • An event can only cause certain other events. Light cones and Minkowski’s Spacetime
  71. Time! Is there something in distributed systems that can capture

    the structure of time as described by Einstein? Light cones and Minkowski’s Spacetime
  72. Time! Is there something in distributed systems that can capture

    the structure of time as described by Einstein? Yes! Vector Clocks!
  73. Time! With vector clocks, we can answer the following in

    a distributed system: • Did A cause B? • Did A happen independent of B?
  74. Time! With vector clocks, we can answer the following in

    a distributed system: • Did A cause B? • Did A happen independent of B? This is super powerful for a multitude of reasons. We can not only order events across processes, but we can also reason about what caused what!
  75. Time! This is super powerful for a multitude of reasons.

    We can not only order events across processes, but we can also reason about what caused what!
  76. Time! This is super powerful for a multitude of reasons.

    We can not only order events across processes, but we can also reason about what caused what! • That sounds like something that can give us the global state of a system in a meaningful way. • [Not a condition] In other, super informal terms: if an algorithm can preserve semantics similar to what vector clocks provide, that algorithm can give us a distributed global snapshot.
  77. Time! This is super powerful for a multitude of reasons.

    We can not only order events across processes, but we can also reason about what caused what! • That sounds like something that can give us the global state of a system in a meaningful way. • [Not a condition] In other, super informal terms: if an algorithm can preserve semantics similar to what vector clocks provide, that algorithm can give us a distributed global snapshot.
  78. Time! This is super powerful for a multitude of reasons.

    We can not only order events across processes, but we can also reason about what caused what! That sounds like something that can give us the global state of a system in a meaningful way.
  79. Hold up… are the core, fundamental principles of it all

    the same? Is CS just a fancy overall for what we know, experience and live already?
  80. Perhaps it's all connected in weirdly intricate and endlessly elegant

    ways, and all it takes is our own experiences to realise that.