Changeset: e3d7fd8c7b80 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e3d7fd8c7b80
Modified Files:
monetdb5/extras/crackers/crackers_holistic.c
monetdb5/extras/crackers/crackers_selectholpl_ops.mx
monetdb5/extras/crackers/crackers_selectpl_ops.mx
monetdb5/extras/crackers/crackers_selectst_ops.mx
monetdb5/mal/mal_profiler.c
Branch: holindex
Log Message:
Use environment variables for cpu threshold, number of threads and output files.
diffs (140 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
@@ -27,7 +27,7 @@
static FrequencyNode *_InternalFrequencyStructA = NULL;
static FrequencyNode *_InternalFrequencyStructB = NULL;
static MT_Lock frequencylock;
-static MT_Id idletime_thread[1];
+static MT_Id *idletime_thread;
MT_Lock CRKIndexLock;
pthread_rwlock_t CRKFirstPieceRWLock;
@@ -38,11 +38,18 @@ IdleFuncPtr IdleFunc;
str
CRKinitHolistic(int *ret)
{
- int i;
+ int i,j;
+ char* p;
IdleFunc=&CRKrandomCrack;
+ p = getenv("HOLTHREADS");
+ if (p == NULL)
+ j = 0;
+ else
+ j = atoi(p);
+ idletime_thread = GDKzalloc(j * sizeof(*idletime_thread));
MT_lock_init(&frequencylock, "FrequencyStruct");
MT_lock_init(&CRKIndexLock, "Cracker Index Lock");
- for(i=0;i<0;i++)
+ for(i=0;i<j;i++)
MT_create_thread(&idletime_thread[i],(void (*)(void
*))HeartbeatCPUload, IdleFunc, MT_THR_JOINABLE);
*ret = 0;
return MAL_SUCCEED;
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
@@ -209,11 +209,16 @@ CRKrandomholpl_@1(int *bid, bit *inclusi
int retryIter=0;
int L1=0; /*Number of elements that can fit into L1 cache (size:
32KB)*/
FILE *ofp;
- char outputFilename1[] =
"/export/scratch2/petraki/experiments_paper1/motivation/breakdown_idle.txt";
+ char *outputFilename1;
FrequencyNode* FN;
FrequencyNode *FrequencyStructA = getFrequencyStruct('A');
gettimeofday(&tv0,0);
+ outputFilename1 = getenv("HOLOUTPUT_RANDOM");
+ if (outputFilename1 == NULL){
+ fprintf(stderr, "Error: HOLOUTPUT_RANDOM\n");
+ exit(1);
+ }
if ((bo = BATdescriptor(*bid)) != NULL)
L1=32000/ATOMsize(bo->ttype);
@@ -521,12 +526,18 @@ createView:
int countBatElements=0;
int L1=0; /*Number of elements that can fit into L1 cache (size:
32KB)*/
FILE *ofp;
- char outputFilename1[] =
"/export/scratch2/petraki/experiments_paper1/motivation/breakdown_user.txt";
+ char *outputFilename1;
FrequencyNode* FN;
FrequencyNode *FrequencyStructA = getFrequencyStruct('A');
gettimeofday(&tv0,0);
+ outputFilename1 = getenv("HOLOUTPUT_SELECT");
+ if (outputFilename1 == NULL){
+ fprintf(stderr, "Error: HOLOUTPUT_SELECT\n");
+ exit(1);
+ }
+
if ((bo = BATdescriptor(*bid)) != NULL)
L1=32000/ATOMsize(bo->ttype);
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
@@ -306,10 +306,15 @@ createView:
double wt=0, ct=0;
bit copy=TRUE;
FILE *ofp;
- char outputFilename1[] =
"/export/scratch2/petraki/experiments_paper1/thresholds/client1/waiting0/multiple_clients/breakdown_cracking.txt";
+ char *outputFilename1;
gettimeofday(&tv0,0);
+ outputFilename1 = getenv("SELECT_PL");
+ if (outputFilename1 == NULL){
+ fprintf(stderr, "Error: SELECT_PL\n");
+ exit(1);
+ }
ofp = fopen(outputFilename1,"a");
if (ofp == NULL) {
diff --git a/monetdb5/extras/crackers/crackers_selectst_ops.mx
b/monetdb5/extras/crackers/crackers_selectst_ops.mx
--- a/monetdb5/extras/crackers/crackers_selectst_ops.mx
+++ b/monetdb5/extras/crackers/crackers_selectst_ops.mx
@@ -325,10 +325,17 @@ createView:
bit copy=TRUE;
int pieces=0;
FILE *ofp;
- char outputFilename1[] =
"/export/scratch2/petraki/experiments_paper1/thresholds/client1/waiting0/multiple_clients/breakdown_stochastic.txt";
+ char* outputFilename1;
/*k and randomoid are used for DD1R*/
@1 k,temp_h;
+ outputFilename1 = getenv("STOCHASTIC_SELECT");
+ if (outputFilename1 == NULL){
+ fprintf(stderr, "Error: STOCHASTIC_SELECT\n");
+ exit(1);
+ }
+
+
ofp = fopen(outputFilename1,"a");
if (ofp == NULL) {
fprintf(stderr, "Can't open output file!\n");
diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c
--- a/monetdb5/mal/mal_profiler.c
+++ b/monetdb5/mal/mal_profiler.c
@@ -1323,10 +1323,19 @@ static int getCPULoad(char cpuload[BUFSI
void HeartbeatCPUload(str (*IdleFunc)(int *))
{
char cpuload[BUFSIZ];
+ char *p = getenv("CPULOAD_THRESHOLD");
+ int thres;
+ if (p == NULL)
+ {
+ fprintf(stderr, "Error: CPULOAD_THRESHOLD\n");
+ exit(1);
+ }
+ else
+ thres = atoi(p);
while(1)
{
(void) getCPULoad(cpuload);
- if (corestat[256].load < 80)
+ if (corestat[256].load < thres)
{
fprintf(stderr,"cpuload=%lf\n",corestat[256].load);
IdleFunc(NULL);
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list