changeset 69:11bfe9d136ed

removed warnings
author Merten Sach <msach@mailbox.tu-berlin.de>
date Wed, 11 May 2011 16:13:24 +0200
parents 9c3107044f86
children f9b60012fd74 5ff1631c26ed
files CoreLoop.c MasterLoop.c VMS.c VMS.h VMS__DESIGN_NOTES.txt
diffstat 5 files changed, 101 insertions(+), 19 deletions(-) [+]
line diff
     1.1 --- a/CoreLoop.c	Sat Nov 20 08:19:05 2010 +0100
     1.2 +++ b/CoreLoop.c	Wed May 11 16:13:24 2011 +0200
     1.3 @@ -8,7 +8,6 @@
     1.4  #include "VMS.h"
     1.5  #include "Queue_impl/BlockingQueue.h"
     1.6  
     1.7 -#include <stdio.h>
     1.8  #include <stdlib.h>
     1.9  #include <time.h>
    1.10  
    1.11 @@ -50,7 +49,7 @@
    1.12     gate.preGateProgress = 0;
    1.13     gate.waitProgress    = 0;
    1.14     gate.exitProgress    = 0;
    1.15 -   _VMSMasterEnv->workStealingGates[ thisCoresIdx ] = &gate;//race @startup
    1.16 +   _VMSMasterEnv->workStealingGates[ thisCoresIdx ] = (GateStruc*)&gate;//race @startup
    1.17  
    1.18        //wait until signalled that setup is complete
    1.19     pthread_mutex_lock(   &suspendLock );
     2.1 --- a/MasterLoop.c	Sat Nov 20 08:19:05 2010 +0100
     2.2 +++ b/MasterLoop.c	Wed May 11 16:13:24 2011 +0200
     2.3 @@ -87,7 +87,7 @@
     2.4     volatile        VirtProcr *volatileMasterPr;
     2.5     
     2.6     volatileMasterPr = animatingPr;
     2.7 -   masterPr         = volatileMasterPr; //used to force re-define after jmp
     2.8 +   masterPr         = (VirtProcr*)volatileMasterPr; //used to force re-define after jmp
     2.9  
    2.10        //First animation of each MasterVP will in turn animate this part
    2.11        // of setup code.. (VP creator sets up the stack as if this function
    2.12 @@ -114,10 +114,10 @@
    2.13     #endif
    2.14     //========================================================================
    2.15  
    2.16 -   masterEnv        = _VMSMasterEnv;
    2.17 +   masterEnv        = (MasterEnv*)_VMSMasterEnv;
    2.18     
    2.19        //GCC may optimize so doesn't always re-define from frame-storage
    2.20 -   masterPr         = volatileMasterPr;  //just to make sure after jmp
    2.21 +   masterPr         = (VirtProcr*)volatileMasterPr;  //just to make sure after jmp
    2.22     thisCoresIdx     = masterPr->coreAnimatedBy;
    2.23     readyToAnimateQ  = masterEnv->readyToAnimateQs[thisCoresIdx];
    2.24     schedSlots       = masterEnv->allSchedSlots[thisCoresIdx];
     3.1 --- a/VMS.c	Sat Nov 20 08:19:05 2010 +0100
     3.2 +++ b/VMS.c	Wed May 11 16:13:24 2011 +0200
     3.3 @@ -118,7 +118,7 @@
     3.4     //========================================================================
     3.5  
     3.6     //===================== Only VMS__malloc after this ====================
     3.7 -   masterEnv     = _VMSMasterEnv;
     3.8 +   masterEnv     = (MasterEnv*)_VMSMasterEnv;
     3.9     
    3.10        //Make a readyToAnimateQ for each core loop
    3.11     readyToAnimateQs = VMS__malloc( NUM_CORES * sizeof(VMSQueueStruc *) );
    3.12 @@ -153,7 +153,7 @@
    3.13     //============================= MEASUREMENT STUFF ========================
    3.14     #ifdef STATS__TURN_ON_PROBES
    3.15     _VMSMasterEnv->dynIntervalProbesInfo =
    3.16 -              makePrivDynArrayOfSize( &(_VMSMasterEnv->intervalProbes), 200);
    3.17 +              makePrivDynArrayOfSize( (void***)&(_VMSMasterEnv->intervalProbes), 200);
    3.18  
    3.19     _VMSMasterEnv->probeNameHashTbl = makeHashTable( 1000, &VMS__free );
    3.20     
    3.21 @@ -767,7 +767,7 @@
    3.22     SchedSlot     ***allSchedSlots; //ptr to array of ptrs
    3.23  
    3.24        //Before getting rid of everything, print out any measurements made
    3.25 -   forAllInDynArrayDo( _VMSMasterEnv->measHistsInfo, &printHist );
    3.26 +   forAllInDynArrayDo( _VMSMasterEnv->measHistsInfo, (DynArrayFnPtr)&printHist );
    3.27     //forAllInDynArrayDo( _VMSMasterEnv->measHistsInfo, &freeHistExt );
    3.28     #ifdef MEAS__TIME_PLUGIN
    3.29     printHist( _VMSMasterEnv->reqHdlrLowTimeHist );
    3.30 @@ -849,7 +849,7 @@
    3.31  void
    3.32  VMS__throw_exception( char *msgStr, VirtProcr *reqstPr, VMSExcp *excpData )
    3.33   {
    3.34 -   printf(msgStr);
    3.35 +   printf("%s",msgStr);
    3.36     fflush(stdin);
    3.37     exit(1);
    3.38   }
     4.1 --- a/VMS.h	Sat Nov 20 08:19:05 2010 +0100
     4.2 +++ b/VMS.h	Wed May 11 16:13:24 2011 +0200
     4.3 @@ -17,6 +17,7 @@
     4.4  #include "Hash_impl/PrivateHash.h"
     4.5  #include "vmalloc.h"
     4.6  
     4.7 +//#include <stdio.h>
     4.8  #include <pthread.h>
     4.9  #include <sys/time.h>
    4.10  
    4.11 @@ -50,7 +51,7 @@
    4.12  #define DEBUG2( bool, msg, p1, p2) \
    4.13  //   if(bool) {printf(msg, p1, p2); fflush(stdin);}
    4.14  
    4.15 -#define ERROR(msg) printf(msg); fflush(stdin);
    4.16 +#define ERROR(msg) printf(msg); //fflush(stdin);
    4.17  #define ERROR1(msg, param) printf(msg, param); fflush(stdin);
    4.18  #define ERROR2(msg, p1, p2) printf(msg, p1, p2); fflush(stdin);
    4.19  
    4.20 @@ -76,7 +77,7 @@
    4.21  //=========================  Hardware related Constants =====================
    4.22     //This value is the number of hardware threads in the shared memory
    4.23     // machine
    4.24 -#define NUM_CORES        4
    4.25 +#define NUM_CORES        8
    4.26  
    4.27     // tradeoff amortizing master fixed overhead vs imbalance potential
    4.28     // when work-stealing, can make bigger, at risk of losing cache affinity
    4.29 @@ -401,21 +402,46 @@
    4.30  
    4.31  
    4.32  #define MEAS__SUB_CREATE  /*turn on/off subtraction of create from plugin*/
    4.33 +
    4.34 +//VPThread
    4.35  #define createHistIdx      1
    4.36  #define mutexLockHistIdx   2
    4.37  #define mutexUnlockHistIdx 3
    4.38  #define condWaitHistIdx    4
    4.39  #define condSignalHistIdx  5
    4.40  
    4.41 +//VCilk
    4.42 +#define spawnHistIdx      1
    4.43 +#define syncHistIdx       2
    4.44 +
    4.45 +//SSR
    4.46 +#define SendFromToHistIdx      1
    4.47 +#define SendOfTypeHistIdx      2
    4.48 +#define ReceiveFromToHistIdx   3
    4.49 +#define ReceiveOfTypeHistIdx   4
    4.50 +
    4.51  
    4.52  #define MakeTheMeasHists \
    4.53     _VMSMasterEnv->measHistsInfo = \
    4.54 -              makePrivDynArrayOfSize( &(_VMSMasterEnv->measHists), 200);\
    4.55 -   makeAMeasHist( createHistIdx,      "Create",        50, 0, 200 ) \
    4.56 -   makeAMeasHist( mutexLockHistIdx,   "mutex lock",    50, 0, 100 ) \
    4.57 -   makeAMeasHist( mutexUnlockHistIdx, "mutex unlock",  50, 0, 100 ) \
    4.58 -   makeAMeasHist( condWaitHistIdx,    "cond wait",     50, 0, 100 ) \
    4.59 -   makeAMeasHist( condSignalHistIdx,  "cond signal",   50, 0, 100 )
    4.60 +              makePrivDynArrayOfSize( (void***)&(_VMSMasterEnv->measHists), 200);\
    4.61 +   makeAMeasHist( spawnHistIdx,      "Spawn",        50, 0, 200 ) \
    4.62 +   makeAMeasHist( syncHistIdx,       "Sync",         50, 0, 200 )
    4.63 +
    4.64 +//   makeAMeasHist( createHistIdx,      "Create",        50, 0, 100 ) \
    4.65 +//   makeAMeasHist( mutexLockHistIdx,   "mutex lock",    50, 0, 100 ) \
    4.66 +//   makeAMeasHist( mutexUnlockHistIdx, "mutex unlock",  50, 0, 100 ) \
    4.67 +//   makeAMeasHist( condWaitHistIdx,    "cond wait",     50, 0, 100 ) \
    4.68 +//   makeAMeasHist( condSignalHistIdx,  "cond signal",   50, 0, 100 )
    4.69 +
    4.70 +//   makeAMeasHist( SendFromToHistIdx,   "SendFromTo",    50, 0, 100 ) \
    4.71 +//   makeAMeasHist( SendOfTypeHistIdx,   "SendOfType",    50, 0, 100 ) \
    4.72 +//   makeAMeasHist( ReceiveFromToHistIdx,"ReceiveFromTo", 50, 0, 100 ) \
    4.73 +//   makeAMeasHist( ReceiveOfTypeHistIdx,"ReceiveOfType", 50, 0, 100 )
    4.74 +
    4.75 +
    4.76 +//===========================================================================
    4.77 +//VPThread
    4.78 +
    4.79  
    4.80  #define Meas_startCreate \
    4.81      int32 startStamp, endStamp; \
    4.82 @@ -462,6 +488,63 @@
    4.83      addIntervalToHist( startStamp, endStamp, \
    4.84                               _VMSMasterEnv->measHists[ condSignalHistIdx ] );
    4.85  
    4.86 +//===========================================================================
    4.87 +// VCilk
    4.88 +#define Meas_startSpawn \
    4.89 +    int32 startStamp, endStamp; \
    4.90 +    saveLowTimeStampCountInto( startStamp ); \
    4.91 +
    4.92 +#define Meas_endSpawn \
    4.93 +    saveLowTimeStampCountInto( endStamp ); \
    4.94 +    addIntervalToHist( startStamp, endStamp, \
    4.95 +                             _VMSMasterEnv->measHists[ spawnHistIdx ] );
    4.96 +
    4.97 +#define Meas_startSync \
    4.98 +    int32 startStamp, endStamp; \
    4.99 +    saveLowTimeStampCountInto( startStamp ); \
   4.100 +
   4.101 +#define Meas_endSync \
   4.102 +    saveLowTimeStampCountInto( endStamp ); \
   4.103 +    addIntervalToHist( startStamp, endStamp, \
   4.104 +                             _VMSMasterEnv->measHists[ syncHistIdx ] );
   4.105 +
   4.106 +//===========================================================================
   4.107 +// SSR
   4.108 +#define Meas_startSendFromTo \
   4.109 +    int32 startStamp, endStamp; \
   4.110 +    saveLowTimeStampCountInto( startStamp ); \
   4.111 +
   4.112 +#define Meas_endSendFromTo \
   4.113 +    saveLowTimeStampCountInto( endStamp ); \
   4.114 +    addIntervalToHist( startStamp, endStamp, \
   4.115 +                             _VMSMasterEnv->measHists[ SendFromToHistIdx ] );
   4.116 +
   4.117 +#define Meas_startSendOfType \
   4.118 +    int32 startStamp, endStamp; \
   4.119 +    saveLowTimeStampCountInto( startStamp ); \
   4.120 +
   4.121 +#define Meas_endSendOfType \
   4.122 +    saveLowTimeStampCountInto( endStamp ); \
   4.123 +    addIntervalToHist( startStamp, endStamp, \
   4.124 +                             _VMSMasterEnv->measHists[ SendOfTypeHistIdx ] );
   4.125 +
   4.126 +#define Meas_startReceiveFromTo \
   4.127 +    int32 startStamp, endStamp; \
   4.128 +    saveLowTimeStampCountInto( startStamp ); \
   4.129 +
   4.130 +#define Meas_endReceiveFromTo \
   4.131 +    saveLowTimeStampCountInto( endStamp ); \
   4.132 +    addIntervalToHist( startStamp, endStamp, \
   4.133 +                             _VMSMasterEnv->measHists[ ReceiveFromToHistIdx ] );
   4.134 +
   4.135 +#define Meas_startReceiveOfType \
   4.136 +    int32 startStamp, endStamp; \
   4.137 +    saveLowTimeStampCountInto( startStamp ); \
   4.138 +
   4.139 +#define Meas_endReceiveOfType \
   4.140 +    saveLowTimeStampCountInto( endStamp ); \
   4.141 +    addIntervalToHist( startStamp, endStamp, \
   4.142 +                             _VMSMasterEnv->measHists[ReceiveOfTypeHistIdx ] );
   4.143  
   4.144  //=====
   4.145  
     5.1 --- a/VMS__DESIGN_NOTES.txt	Sat Nov 20 08:19:05 2010 +0100
     5.2 +++ b/VMS__DESIGN_NOTES.txt	Wed May 11 16:13:24 2011 +0200
     5.3 @@ -1,2 +1,2 @@
     5.4 -
     5.5 -Implement VMS this way:
     5.6 +
     5.7 
     5.8 +Implement VMS this way:
     5.9