Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • By executing the aggregation on the server-side a performance improvement up to a factor 50 can be seen.
  • When traversing a set of distinct objects, retrieving a single object takes about 7-8?s (or a RAMCloud client can request about 130.000 objects/sec from a single RAMCloud server).
  • When invoking the hashTable forEach method the whole allocated memory for the hashtable has to be traversed. This is fine if the hashtable is densely packed with objects. In case of a sparse population with objects this introduces a penalty.
  • When traversing large amounts of objects the forEach method is 1.6-1.8x faster that looking up each individual object.

#number of objects

client-side aggregation

server-side aggregation
  via hash table lookup

server-side aggregation
 via hash table forEach

server-side aggregation
  via Log traversal

10.000

63 ms

2 ms

238 ms

6 ms

100.000

648 ms

23 ms

251 ms

9 ms

1.000.000

6485 ms

233 ms

369 ms

21 ms

10.000.000

64258 ms

2662 ms

1444 ms

142 ms

100.000.000

652201 ms

30049 ms

18752 ms

1422 ms

...