Q2. What are the future works mentioned in the paper "Supporting multiple data replication models in distributed transactional memory" ?
The authors used ReDstm to study how different replication models can be integrated in the implementation of distributed STMs.
Q3. What are the main purposes of the transformations applied upon C?
The transformations applied upon C aim at turning it into a subtype of the DistributedObject interface, to insert a new field fdm of type DistMetadata, and to add methods writeReplace and readResolve.
Q4. What is the effect of the bounded size of the external table?
the bounded size of the external table induces a false sharing situation where multiple memory locations share the same table entry and hence the same metadata, resulting in a many-to-one relation between memory locations and metadata.
Q5. What are the three possible options for a partially replicated linked list?
Dashed rectangles represent different groups, i.e., the data inside a rectangle is partially replicated, and circles represent the data stored in each list node.
Q6. What is the purpose of the annotation-based programming model?
Pursuing their non-intrusiveness goal, the programming model exported by ReDstm is annotation-based, so no code rewriting is required.
Q7. What is the overhead of storing metadata in a pre-allocated table?
Storing metadata in such a pre-allocated table avoids the overhead of dynamic memory allocation, but incurs in the overhead of evaluating the mapping function.
Q8. What is the pseudo-code for object serialization in partial replication scenarios?
Being that objects have to be sent through the network, they also have to be previously serialized, hence Algorithm 3 presents the pseudo-code for object serialization in partial replication scenarios.
Q9. Why does the garbage collector have to erase objects from memory?
Because the authors use weak references, when an object is no longer referenced by others in the application, the garbage collector is free to erase that object from memory, thus precluding the case in Figure 4a.
Q10. What is the problem with the distribution metadata for configuration C2?
the problem is twofold: partially replicating an integer does not reduces memory usage as the memory for the integer is still reserved (this goesfor all primitive data types in Java); and the distribution metadata for configuration C2 stores more information than the metadata used by configuration C1.
Q11. What are the limitations of the programming model?
As is, their implementation of the programming model has some limitations, namely: (1) cycles including both fully and partially replicated objects; and (2) partially replicated objects referring other partially replicated objects in a different replication group.
Q12. What is the problem with configuration C2?
With small amounts of hard data accessed, configuration C2 performs poorly, but as the authors increase that amount it starts to match configuration C1 and is even able to surpass it.