From ab47fe019199810358d0d6dc61cd54b1262c4020 Mon Sep 17 00:00:00 2001 From: adash Date: Tue, 26 Jun 2007 03:02:50 +0000 Subject: [PATCH] Revised prefetch notes added new data structure --- Robust/src/Runtime/DSTM/docs/prefetchnotes | 27 ++++++++++++---------- Robust/src/Runtime/DSTM/interface/dstm.h | 17 ++++++++++++++ 2 files changed, 32 insertions(+), 12 deletions(-) diff --git a/Robust/src/Runtime/DSTM/docs/prefetchnotes b/Robust/src/Runtime/DSTM/docs/prefetchnotes index 06b4742d..1c90595f 100644 --- a/Robust/src/Runtime/DSTM/docs/prefetchnotes +++ b/Robust/src/Runtime/DSTM/docs/prefetchnotes @@ -13,9 +13,10 @@ x.y.r.t x[i].z ((Integer) x).z -Max no of prefetch objects = #DEFINE 20 control = 1 byte, oid = 4 bytes, new oid = 4 bytes, depth = 1/ 2 bytes, name/type = 2 bytes, offset = 2 bytes, index = 2 bytes, typecastcheck = 2 bytes, + new oid = The oid found at the Participant side that can be sent to Coordinator sending prefetch message + Assumptions =========== @@ -26,9 +27,11 @@ Assumptions Procedure: 1. Compiler identifies which oids and oids.offset field to prefetch(analysing the C code) and supplies that information to the Coordinator machine wanting to commit transaction. - Q: How does compiler convey this to a machine? -2. Machine distinguishes and classifies objects as "shared" or "unique" + Q: How does compiler convey this to a machine? (Design compiler interface) + +2. Machine distinguishes and classifies tuples as "shared" or "unique" e.g. while prefetching x.y.z and a.y.z if variable x == a then considered shared else unique + also consider the case of x.y.z and a.y.z.t where x == a ( Then prefetch only a.y.z.t) 3. If not available in local machine, look up location table and make piles to send prefetch control messages to all the Particpant machines from which prefetch is required. 4. Iteratively look up the data field of the objects at the Particpant side to find objects @@ -38,21 +41,21 @@ and supplies that information to the Coordinator machine wanting to commit trans Coordinator messages: - obj not found - +