From 1669cc97078f753617f0f7150b5974432bd7eab6 Mon Sep 17 00:00:00 2001 From: bdemsky Date: Tue, 3 Aug 2010 08:22:38 +0000 Subject: [PATCH] accidental update --- .../oooJava/sor/JGFSORBenchSizeD.java | 19 +++--- .../src/Benchmarks/oooJava/sor/SORRunner.java | 3 +- Robust/src/Runtime/garbage.c | 2 +- Robust/src/Runtime/mlp_runtime.c | 58 ++++++------------- Robust/src/Runtime/mlp_runtime.h | 8 +-- 5 files changed, 30 insertions(+), 60 deletions(-) diff --git a/Robust/src/Benchmarks/oooJava/sor/JGFSORBenchSizeD.java b/Robust/src/Benchmarks/oooJava/sor/JGFSORBenchSizeD.java index 80d7605d..bd1ce691 100644 --- a/Robust/src/Benchmarks/oooJava/sor/JGFSORBenchSizeD.java +++ b/Robust/src/Benchmarks/oooJava/sor/JGFSORBenchSizeD.java @@ -23,18 +23,13 @@ public class JGFSORBenchSizeD{ public static void main(String argv[]){ int nthreads; - nthreads = 1; - int size = 3; if(argv.length != 0 ) { - size = Integer.parseInt(argv[0]); - } -// if(argv.length != 0 ) { -// nthreads = Integer.parseInt(argv[0]); -// } else { -// System.printString("The no of threads has not been specified, defaulting to 1\n"); -// System.printString(" \n"); -// nthreads = 1; -// } + nthreads = Integer.parseInt(argv[0]); + } else { + System.printString("The no of threads has not been specified, defaulting to 1\n"); + System.printString(" \n"); + nthreads = 1; + } JGFInstrumentor instr = new JGFInstrumentor(); //JGFInstrumentor.printHeader(2,0,nthreads); @@ -42,7 +37,7 @@ public class JGFSORBenchSizeD{ JGFSORBench sor; sor = new JGFSORBench(nthreads); - + int size = 3; JGFInstrumentor.addTimer("Section2:SOR:Kernel", "Iterations",size, instr.timers); sor.JGFsetsize(size); diff --git a/Robust/src/Benchmarks/oooJava/sor/SORRunner.java b/Robust/src/Benchmarks/oooJava/sor/SORRunner.java index 6891e3c7..a66568d9 100644 --- a/Robust/src/Benchmarks/oooJava/sor/SORRunner.java +++ b/Robust/src/Benchmarks/oooJava/sor/SORRunner.java @@ -19,7 +19,7 @@ * * **************************************************************************/ -class SORRunner { +class SORRunner extends Thread { int id, num_iterations; double G[][],omega; @@ -147,6 +147,5 @@ class SORRunner { } //barrier }//end of for - } //end of run() } diff --git a/Robust/src/Runtime/garbage.c b/Robust/src/Runtime/garbage.c index db7363a1..9e7b62ee 100644 --- a/Robust/src/Runtime/garbage.c +++ b/Robust/src/Runtime/garbage.c @@ -35,7 +35,7 @@ extern struct QI * tailqi; #define NUMPTRS 100 -#define INITIALHEAPSIZE 8*1024*1024*1024L +#define INITIALHEAPSIZE 256*1024*1024L #define GCPOINT(x) ((INTPTR)((x)*0.99)) /* This define takes in how full the heap is initially and returns a new heap size to use */ #define HEAPSIZE(x,y) ((INTPTR)(x+y))*2 diff --git a/Robust/src/Runtime/mlp_runtime.c b/Robust/src/Runtime/mlp_runtime.c index e106cc60..a9cdb3e0 100644 --- a/Robust/src/Runtime/mlp_runtime.c +++ b/Robust/src/Runtime/mlp_runtime.c @@ -20,33 +20,9 @@ void mlpInitOncePerThread() { */ __thread SESEcommon_p seseCaller; -__thread void * baseptr=NULL; - -__thread int spaceleft=0; - -#define MBLOCK 65536 -#define MLOW 1000 - -void * MLPMALLOC(int size) { - // printf("%d\n",size); - if (spaceleftspaceleft) { - return malloc(size); - } else { - //rount size up - size=(size+7)&~7; - char *charbase=(char *)baseptr; - baseptr=(void *)(charbase+size); - spaceleft-=size; - return charbase; - } -} void* mlpAllocSESErecord( int size ) { - void* newrec = MLPMALLOC( size ); + void* newrec = RUNMALLOC( size ); if( newrec == 0 ) { printf( "mlpAllocSESErecord did not obtain memory!\n" ); exit( -1 ); @@ -56,12 +32,12 @@ void* mlpAllocSESErecord( int size ) { void mlpFreeSESErecord( void* seseRecord ) { - // MLPFREE( seseRecord ); + RUNFREE( seseRecord ); } MemoryQueue** mlpCreateMemoryQueueArray(int numMemoryQueue){ int i; - MemoryQueue** newMemoryQueue=(MemoryQueue**)MLPMALLOC( sizeof( MemoryQueue* ) * numMemoryQueue ); + MemoryQueue** newMemoryQueue=(MemoryQueue**)RUNMALLOC( sizeof( MemoryQueue* ) * numMemoryQueue ); for(i=0; itype=type; newREntry->seseRec=seseToIssue; newREntry->pointer=dynID; - if (obj!=NULL) + if((*newREntry->pointer)!=0){// make sure it is not unresolved address. + struct ___Object___ * obj=(struct ___Object___*)((unsigned INTPTR)*newREntry->pointer); newREntry->oid=obj->oid; - + } return newREntry; } REntry* mlpCreateREntry(int type, void* seseToIssue){ - REntry* newREntry=(REntry*)MLPMALLOC(sizeof(REntry)); + REntry* newREntry=(REntry*)RUNMALLOC(sizeof(REntry)); newREntry->type=type; newREntry->seseRec=seseToIssue; return newREntry; @@ -186,10 +162,10 @@ int generateKey(unsigned int data){ Hashtable* createHashtable(){ int i=0; - Hashtable* newTable=(Hashtable*)MLPMALLOC(sizeof(Hashtable)); + Hashtable* newTable=(Hashtable*)RUNMALLOC(sizeof(Hashtable)); newTable->item.type=HASHTABLE; for(i=0;iarray[i]=(BinElement*)MLPMALLOC(sizeof(BinElement)); + newTable->array[i]=(BinElement*)RUNMALLOC(sizeof(BinElement)); newTable->array[i]->head=NULL; newTable->array[i]->tail=NULL; } @@ -198,34 +174,34 @@ Hashtable* createHashtable(){ } WriteBinItem* createWriteBinItem(){ - WriteBinItem* binitem=(WriteBinItem*)MLPMALLOC(sizeof(WriteBinItem)); + WriteBinItem* binitem=(WriteBinItem*)RUNMALLOC(sizeof(WriteBinItem)); binitem->item.type=WRITEBIN; return binitem; } ReadBinItem* createReadBinItem(){ - ReadBinItem* binitem=(ReadBinItem*)MLPMALLOC(sizeof(ReadBinItem)); + ReadBinItem* binitem=(ReadBinItem*)RUNMALLOC(sizeof(ReadBinItem)); binitem->index=0; binitem->item.type=READBIN; return binitem; } Vector* createVector(){ - Vector* vector=(Vector*)MLPMALLOC(sizeof(Vector)); + Vector* vector=(Vector*)RUNMALLOC(sizeof(Vector)); vector->index=0; vector->item.type=VECTOR; return vector; } SCC* createSCC(){ - SCC* scc=(SCC*)MLPMALLOC(sizeof(SCC)); + SCC* scc=(SCC*)RUNMALLOC(sizeof(SCC)); scc->item.type=SINGLEITEM; return scc; } MemoryQueue* createMemoryQueue(){ - MemoryQueue* queue = (MemoryQueue*)MLPMALLOC(sizeof(MemoryQueue)); - MemoryQueueItem* dummy=(MemoryQueueItem*)MLPMALLOC(sizeof(MemoryQueueItem)); + MemoryQueue* queue = (MemoryQueue*)RUNMALLOC(sizeof(MemoryQueue)); + MemoryQueueItem* dummy=(MemoryQueueItem*)RUNMALLOC(sizeof(MemoryQueueItem)); dummy->type=3; // dummy type dummy->total=0; dummy->status=READY; diff --git a/Robust/src/Runtime/mlp_runtime.h b/Robust/src/Runtime/mlp_runtime.h index 0cf680e3..148f8594 100644 --- a/Robust/src/Runtime/mlp_runtime.h +++ b/Robust/src/Runtime/mlp_runtime.h @@ -15,8 +15,8 @@ #define TRUE 1 #endif -#define NUMBINS 512 -#define NUMREAD 16 +#define NUMBINS 64 +#define NUMREAD 64 #define NUMITEMS 64 #define NUMRENTRY 256 @@ -49,15 +49,15 @@ #endif typedef struct REntry_t{ + int type; // fine read:0, fine write:1, parent read:2, parent write:3 coarse: 4, parent coarse:5, scc: 6 struct Hashtable_t* hashtable; struct BinItem_t* binitem; struct Vector_t* vector; struct SCC_t* scc; struct MemoryQueue_t* queue; + psemaphore parentStallSem; void* seseRec; INTPTR* pointer; - psemaphore parentStallSem; - int type; // fine read:0, fine write:1, parent read:2, parent write:3 coarse: 4, parent coarse:5, scc: 6 int oid; int isBufMode; } REntry; -- 2.34.1