Changeset: 9c273bde3d72 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9c273bde3d72
Modified Files:
        monetdb5/extras/crackers/crackers_holistic.c
        monetdb5/extras/crackers/crackers_holistic.h
        monetdb5/extras/crackers/crackers_selectholpl_ops.mx
        monetdb5/extras/crackers/crackers_selectpl_ops.mx
Branch: holindex
Log Message:

Maintain both locking implementations for experimental analysis.


diffs (truncated from 345 to 300 lines):

diff --git a/monetdb5/extras/crackers/crackers_holistic.c 
b/monetdb5/extras/crackers/crackers_holistic.c
--- a/monetdb5/extras/crackers/crackers_holistic.c
+++ b/monetdb5/extras/crackers/crackers_holistic.c
@@ -29,7 +29,8 @@ static FrequencyNode *_InternalFrequency
 static MT_Id *idletime_thread;
 static MT_Id *cpuload_thread;
 MT_Lock frequencylock;
-MT_Lock CRKIndexLock[LOCKS];
+//MT_Lock CRKIndexLock[LOCKS];
+MT_Lock CRKIndexLock;
 pthread_rwlock_t CRKFirstPieceRWLock;
 IdleFuncPtr IdleFunc;
 
@@ -38,7 +39,7 @@ CRKinitHolistic(int *ret)
 {
        char *p = getenv("MOTIVATION_EXPERIMENT");
        int motivation_experiment=0;
-       int i=0;
+       //int i=0;
 
        if (p == NULL){
                fprintf(stderr, "Error initHolistic: environment variable is 
missing.\n");
@@ -51,8 +52,9 @@ CRKinitHolistic(int *ret)
        idletime_thread = GDKzalloc(sizeof(*idletime_thread));
        cpuload_thread = GDKzalloc(sizeof(*idletime_thread));
        MT_lock_init(&frequencylock, "FrequencyStruct");
-       for (i=0;i<LOCKS;i++)
-               MT_lock_init(&CRKIndexLock[i], "Cracker Index Lock");
+       //for (i=0;i<LOCKS;i++)
+       //      MT_lock_init(&CRKIndexLock[i], "Cracker Index Lock");
+       MT_lock_init(&CRKIndexLock, "Cracker Index Lock");
        MT_create_thread(idletime_thread,(void (*)(void *))HeartbeatCPUload, 
IdleFunc, MT_THR_JOINABLE);
        if (motivation_experiment != 0)
                MT_create_thread(cpuload_thread,(void (*)(void 
*))HeartbeatCPUload_total, NULL, MT_THR_JOINABLE);
diff --git a/monetdb5/extras/crackers/crackers_holistic.h 
b/monetdb5/extras/crackers/crackers_holistic.h
--- a/monetdb5/extras/crackers/crackers_holistic.h
+++ b/monetdb5/extras/crackers/crackers_holistic.h
@@ -39,7 +39,8 @@ typedef struct frequency{
 
 typedef  str (*IdleFuncPtr)(int *);
 crackers_export MT_Lock frequencylock;
-crackers_export MT_Lock CRKIndexLock[LOCKS];
+//crackers_export MT_Lock CRKIndexLock[LOCKS];
+crackers_export MT_Lock CRKIndexLock;
 crackers_export pthread_rwlock_t CRKFirstPieceRWLock;
 
 crackers_export FrequencyNode *getFrequencyStruct(char which);
diff --git a/monetdb5/extras/crackers/crackers_selectholpl_ops.mx 
b/monetdb5/extras/crackers/crackers_selectholpl_ops.mx
--- a/monetdb5/extras/crackers/crackers_selectholpl_ops.mx
+++ b/monetdb5/extras/crackers/crackers_selectholpl_ops.mx
@@ -203,7 +203,7 @@ CRKrandomholpl_@1(int *bid, bit *inclusi
        double wt=0, ct=0;
        int countBatElements=0;
        int L1=0; /*Number of elements that can fit into L1 cache (size: 
32KB)*/        
-       int mod_bid=0;
+       //int mod_bid=0;
        FILE *ofp;
        char *outputFilename1;
        FrequencyNode* FN;
@@ -230,9 +230,10 @@ CRKrandomholpl_@1(int *bid, bit *inclusi
                exit(1);
        }
 
-       mod_bid=ABS(*bid)%LOCKS;
+       //mod_bid=ABS(*bid)%LOCKS;
 
-       MT_lock_set(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       //MT_lock_set(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       MT_lock_set(&CRKIndexLock,"Cracker Index Lock");
 
        gettimeofday(&tv1,0); wt+=dt(tv0,tv1); tv0=tv1;
 
@@ -253,7 +254,8 @@ CRKrandomholpl_@1(int *bid, bit *inclusi
 
        idxFirst = BUNfirst(c);
 
-       MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       //MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       MT_lock_unset(&CRKIndexLock,"Cracker Index Lock");
 
        countBatElements=BATcount(b);
 
@@ -481,7 +483,8 @@ createView:
 
        if (createIndex==1)
        {
-               MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+               //MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+               MT_lock_unset(&CRKIndexLock,"Cracker Index Lock");
                createIndex=0;  
        }
 
@@ -517,7 +520,7 @@ createView:
        bit copy=TRUE;  
        int countBatElements=0;
        int L1=0; /*Number of elements that can fit into L1 cache (size: 
32KB)*/        
-       int mod_bid=0;
+       //int mod_bid=0;
        FILE *ofp;
        char *outputFilename1;
        FrequencyNode* FN;
@@ -539,9 +542,10 @@ createView:
                exit(1);
        }
 
-       mod_bid=ABS(*bid)%LOCKS;
+       //mod_bid=ABS(*bid)%LOCKS;
 
-       MT_lock_set(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       //MT_lock_set(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       MT_lock_set(&CRKIndexLock,"Cracker Index Lock");
 
        //gettimeofday(&tv1,0); wt+=dt(tv0,tv1); tv0=tv1;
 
@@ -729,7 +733,8 @@ createView:
        }
                
 
-       MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       //MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       MT_lock_unset(&CRKIndexLock,"Cracker Index Lock");
 
        //gettimeofday(&tv1,0); ct+=dt(tv0,tv1); tv0=tv1;
        
@@ -924,7 +929,8 @@ createView:
 
        if (createIndex==1)
        {
-               MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+               //MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+               MT_lock_unset(&CRKIndexLock,"Cracker Index Lock");
                createIndex=0;  
        }
 
@@ -1359,7 +1365,7 @@ CRKRangeLeftNilTree_@1(int *vid, int *bi
        struct timeval tv0, tv1;
         double wt=0, ct=0;
        int L1=0;
-       int mod_bid=0;
+       //int mod_bid=0;
        int countBatElements=0;
        FrequencyNode* FN;
        FrequencyNode *FrequencyStructA = getFrequencyStruct('A');
@@ -1382,9 +1388,10 @@ CRKRangeLeftNilTree_@1(int *vid, int *bi
 
        L1=32000/ATOMsize(TYPE_@1);
        
-       mod_bid=ABS(*bid)%LOCKS;
+       //mod_bid=ABS(*bid)%LOCKS;
 
-        MT_lock_set(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+        //MT_lock_set(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+        MT_lock_set(&CRKIndexLock,"Cracker Index Lock");
        gettimeofday(&tv1,0); wt+=dt(tv0,tv1); tv0=tv1;
 
        if (*inclusiveHgh == TRUE) HBound = FALSE;
@@ -1477,7 +1484,8 @@ CRKRangeLeftNilTree_@1(int *vid, int *bi
 
        idxFirst = BUNfirst(c);
 
-       MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       //MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       MT_lock_unset(&CRKIndexLock,"Cracker Index Lock");
 
         gettimeofday(&tv1,0); ct+=dt(tv0,tv1); tv0=tv1;
 
@@ -1564,7 +1572,8 @@ CRKRangeLeftNilTree_@1(int *vid, int *bi
 
         if (createIndex==1)
         {
-                MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+                //MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+                MT_lock_unset(&CRKIndexLock,"Cracker Index Lock");
                 createIndex=0;
         }
 
@@ -1587,7 +1596,7 @@ CRKRangeRightNilTree_@1(int *vid, int *b
         BUN idxFirst = BUN_NONE;
        int incr_pieces=0;
        int L1=0;
-       int mod_bid=0;
+       //int mod_bid=0;
        int countBatElements;
        FrequencyNode* FN;
        FrequencyNode *FrequencyStructA = getFrequencyStruct('A');
@@ -1611,9 +1620,10 @@ CRKRangeRightNilTree_@1(int *vid, int *b
 
        L1=32000/ATOMsize(TYPE_@1);
 
-       mod_bid=ABS(*bid)%LOCKS;
+       //mod_bid=ABS(*bid)%LOCKS;
 
-        MT_lock_set(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+        //MT_lock_set(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+        MT_lock_set(&CRKIndexLock,"Cracker Index Lock");
 
        m = existsCrackerIndex(*bid);
 
@@ -1695,7 +1705,8 @@ CRKRangeRightNilTree_@1(int *vid, int *b
 
        idxFirst = BUNfirst(c);
 
-       MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       //MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       MT_lock_unset(&CRKIndexLock,"Cracker Index Lock");
 
        vh = BUNlast(b)-(oid)1;
 
@@ -1778,7 +1789,8 @@ CRKRangeRightNilTree_@1(int *vid, int *b
 
         if (createIndex==1)
         {
-                MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+                //MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+                MT_lock_unset(&CRKIndexLock,"Cracker Index Lock");
                 createIndex=0;
         }
 
diff --git a/monetdb5/extras/crackers/crackers_selectpl_ops.mx 
b/monetdb5/extras/crackers/crackers_selectpl_ops.mx
--- a/monetdb5/extras/crackers/crackers_selectpl_ops.mx
+++ b/monetdb5/extras/crackers/crackers_selectpl_ops.mx
@@ -272,7 +272,8 @@ createView:
 
        if (createIndex==1)
        {
-               MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+               //MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+               MT_lock_unset(&CRKIndexLock,"Cracker Index Lock");
                createIndex=0;  
        }
 
@@ -307,7 +308,7 @@ createView:
        bit copy=TRUE;  
        FILE *ofp;
        char *outputFilename1;
-       int mod_bid=0;
+       //int mod_bid=0;
 
        //gettimeofday(&tv0,0);
 
@@ -323,9 +324,10 @@ createView:
                exit(1);
        }
        
-       mod_bid=ABS(*bid)%LOCKS;
+       //mod_bid=ABS(*bid)%LOCKS;
 
-       MT_lock_set(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       //MT_lock_set(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       MT_lock_set(&CRKIndexLock,"Cracker Index Lock");
 
        //gettimeofday(&tv1,0); wt+=dt(tv0,tv1); tv0=tv1;
 
@@ -500,7 +502,8 @@ createView:
        }
                
 
-       MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       //MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       MT_lock_unset(&CRKIndexLock,"Cracker Index Lock");
        //gettimeofday(&tv1,0); ct+=dt(tv0,tv1); tv0=tv1;
 
        retry:;
@@ -675,7 +678,8 @@ createView:
 
        if (createIndex==1)
        {
-               MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+               //MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+               MT_lock_unset(&CRKIndexLock,"Cracker Index Lock");
                createIndex=0;  
        }
 
@@ -1104,11 +1108,12 @@ CRKRangeLeftNilTree_@1(int *vid, int *bi
        struct Node *lowNode=NULL;
        pthread_rwlock_t *plock=0;
        BUN idxFirst = BUN_NONE;
-       int mod_bid=0;
+       //int mod_bid=0;
 
-       mod_bid=ABS(*bid)%LOCKS;
+       //mod_bid=ABS(*bid)%LOCKS;
 
-        MT_lock_set(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+        //MT_lock_set(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+        MT_lock_set(&CRKIndexLock,"Cracker Index Lock");
 
        if (*inclusiveHgh == TRUE) HBound = FALSE;
        else    HBound = TRUE;                          
@@ -1181,7 +1186,8 @@ CRKRangeLeftNilTree_@1(int *vid, int *bi
 
        idxFirst = BUNfirst(c);
 
-       MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       //MT_lock_unset(&CRKIndexLock[mod_bid],"Cracker Index Lock");
+       MT_lock_unset(&CRKIndexLock,"Cracker Index Lock");
 
        vl = BUNfirst(b);
 
@@ -1233,7 +1239,8 @@ CRKRangeLeftNilTree_@1(int *vid, int *bi
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to