Changeset: dc5702c65a08 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dc5702c65a08
Modified Files:
        monetdb5/mal/Tests/recycle05.mal
        monetdb5/mal/Tests/recycle06.mal
        monetdb5/mal/Tests/recycle07.mal
        monetdb5/mal/Tests/recycle08.mal
        monetdb5/mal/Tests/recycle09.mal
        monetdb5/mal/Tests/recycle12.mal
        monetdb5/mal/mal_recycle.c
        monetdb5/modules/mal/recycle.c
        monetdb5/modules/mal/recycle.mal
        monetdb5/optimizer/opt_recycler.c
Branch: default
Log Message:

Recycler dead code removal


diffs (300 lines):

diff --git a/monetdb5/mal/Tests/recycle05.mal b/monetdb5/mal/Tests/recycle05.mal
--- a/monetdb5/mal/Tests/recycle05.mal
+++ b/monetdb5/mal/Tests/recycle05.mal
@@ -30,7 +30,7 @@ function qry(low:int, hgh:int);
        s1:= algebra.select(b,low,hgh);
 end qry;
 
-recycle.setCachePolicy(10,12,0.5);
+recycle.setCachePolicy(10,12);
 optimizer.recycle.("user","qry");
 
 io.print("start");
diff --git a/monetdb5/mal/Tests/recycle06.mal b/monetdb5/mal/Tests/recycle06.mal
--- a/monetdb5/mal/Tests/recycle06.mal
+++ b/monetdb5/mal/Tests/recycle06.mal
@@ -29,7 +29,7 @@ function qry(low:int, hgh:int);
     s1:= algebra.subselect(b,x,low,hgh,true,true,false);
 end qry;
 
-recycle.setCachePolicy(9,10,0.5);
+recycle.setCachePolicy(9,10);
 optimizer.recycler("user","qry");
 
 io.print("start");
diff --git a/monetdb5/mal/Tests/recycle07.mal b/monetdb5/mal/Tests/recycle07.mal
--- a/monetdb5/mal/Tests/recycle07.mal
+++ b/monetdb5/mal/Tests/recycle07.mal
@@ -31,7 +31,7 @@ function qry(low:int, hgh:int);
     s1:= algebra.subselect(b,x,low,hgh,true,true,false);
 end qry;
 
-recycle.setCachePolicy(6,10,0.5);
+recycle.setCachePolicy(6,10);
 optimizer.recycler("user","qry");
 
 io.print("start");
diff --git a/monetdb5/mal/Tests/recycle08.mal b/monetdb5/mal/Tests/recycle08.mal
--- a/monetdb5/mal/Tests/recycle08.mal
+++ b/monetdb5/mal/Tests/recycle08.mal
@@ -31,7 +31,7 @@ function qry(low:int, hgh:int);
     s1:= algebra.subselect(b,x,low,hgh,true,true,false);
 end qry;
 
-recycle.setCachePolicy(0,8,0.5);
+recycle.setCachePolicy(0,8);
 optimizer.recycler("user","qry");
 
 io.print("start");
diff --git a/monetdb5/mal/Tests/recycle09.mal b/monetdb5/mal/Tests/recycle09.mal
--- a/monetdb5/mal/Tests/recycle09.mal
+++ b/monetdb5/mal/Tests/recycle09.mal
@@ -44,7 +44,7 @@ exit (go,i);
 end batch;
 
 recycle.setRetainPolicy(2);
-recycle.setCachePolicy(2,10,0.5);
+recycle.setCachePolicy(2,10);
 optimizer.recycler("user","qry");
 
 io.print("start");
diff --git a/monetdb5/mal/Tests/recycle12.mal b/monetdb5/mal/Tests/recycle12.mal
--- a/monetdb5/mal/Tests/recycle12.mal
+++ b/monetdb5/mal/Tests/recycle12.mal
@@ -51,7 +51,7 @@ function qry1(val:int);
     s:= algebra.subselect(b,x,val,val,true,true,false);
 end qry1;
 
-recycle.setCachePolicy(2,10,0.5);
+recycle.setCachePolicy(2,10);
 optimizer.recycler("user","qry");
 optimizer.recycler("user","qry1");
 
