Update of /cvsroot/monetdb/MonetDB5/src/optimizer
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv15441

Modified Files:
        opt_recycler.mx opt_support.mx 
Log Message:
Documentation of the recycler


Index: opt_recycler.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/optimizer/opt_recycler.mx,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- opt_recycler.mx     6 Mar 2008 20:26:44 -0000       1.5
+++ opt_recycler.mx     8 Mar 2008 18:21:46 -0000       1.6
@@ -16,7 +16,45 @@
 
 @f opt_recycler
 @- The recycler
-The recycler optimizer marks the variables subject to recycling control.
+Query optimization and processing in off-the-shelf database systems is often
+still focussed on individual queries. The queries are analysed in isolation
+and ran against a kernel regardless opportunities offered by concurrent or
+previous invocations.
+
+This approach is far from optimal and two directions to improve
+are explored: materialized views and (partial) result-set reuse.
+Materialized views are derived from query logs. They represent
+common sub-queries, whose materialization improves
+subsequent processing times.
+Re-use of (partial) results is used in those cases where a
+zooming-in or navigational application is at stake.
+
+The Recycler optimizer and module extends this with a middle out approach.
+They exploits the materialize-all-intermediate approach of MonetDB
+by deciding to keep a hold on them as long as deemed benificial.
+
+The approach taken is to mark the variables in a MAL program
+using the recycler optimizer call, such that their result is retained
+in a global recycle cache hardwired in the MAL interpreter.
+Instructions become subject to the Recycler if
+at least one of its arguments is a BAT and all others are
+either constants or variables already known in the Recycler.
+
+Upon execution, the recycler is called from the innerloop
+of the MAL interpreter to first check for
+an up-to-date result to be picked up at no cost.
+Otherwise, it evaluates the instruction and calls upon
+policy functions to decide if it is worthwhile to keep.
+
+The Recycler comes with a few policy controlling operators
+to experiment with its effect in concrete settings.
+The retain policy controls when to keep results around,o
+the reuse policy looks after exact duplicate instructions
+or uses semantic knowledge on MAL instructions to detect
+potential reuse gain (e.g. reuse select results).
+And finally, the cache policy looks after the storage space for the 
+intermediate result pool.
+The details are described in the recycle module @ref{}.
 @{
 @mal
 pattern optimizer.recycle():str

Index: opt_support.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/optimizer/opt_support.mx,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -d -r1.62 -r1.63
--- opt_support.mx      6 Mar 2008 12:31:45 -0000       1.62
+++ opt_support.mx      8 Mar 2008 18:21:46 -0000       1.63
@@ -1050,6 +1050,7 @@
 * Peephole Optimization::
 * Query Plans::
 * Range Propagation::
+* Recycler::
 * Remote Queries::
 * Singleton Sets ::
 * Stack Reduction::


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-checkins

Reply via email to