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

Beyond Reactive - QoS & Adaptive Control for Software

5648ef74e40ec5c26fd0b33f2f961038?s=47 Autoletics
November 10, 2015

Beyond Reactive - QoS & Adaptive Control for Software

Slides from a µCon 2015 (London) talk that explores various approaches to service request level resource management starting with basic back pressure and moving on to advance reservation based quality of service (QoS) and adaptive control execution (ACE) valves.

https://vimeo.com/145635786

5648ef74e40ec5c26fd0b33f2f961038?s=128

Autoletics

November 10, 2015
Tweet

Transcript

  1. William louth autoletics.com beyond reactive

  2. pp.pppp Profile Protect Police Prioritize Predict Provision

  3. Act agent agency scene purpose attitude LIFE is drama

  4. action mapping RPC/IPC JVM agent process thread activity port/PIPE method

    action call/IO REQUESt/input call parameters
  5. life is flow

  6. flow mapping go akka JVM open flow agent goroutine thread

    actor thread flow connection activity channel buffer behavior mailbox port queue action send message send message forward packet
  7. flow lines

  8. flow lines

  9. flow paths

  10. flow boundaries

  11. shared paths

  12. concurrent flows

  13. flow control controlled not managed delay delay

  14. flow control entry point call site exit point exec site

    exec site exec site entry point exec site exec site
  15. flow control agent/thread activity/method action/call policy activity/method action/call classification policy

    classification policy control control control
  16. network mapping network application packet call flow thread router method

    datalink port callsite buffer resource queue semaphore
  17. probes open api

  18. control mapping process probes open api policing QoS agent thread

    context flow activity method name classify action call probe control
  19. control passing public int func(...) { ..... ...... ........ .........

    ......... ...... ........ ... ..... ... ... } probe policy control classification probe open api thread begin end
  20. probes open api probes open api begin end probes runtime

    control extension no augmentation begin end begin end performance management performance monitoring performance instrumentation actions/methods agents/threads
  21. qos for apps service probe resource resource service probe resource

    pool pool pool reservation control reservation protocol probe classification method metering thread thread
  22. qos protocol pool fifo queue rate limit adaptive valve priority

    queue barrier latch lanes reserve release enter/begin exit/end
  23. qos resource controls Thread Service reserve release Reservations Thread Service

    reserve release Reservations lanes lanes latch priority queue priority queue rate limiting rate limiting adaptive valve adaptive valve barrier latch barrier fifo queue fifo queue Local Resource Pool Global Resource Pool
  24. qos pool api implemented by all resource controls

  25. qos for apps some examples demo time

  26. qos example

  27. qos capacity s1 cpu 3 s2 io 1 s1 s2

    probe service resource pool
  28. qos redefine capacity s1 cpu 4 s2 cpu 1 s1

    s2 probe service resource pool
  29. qos min s1 cpu 4 s2 cpu s1 s2 probe

    service resource pool >= 2
  30. qos priority s1 cpu 2 s2 s1 s2 probe service

    resource pool level=1 control priority level=7
  31. qos rate limiting s1 cpu 6 s2 s1 s2 probe

    service resource pool cpu cpu rate rate resource global limit=200 limit=75 rate control
  32. qos reserve s1 cpu 4 s2 s1 s2 probe service

    resource pool cpu 2 reserve
  33. qos barrier s1 cpu 2 s2 cpu s1 s2 probe

    service resource pool barrier control
  34. qos lanes s1 cpu 6 s2 s1 s2 probe service

    resource pool lanes small reservation=1 reservation=2 large 2
  35. adaptive control uncontrolled controlled threads threads throughput throughput

  36. adaptive valve threads timeline throughput

  37. adapting adaptation turtles all the way down

  38. devops engineering + = Adaptive Control Qos for apps Metering

    Application Container Runtime Application Self Managed Runtime Development Operations DevOps Software Execution Model System Execution Model System Dynamics Managed
  39. @autoletics follow