...
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 | ||
---|---|---|
| ||
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; } |
...