Versions Compared

Key

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

...

The intention of this page is to present experiments with non-CRUD data operations.

Aggregation Operation

An aggregation operations adds up the values of a number of objects. When executing such an operation in RAMCloud three questions, among others, are of interest:

1) Where to execute the aggregation operation (client or server side)?

2) How to describe the range of objects which should be included in the operation?

3) How to interpret the objects themselves?

The experiments below are centered around the question where to execute 

Code Block
titleAggregation via looking up a certain range of keys in MasterServer.cc
for(uint64_t i = 0; i < range; ++i)
   {
        LogEntryHandle handle = objectMap.lookup(tableId, i);
        const Object* obj = handle->userData<Object>();
        int *p;
        p = (int*) obj->data;
        sum += (uint64_t)*p;
   }

...