Changeset: b7e083153c81 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b7e083153c81
Modified Files:
        monetdb5/scheduler/mut_stopRuns.c
        monetdb5/scheduler/run_multicore.c
Branch: mutation
Log Message:

more slabs added in the threshold calculation for convergence


diffs (58 lines):

diff --git a/monetdb5/scheduler/mut_stopRuns.c 
b/monetdb5/scheduler/mut_stopRuns.c
--- a/monetdb5/scheduler/mut_stopRuns.c
+++ b/monetdb5/scheduler/mut_stopRuns.c
@@ -100,7 +100,7 @@ checkRateOfFall(Client cntxt, Mutant mut
                mutant->credit = mutant->next->credit;
        }
        // once the threshold of number of logical cores passed, and global 
minimum presence is located change the rate of debit based on different 
thresholds
-       if(mutant->currentRun > NUM_OF_CORES *2)
+/*     if(mutant->currentRun > NUM_OF_CORES *2)
        {
                if(mutant->globalMinRun <= NUM_OF_CORES *2)     
                        mutant->debit = mutant->debit + 0.25;
@@ -112,6 +112,23 @@ checkRateOfFall(Client cntxt, Mutant mut
                        mutant->debit = mutant->debit + 0.75;
        
        }       
+*/
+       if(mutant->currentRun > NUM_OF_CORES )
+       {
+               if(mutant->globalMinRun <= NUM_OF_CORES )       
+                       mutant->debit = mutant->debit + 0.25;
+
+               else if(mutant->globalMinRun > NUM_OF_CORES && 
mutant->globalMinRun <= (NUM_OF_CORES *2))
+                       mutant->debit = mutant->debit + 0.5;
+
+               else if(mutant->globalMinRun > (NUM_OF_CORES *2) && 
mutant->globalMinRun <= (NUM_OF_CORES *2)*2)
+                       mutant->debit = mutant->debit + 0.75;
+       
+               else if(mutant->globalMinRun > ((NUM_OF_CORES *2)*2) && 
mutant->globalMinRun < (NUM_OF_CORES *2)*4)
+                       mutant->debit = mutant->debit + 1.0;
+       
+       }       
+
 
        DEBUG_MULTICORE_STOP_RUN
                mnstr_printf(cntxt->fdout,"#Run- %d Credit- %f Debit- %f 
rateOfImprove- %f", mutant->currentRun, mutant->credit, mutant->debit, 
rateOfImprove);
diff --git a/monetdb5/scheduler/run_multicore.c 
b/monetdb5/scheduler/run_multicore.c
--- a/monetdb5/scheduler/run_multicore.c
+++ b/monetdb5/scheduler/run_multicore.c
@@ -108,8 +108,8 @@ RUNmulticore(Client cntxt, MalBlkPtr mb,
                mutant->totalQueryTime = GDKusec() - clkInit;
 
                // This function should not fail, since 0th run should always 
guarantee presence of at least one mutant in the chain
+               err = checkGlobalMin(mutant);   
                err = checkRateOfFall(cntxt, mutant);
-               err = checkGlobalMin(mutant);   
        
                (void)err;              
                *ret = 0;
@@ -118,7 +118,7 @@ RUNmulticore(Client cntxt, MalBlkPtr mb,
        {
                // return the global minimum time of execution
                mnstr_printf(GDKstdout, "\n Global minimum is %ld, Global 
min-run %d",(long) ((Mutant)mb->mutants)->globalMinExec, 
((Mutant)mb->mutants)->globalMinRun);
-               exit(1);
+               mal_exit();
                return NULL;
 
        }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to