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

Pioneering Real-Time

Pioneering Real-Time

My keynote from PyCon Balkan 2019

Andrew Godwin

October 03, 2019
Tweet

More Decks by Andrew Godwin

Other Decks in Programming

Transcript

  1. “A system in which input data is processed within milliseconds

    so that it is available virtually immediately
  2. Program 2 Program 3 Program 1 300 cycles Restore Save

    Restore Save Restore Save 30 cycles 30 cycles 300 cycles 30 cycles 30 cycles 300 cycles 30 cycles 30 cycles
  3. Active Threads Idle Threads Runtime 1 0 1.3 seconds 1

    1 2.3 seconds 1 5 5.4 seconds 1 30 39 seconds 1 100 15 minutes
  4. “ Don Eyles ...when the guidance system was first being

    conceived, the onboard software was almost an afterthought
  5. Job Priorities Higher numbers beat lower Limited job "RAM" Only

    7 running at once Interrupts from hardware Descent radar, keyboard, etc.
  6. Descent Phase: 85% load Capsule orientation and thrust calculations Hardware

    Bug: 13% Caused by the descent radar Display Routine: 5% Astronauts trying to see how far to go
  7. Apollo 9 First flight test of Lunar Module Apollo 10

    Second test and partial descent of Lunar Module Apollo 11 First Moon landing
  8. “ Eugene A. Cernan, recounting Apollo 10 Don't give those

    guys an opportunity to land, 'cause they might!
  9. We often only design for the good cases After all,

    that's what we're expecting to happen
  10. “ Don Eyles When Hal Laning designed the Executive and

    Waitlist system, he made it up from whole cloth with no examples to guide him. The design [...] still represents the state of the art.