diff --git a/monetdb5/mal/mal_recycle.c b/monetdb5/mal/mal_recycle.c
--- a/monetdb5/mal/mal_recycle.c
+++ b/monetdb5/mal/mal_recycle.c
@@ -90,7 +90,6 @@ int recycleMaxInterest = REC_MAX_INTERES
 int reusePolicy = REUSE_COVER; 
 
 /*     evict items with smallest profit= weight * cost / lifetime adds aging 
to the benefit policy */
-int rcachePolicy = RCACHE_PROFIT;  
 
 int recycleCacheLimit=0; /* No limit by default */
 lng recycleMemory=0;   /* Units of memory permitted */
@@ -120,8 +119,6 @@ int monitorRecycler = 0;
  * The cost function is a weighted balance between cpu and
  * storage cost. Often there is a direct relationship,
  */
-double recycleAlpha = 0.5;
-str recycleLog= NULL;
 
 #define recycleCost(X) (recycleBlk->profiler[X].wbytes)
 #define recycleW(X)  ((recycleBlk->profiler[X].trace && 
(recycleBlk->profiler[X].calls >1 )) ? \
@@ -522,8 +519,8 @@ newpass:
 
 
 #ifdef _DEBUG_CACHE_
-        mnstr_printf(cntxt->fdout,"\n#RECYCLEcleanCache: policy=%d mem="LLFMT" 
usedmem="LLFMT"\n",
-                rcachePolicy,recycleMemory,recyclerMemoryUsed);
+        mnstr_printf(cntxt->fdout,"\n#RECYCLEcleanCache: policy=PROFIT 
mem="LLFMT" usedmem="LLFMT"\n",
+                recycleMemory,recyclerMemoryUsed);
                mnstr_printf(cntxt->fdout,"#Target memory "LLFMT"KB Available 
"LLFMT"KB\n", wr,memLimit-recyclerMemoryUsed);
         mnstr_printf(cntxt->fdout,"#Candidates for eviction\n#(# 
LRU\t\tTicks\tLife\tSZ\tCnt\tWgt\tBen\tProf)\n");
                for (l = 0; l < ltop; l++)
@@ -542,38 +539,28 @@ newpass:
        vtop = 0;
 
        if (!mem){       /* evict 1 entry */
-               switch(rcachePolicy){
-                       case RCACHE_PROFIT:
-                               minben = recycleProfit(lvs[0]);
-                               idx = 0;
-                               for (l = 1; l < ltop; l++){
-                                       ben = recycleProfit(lvs[l]);
-                                       if( ben < minben) {
-                                               minben = ben;
-                                               idx = l;
-                                       }
-                               }
-                               vm[vtop++] = lvs[idx];
+               minben = recycleProfit(lvs[0]);
+               idx = 0;
+               for (l = 1; l < ltop; l++){
+                       ben = recycleProfit(lvs[l]);
+                       if( ben < minben) {
+                               minben = ben;
+                               idx = l;
+                       }
                }
-       }               /* evict 1 entry */
-
-       else {  /* evict several to get enough memory */
-               switch(rcachePolicy){
-
-                       case RCACHE_PROFIT:
-                               k = 0;  /* exclude binds that don't free memory 
*/
-                               for (l = 0; l < ltop; l++)
-                                       if ( 
recycleBlk->profiler[lvs[l]].wbytes > 0 )
-                                               lvs[k++] = lvs[l];
+               vm[vtop++] = lvs[idx];
+       } else {        /* evict several to get enough memory */
+               k = 0;  /* exclude binds that don't free memory */
+               for (l = 0; l < ltop; l++)
+                       if ( recycleBlk->profiler[lvs[l]].wbytes > 0 )
+                               lvs[k++] = lvs[l];
 /*                             mnstr_printf(cntxt->fdout,"ltop %d k 
%d\n",ltop, k); */
-                               if ( k > 0 )
-                                       ltop = k;
-                               vtop = chooseVictims(cntxt,lvs, ltop, 
recyclerMemoryUsed + wr - memLimit);
-                               for (v = 0; v < vtop; v++){
-                                       vm[v] = lvs[v];
-                                       wr -= 
recycleBlk->profiler[lvs[v]].wbytes;
-                               }
-                               break;
+               if ( k > 0 )
+                       ltop = k;
+               vtop = chooseVictims(cntxt,lvs, ltop, recyclerMemoryUsed + wr - 
memLimit);
+               for (v = 0; v < vtop; v++){
+                       vm[v] = lvs[v];
+                       wr -= recycleBlk->profiler[lvs[v]].wbytes;
                }
        }
 
@@ -1872,9 +1859,8 @@ RECYCLEdump(stream *s)
     if (!recycleBlk) return;
 
     mnstr_printf(s,"#Recycler  catalog\n");
-    mnstr_printf(s,"#admission ADM_ALL time ="LLFMT" alpha= %4.3f\n", 
recycleTime, recycleAlpha);
-    mnstr_printf(s,"#reuse= %d\n", reusePolicy);
-    mnstr_printf(s,"#rcache= %d limit= %d memlimit="LLFMT"\n", rcachePolicy, 
recycleCacheLimit, recycleMemory);
+    mnstr_printf(s,"#admission ADM_ALL time ="LLFMT"\n", recycleTime);
+    mnstr_printf(s,"#rcache= PROFIT limit= %d memlimit="LLFMT"\n", 
recycleCacheLimit, recycleMemory);
     mnstr_printf(s,"#hard stmt = %d hard var = %d hard mem="LLFMT"\n",
                  HARDLIMIT_STMT, HARDLIMIT_VAR, HARDLIMIT_MEM);
 
@@ -1976,22 +1962,10 @@ str
 RECYCLErunningStat(Client cntxt, MalBlkPtr mb)
 {
     static int q=0;
-    stream *s;
     InstrPtr p;
     int potrec=0, nonbind=0, i, trans=0;
     lng reusedmem=0;
 
-    if (recycleLog == NULL)
-        s = cntxt->fdout;
-    else {
-        s = append_wastream(recycleLog);
-        if (s == NULL || mnstr_errnr(s)) {
-            if (s)
-                mnstr_destroy(s);
-            throw(MAL,"recycle", RUNTIME_FILE_NOT_FOUND ":%s", recycleLog);
-        }
-    }
-
     for(i=0; i< mb->stop; i++){
         p = mb->stmt[i];
         if ( RECYCLEinterest(p) ){
@@ -2008,30 +1982,27 @@ RECYCLErunningStat(Client cntxt, MalBlkP
         if ( recycleBlk->profiler[i].calls >1)
             reusedmem += recycleBlk->profiler[i].wbytes;
 
-    mnstr_printf(s,"%d\t %7.2f\t ", ++q, (GDKusec()-cntxt->rcc->time0)/1000.0);
+    mnstr_printf(cntxt->fdout,"%d\t %7.2f\t ", ++q, 
(GDKusec()-cntxt->rcc->time0)/1000.0);
     if ( monitorRecycler & 2) { /* Current query stat */
-        mnstr_printf(s,"%3d\t %3d\t %3d\t ", mb->stop, potrec, nonbind);
-        mnstr_printf(s,"%3d\t %3d\t ", cntxt->rcc->recycled0, 
cntxt->rcc->recycled);
-        mnstr_printf(s,"|| %3d\t %3d\t ", cntxt->rcc->RPadded0, 
cntxt->rcc->RPreset0);
-        mnstr_printf(s,"%3d\t%5.2f\t"LLFMT"\t"LLFMT"\t", 
recycleBlk?recycleBlk->stop:0, recycleTime/1000.0,recyclerMemoryUsed,reusedmem);
+        mnstr_printf(cntxt->fdout,"%3d\t %3d\t %3d\t ", mb->stop, potrec, 
nonbind);
+        mnstr_printf(cntxt->fdout,"%3d\t %3d\t ", cntxt->rcc->recycled0, 
cntxt->rcc->recycled);
+        mnstr_printf(cntxt->fdout,"|| %3d\t %3d\t ", cntxt->rcc->RPadded0, 
cntxt->rcc->RPreset0);
+        mnstr_printf(cntxt->fdout,"%3d\t%5.2f\t"LLFMT"\t"LLFMT"\t", 
recycleBlk?recycleBlk->stop:0, recycleTime/1000.0,recyclerMemoryUsed,reusedmem);
     }
 
     if ( monitorRecycler & 1) { /* RecyclerPool stat */
-        mnstr_printf(s,"| %4d\t %4d\t 
",cntxt->rcc->statements,recycleBlk?recycleBlk->stop:0);
-        mnstr_printf(s, LLFMT "\t" LLFMT "\t ", recyclerMemoryUsed, reusedmem);
+        mnstr_printf(cntxt->fdout,"| %4d\t %4d\t 
",cntxt->rcc->statements,recycleBlk?recycleBlk->stop:0);
+        mnstr_printf(cntxt->fdout, LLFMT "\t" LLFMT "\t ", recyclerMemoryUsed, 
reusedmem);
 #ifdef _DEBUG_CACHE_
-        mnstr_printf(s,"%d\t %d\t 
",cntxt->rcc->recycleRem,cntxt->rcc->recycleMiss);
+        mnstr_printf(cntxt->fdout,"%d\t %d\t 
",cntxt->rcc->recycleRem,cntxt->rcc->recycleMiss);
 #endif
     }
 
     if ( monitorRecycler & 4) { /* Data transfer stat */
-        mnstr_printf(s,"| %2d\t "LLFMT"\t ",cntxt->rcc->trans, 
cntxt->rcc->transKB);
-        mnstr_printf(s,"%2d\t "LLFMT"\t ",cntxt->rcc->recTrans, 
cntxt->rcc->recTransKB);
+        mnstr_printf(cntxt->fdout,"| %2d\t "LLFMT"\t ",cntxt->rcc->trans, 
cntxt->rcc->transKB);
+        mnstr_printf(cntxt->fdout,"%2d\t "LLFMT"\t ",cntxt->rcc->recTrans, 
cntxt->rcc->recTransKB);
     }
 
-    mnstr_printf(s,"\n");
-
-    if( s != cntxt->fdout )
-        close_stream(s);
+    mnstr_printf(cntxt->fdout,"\n");
     return MAL_SUCCEED;
 }
diff --git a/monetdb5/modules/mal/recycle.c b/monetdb5/modules/mal/recycle.c
--- a/monetdb5/modules/mal/recycle.c
+++ b/monetdb5/modules/mal/recycle.c
@@ -41,12 +41,11 @@
 str
 RECYCLEdumpWrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
-       int tp;
+       int tp=1;
 
        (void) mb;
        if (pci->argc >1)
                tp = * (int*) getArgReference(stk, pci,1);
-       else tp = 1;
 
        switch(tp){
                case 2: RECYCLEdumpRecyclerPool(cntxt->fdout);
@@ -68,12 +67,8 @@ RECYCLEsetCache(Client cntxt, MalBlkPtr 
 {
        (void) cntxt;
        (void) mb;
-       if( rcachePolicy && p->argc > 1)
-               recycleCacheLimit = * (int*) getArgReference(stk, p, 1);
-       if( rcachePolicy && p->argc > 2)
-               recycleMemory= * (int*) getArgReference(stk, p, 2);
-       if( rcachePolicy && p->argc > 3)
-               recycleAlpha = * (flt*) getArgReference(stk, p, 3);
+       recycleCacheLimit = * (int*) getArgReference(stk, p, 1);
+       recycleMemory= * (int*) getArgReference(stk, p, 2);
        return MAL_SUCCEED;
 }
 
diff --git a/monetdb5/modules/mal/recycle.mal b/monetdb5/modules/mal/recycle.mal
--- a/monetdb5/modules/mal/recycle.mal
+++ b/monetdb5/modules/mal/recycle.mal
@@ -36,9 +36,9 @@ 1: recycle table;
 2: statistics of query patterns;
 3: statistics of data transfer.";
 
-pattern setCacheProperties(cl:int,mem:int,alpha:flt):void
+pattern setCacheProperties(clines:int,memory:int):void
 address RECYCLEsetProperties
-comment "Set recycler cache policy parameters with alpha parameter"
+comment "Set recycler cache policy parameters";
 
 pattern reset(bid:bat):void
 address RECYCLEreset
diff --git a/monetdb5/optimizer/opt_recycler.c 
b/monetdb5/optimizer/opt_recycler.c
--- a/monetdb5/optimizer/opt_recycler.c
+++ b/monetdb5/optimizer/opt_recycler.c
@@ -100,10 +100,6 @@ OPTrecyclerImplementation(Client cntxt, 
                        }
                        continue;
                }
-               if ( p->token == ASSIGNsymbol){
-                       pushInstruction(mb, p);
-                       continue;
-               }
 
                /* general rule: all arguments should be constants or recycled*/
                cnt = 0;
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to