aurora-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ben Mahler" <>
Subject Re: Review Request 33689: Updated scheduler to process status updates asynchronously in batches.
Date Thu, 07 May 2015 00:27:07 GMT

This is an automatically generated e-mail. To reply, visit:

(Updated May 7, 2015, 12:27 a.m.)

Review request for Aurora, Maxim Khutornenko and Bill Farner.


Fixed a style regression.

Bugs: AURORA-1228

Repository: aurora


Now the processing of status updates is done asynchronously with batching to insulate throughput
from the expensive storage resource. Updates are placed into a queue and consumed by another
thread. If many updates arrive while we're storing a batch of updates, these will be processed
together in batch rather than individually.

Diffs (updated)

  src/jmh/java/org/apache/aurora/benchmark/ 7bb64dd913f0fe2fede95d50a061043dbb794ab4

  src/jmh/java/org/apache/aurora/benchmark/fakes/ 45de15a57baf7a2f7d437b590935714e28777f35

  src/main/java/org/apache/aurora/scheduler/ d3ac176e9402a33fd2074b0737313458120da9e2

  src/main/java/org/apache/aurora/scheduler/ 0ce9c9d4cf75f9add260f285115b1d60786ded57

  src/main/java/org/apache/aurora/scheduler/async/ 4d589a33a2933b0cb6caf85abfae45c5e635c3ce

  src/main/java/org/apache/aurora/scheduler/mesos/ c7e45a89ceaa2c310feb610091eec0b04187860e

  src/main/java/org/apache/aurora/scheduler/mesos/ 9b8ab7c1027731f9d3f6cae77b85272ea63354d4

  src/main/java/org/apache/aurora/scheduler/mesos/ da2d5df2e053e6e1b8fb08d6813dff9eac9777f8

  src/test/java/org/apache/aurora/scheduler/ 32432322753799562d671db39c0d7fa308d962ff

  src/test/java/org/apache/aurora/scheduler/async/ 422d5a9a42310979752eb7282658316c2b772419

  src/test/java/org/apache/aurora/scheduler/mesos/ abdeee49858fc439c27911c4eb544bf8e8c931d4



Ran the benchmark to confirm that this improves status update throughput substantially:

Before: Around 100 updates per second for a 5ms storage latency. Much worse for higher latencies.
After:  Around 4k-5k updates per second for a 5ms storage latency, down to 3k updates per
second for 100ms storage latency.

Updated unit tests for the new invariants:

* TaskLaunchers are responsible for acknowledging updates.
* UserTaskLauncher processes updates asynchronously.


Ben Mahler

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message