Changeset: 18d0f88695a4 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=18d0f88695a4
Modified Files:
        MonetDB/src/gdk/gdk.mx
        MonetDB/src/gdk/gdk_utils.mx
        MonetDB4/tests/Availability/Tests/00_Mserver.stable.out
        MonetDB4/tests/Availability/Tests/00_Mserver.stable.out.STATIC
        MonetDB4/tests/Availability/Tests/00_Mserver.stable.out.Windows
        
MonetDB4/tests/BugTracker/Tests/project_on_BAT_with_batFirst.SF-2020806.stable.out
        MonetDB4/tests/suite_08/Tests/test_01.stable.out
        MonetDB5/conf/monetdb5.conf.5
        MonetDB5/src/mal/mal.mx
        MonetDB5/src/modules/mal/mdb.mx
        MonetDB5/src/optimizer/opt_mitosis.mx
        MonetDB5/src/tools/Tests/mserver5--help.stable.err
        MonetDB5/src/tools/mserver5.mx
        
sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.err
        
sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.out
        
sql/src/test/BugTracker/Tests/cardinality_violation.SF-1240701.stable.err
        testing/src/Mtest.py.in
Branch: Oct2010
Log Message:

replace config variable "gdk_testing" by debug bit 29 (536870912) nick-named 
"forcemito"

Like with the config variable "gdk_testing"
as introduced by Sjoerd in changset fa142513c49c
http://dev.monetdb.org/hg/MonetDB/rev/fa142513c49c
the purpose of the "forcemito" debug/testing switch
is to forcefully activate mitosis even on small tables,
i.e., split small tables in as many (tiny) pieces
as there are cores (threads) available.
This allows us to test mitosis functionality
without requiring large data sets ---
at the expense of a potentially significant interpretation
overhead for unnecessary (then) large plans.

Hence, the default behavior of MonetDB is the one
that is considered most suitable for "production"
environments, i.e., mitosis splits tables into
pieces only when the size of the tables suggests
that the performance benefits of parallel execution
outweighs the extra interpretation overhead for
larger plans.

To enforce mitosis also on small tables (for testing
the mitosis functionality), one needs to explicitly
call mserver5 with option "--forcemito" or
set debug bit 29 (e.g., via "--debug=536870912").

Mtest.py does automatically use "--forcemito"
for testing convenience.


diffs (258 lines):

diff -r f04657d95045 -r 18d0f88695a4 MonetDB/src/gdk/gdk.mx
--- a/MonetDB/src/gdk/gdk.mx    Thu Oct 07 16:46:35 2010 +0200
+++ b/MonetDB/src/gdk/gdk.mx    Thu Oct 07 18:08:40 2010 +0200
@@ -2709,6 +2709,9 @@
 #define EXTENDMASK     (1<<28)
 #define EXTENDDEBUG    if (GDKdebug & EXTENDMASK)
 
+#define FORCEMITOMASK  (1<<29)
+#define FORCEMITODEBUG if (GDKdebug & FORCEMITOMASK)
+
 gdk_export int GDKnrofthreads;
 gdk_export int GDKembedded;
 gdk_export int GDKprotected;
diff -r f04657d95045 -r 18d0f88695a4 MonetDB/src/gdk/gdk_utils.mx
--- a/MonetDB/src/gdk/gdk_utils.mx      Thu Oct 07 16:46:35 2010 +0200
+++ b/MonetDB/src/gdk/gdk_utils.mx      Thu Oct 07 18:08:40 2010 +0200
@@ -1667,7 +1667,6 @@
        GDKnr_threads = GDKgetenv_int("gdk_nr_threads", 0);
        if (GDKnr_threads == 0)
                GDKnr_threads = MT_check_nr_cores();
-       GDK_testing = GDKgetenv_istrue("gdk_testing");
 #ifdef NATIVE_WIN32
        if (GDKnr_threads)
                GDK_mmap_minsize /= GDKnr_threads;
@@ -1693,16 +1692,10 @@
 @h
 gdk_export int GDKstopped;
 gdk_export int GDKnr_threads;
-gdk_export int GDK_testing; /* used to switch on/off code for testing purposes 
*/
 
 @c
 int GDKstopped = 1;
 int GDKnr_threads = 0;
-/* GDK_testing is used to switch code on/off that is meant to be used
-   during testing only (an example is splitting small tables in the
-   mitosis optimizer to test mitosis/mergetable).  The value is set on
-   the command line using --set gdk_testing=true by Mtest.py. */
-int GDK_testing = 0;
 
 @h
 gdk_export void GDKexit(int status);
diff -r f04657d95045 -r 18d0f88695a4 
MonetDB4/tests/Availability/Tests/00_Mserver.stable.out
--- a/MonetDB4/tests/Availability/Tests/00_Mserver.stable.out   Thu Oct 07 
16:46:35 2010 +0200
+++ b/MonetDB4/tests/Availability/Tests/00_Mserver.stable.out   Thu Oct 07 
18:08:40 2010 +0200
@@ -81,7 +81,7 @@
 [ "MODULES",             "str",  "str",  48,     0,      "clean",        
"load", "pers", 0,      2               ]
 [ "adm_atomtbl",         "str",  "int",  15,     0,      "dirty",        
"load", "tran", 1,      1               ]
 [ "adm_fcntbl",                  "str",  "oid",  1036,   0,      "dirty",      
  "load", "tran", 1,      1               ]
-[ "monet_environment",   "str",  "str",  43,     0,      "dirty",        
"load", "tran", 1,      1               ]
+[ "monet_environment",   "str",  "str",  42,     0,      "dirty",        
"load", "tran", 1,      1               ]
 [ "monet_fcn_aut",       "oid",  "str",  965,    0,      "dirty",        
"load", "tran", 1,      2               ]
 [ "monet_fcn_cnt",       "oid",  "int",  1036,   0,      "dirty",        
"load", "tran", 1,      2               ]
 [ "monet_fcn_dat",       "oid",  "str",  965,    0,      "dirty",        
"load", "tran", 1,      2               ]
diff -r f04657d95045 -r 18d0f88695a4 
MonetDB4/tests/Availability/Tests/00_Mserver.stable.out.STATIC
--- a/MonetDB4/tests/Availability/Tests/00_Mserver.stable.out.STATIC    Thu Oct 
07 16:46:35 2010 +0200
+++ b/MonetDB4/tests/Availability/Tests/00_Mserver.stable.out.STATIC    Thu Oct 
07 18:08:40 2010 +0200
@@ -75,7 +75,7 @@
 [ "MODULES",             "str",  "str",  46,     0,      "clean",        
"load", "pers", 0,      2               ]
 [ "adm_atomtbl",         "str",  "int",  15,     0,      "dirty",        
"load", "tran", 1,      1               ]
 [ "adm_fcntbl",                  "str",  "oid",  1036,   0,      "dirty",      
  "load", "tran", 1,      1               ]
-[ "monet_environment",   "str",  "str",  43,     0,      "dirty",        
"load", "tran", 1,      1               ]
+[ "monet_environment",   "str",  "str",  42,     0,      "dirty",        
"load", "tran", 1,      1               ]
 [ "monet_fcn_aut",       "oid",  "str",  965,    0,      "dirty",        
"load", "tran", 1,      2               ]
 [ "monet_fcn_cnt",       "oid",  "int",  1036,   0,      "dirty",        
"load", "tran", 1,      2               ]
 [ "monet_fcn_dat",       "oid",  "str",  965,    0,      "dirty",        
"load", "tran", 1,      2               ]
diff -r f04657d95045 -r 18d0f88695a4 
MonetDB4/tests/Availability/Tests/00_Mserver.stable.out.Windows
--- a/MonetDB4/tests/Availability/Tests/00_Mserver.stable.out.Windows   Thu Oct 
07 16:46:35 2010 +0200
+++ b/MonetDB4/tests/Availability/Tests/00_Mserver.stable.out.Windows   Thu Oct 
07 18:08:40 2010 +0200
@@ -76,7 +76,7 @@
 [ "MODULES",             "str",  "str",  47,     0,      "clean",        
"load", "pers", 0,      2               ]
 [ "adm_atomtbl",         "str",  "int",  15,     0,      "dirty",        
"load", "tran", 1,      1               ]
 [ "adm_fcntbl",                  "str",  "oid",  1036,   0,      "dirty",      
  "load", "tran", 1,      1               ]
-[ "monet_environment",   "str",  "str",  43,     0,      "dirty",        
"load", "tran", 1,      1               ]
+[ "monet_environment",   "str",  "str",  42,     0,      "dirty",        
"load", "tran", 1,      1               ]
 [ "monet_fcn_aut",       "oid",  "str",  965,    0,      "dirty",        
"load", "tran", 1,      2               ]
 [ "monet_fcn_cnt",       "oid",  "int",  1036,   0,      "dirty",        
"load", "tran", 1,      2               ]
 [ "monet_fcn_dat",       "oid",  "str",  965,    0,      "dirty",        
"load", "tran", 1,      2               ]
diff -r f04657d95045 -r 18d0f88695a4 
MonetDB4/tests/BugTracker/Tests/project_on_BAT_with_batFirst.SF-2020806.stable.out
--- 
a/MonetDB4/tests/BugTracker/Tests/project_on_BAT_with_batFirst.SF-2020806.stable.out
        Thu Oct 07 16:46:35 2010 +0200
+++ 
b/MonetDB4/tests/BugTracker/Tests/project_on_BAT_with_batFirst.SF-2020806.stable.out
        Thu Oct 07 18:08:40 2010 +0200
@@ -41,7 +41,6 @@
 [ "gdk_mem_maxsize ",    1               ]
 [ "gdk_mem_pagebits",    1               ]
 [ "gdk_nr_threads",      1               ]
-[ "gdk_testing",         1       ]
 [ "gdk_version",         1               ]
 [ "gdk_vmtrim",                  1               ]
 [ "host",                1               ]
diff -r f04657d95045 -r 18d0f88695a4 
MonetDB4/tests/suite_08/Tests/test_01.stable.out
--- a/MonetDB4/tests/suite_08/Tests/test_01.stable.out  Thu Oct 07 16:46:35 
2010 +0200
+++ b/MonetDB4/tests/suite_08/Tests/test_01.stable.out  Thu Oct 07 18:08:40 
2010 +0200
@@ -284,7 +284,6 @@
 [ "xrpc_trusted",        
"http://monetdb.cwi.nl;http://127.0.0.1;http://localhost;/ufs/manegold/_/scratch0/Monet/Testing/Stable/prefix.--enable-strict_--disable-debug_--enable-optimize_--enable-assert/share/MonetDB/xrpc/export";
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                      ]
 [ "monet_cwd",           
"/net/rig.ins.cwi.nl/export/scratch0/manegold/Monet/Testing/Stable/build.--enable-strict_--disable-debug_--enable-optimize_--enable-assert/MonetDB4/mTests/tests/suite_08"
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                      ]
 [ "monet_version",       "4.28.0"                                              
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
          ]
-[ "gdk_testing",         "true"          ]
 #~EndVariableOutput~#
 
 # Pseudo bat to map thread to name
diff -r f04657d95045 -r 18d0f88695a4 MonetDB5/conf/monetdb5.conf.5
--- a/MonetDB5/conf/monetdb5.conf.5     Thu Oct 07 16:46:35 2010 +0200
+++ b/MonetDB5/conf/monetdb5.conf.5     Thu Oct 07 18:08:40 2010 +0200
@@ -90,6 +90,17 @@
                              for debugging (GDK developers, only)
   134217728 = OPTMASK      = trace the actions, decisions and
                              effects of MAL optimizers
+  536870912 = FORCEMITOMASK = forcefully activate mitosis even on
+                              small tables, i.e., split small tables
+                              in as many (tiny) pieces as there are
+                              cores (threads) available;
+                              this allows us to test mitosis
+                              functionality without requiring large
+                              data sets (--- at the expense of a
+                              potentially significant interpretation
+                              overhead for unnecessary large plans);
+                              used only for development & testing;
+                              set automatically by Mtest.py
 .EE
 Note that mserver5 recognizes a series of command line options as well:
 .EX
@@ -103,6 +114,7 @@
   --xproperties   (XPROPMASK )
   --performance   (JOINPROPMASK | DEADBEEFMASK)
   --optimizers    (OPTMASK)
+  --forcemito     (FORCEMITOMASK)
 .EE
 Default: 0
 
diff -r f04657d95045 -r 18d0f88695a4 MonetDB5/src/mal/mal.mx
--- a/MonetDB5/src/mal/mal.mx   Thu Oct 07 16:46:35 2010 +0200
+++ b/MonetDB5/src/mal/mal.mx   Thu Oct 07 18:08:40 2010 +0200
@@ -221,6 +221,7 @@
 #define GRPxproperties (XPROPMASK )
 #define GRPperformance (JOINPROPMASK | DEADBEEFMASK)
 #define GRPoptimizers  (1<<27) /* == OPTMASK; cf., MonetDB/src/gdk/gdk.mx */
+#define GRPforcemito (FORCEMITOMASK)
 @c 
 #include <mal_config.h>
 #include <mal.h>
diff -r f04657d95045 -r 18d0f88695a4 MonetDB5/src/modules/mal/mdb.mx
--- a/MonetDB5/src/modules/mal/mdb.mx   Thu Oct 07 16:46:35 2010 +0200
+++ b/MonetDB5/src/modules/mal/mdb.mx   Thu Oct 07 18:08:40 2010 +0200
@@ -433,6 +433,8 @@
                GDKdebug |= GRPperformance;
        if( strcmp("xproperties",*flg)==0)
                GDKdebug |= GRPxproperties;
+       if( strcmp("forcemito",*flg)==0)
+               GDKdebug |= GRPforcemito;
     return MAL_SUCCEED;
 }
 
diff -r f04657d95045 -r 18d0f88695a4 MonetDB5/src/optimizer/opt_mitosis.mx
--- a/MonetDB5/src/optimizer/opt_mitosis.mx     Thu Oct 07 16:46:35 2010 +0200
+++ b/MonetDB5/src/optimizer/opt_mitosis.mx     Thu Oct 07 18:08:40 2010 +0200
@@ -146,8 +146,9 @@
                r= (BUN) (monet_memory /typewidth/GDKnr_threads); /* how much 
fits  */
                if (rowcnt > r )
                        pieces = (int) (rowcnt /r+1);
-               if (GDK_testing && pieces < GDKnr_threads )
-                       pieces = GDKnr_threads;  /* split up anyway when 
testing */
+               FORCEMITODEBUG
+                       if (pieces < GDKnr_threads )
+                               pieces = GDKnr_threads; /* split up anyway when 
testing */
                if (pieces > MAXSLICES)
                        pieces = MAXSLICES; /* cut off potential plan explosion 
*/
 
diff -r f04657d95045 -r 18d0f88695a4 
MonetDB5/src/tools/Tests/mserver5--help.stable.err
--- a/MonetDB5/src/tools/Tests/mserver5--help.stable.err        Thu Oct 07 
16:46:35 2010 +0200
+++ b/MonetDB5/src/tools/Tests/mserver5--help.stable.err        Thu Oct 07 
18:08:40 2010 +0200
@@ -32,6 +32,7 @@
      --xproperties
      --performance
      --optimizers
+     --forcemito
      --debug=<bitmask>
 
 # 10:03:11 >  
diff -r f04657d95045 -r 18d0f88695a4 MonetDB5/src/tools/mserver5.mx
--- a/MonetDB5/src/tools/mserver5.mx    Thu Oct 07 16:46:35 2010 +0200
+++ b/MonetDB5/src/tools/mserver5.mx    Thu Oct 07 18:08:40 2010 +0200
@@ -154,6 +154,7 @@
        fprintf(stderr,"     --xproperties\n");
        fprintf(stderr,"     --performance\n");
        fprintf(stderr,"     --optimizers\n");
+       fprintf(stderr,"     --forcemito\n");
        fprintf(stderr,"     --debug=<bitmask>\n");
 
        exit(0);
@@ -309,6 +310,7 @@
                {"optimizers",0,0,0},
                {"performance",0,0,0},
                {"xproperties",0,0,0},
+               {"forcemito",0,0,0},
                {0, 0, 0, 0}
        };
 
@@ -423,6 +425,10 @@
                                grpdebug |= GRPxproperties;
                                break;
                        }
+                       if (strcmp(long_options[option_index].name, 
"forcemito") == 0) {
+                               grpdebug |= GRPforcemito;
+                               break;
+                       }
                        if (strcmp(long_options[option_index].name, 
"performance") == 0) {
                                grpdebug |= GRPperformance;
                                break;
diff -r f04657d95045 -r 18d0f88695a4 
sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.err
--- 
a/sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.err
  Thu Oct 07 16:46:35 2010 +0200
+++ 
b/sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.err
  Thu Oct 07 18:08:40 2010 +0200
@@ -70,7 +70,7 @@
 
 MAPI  = mone...@ottar:39527
 QUERY = select * from env() as env where name = ( select 'prefix' from env() 
as env );
-ERROR = !SQLException:zero_or_one:cardinality violation (52>1)
+ERROR = !SQLException:zero_or_one:cardinality violation (51>1)
 
 
 # 13:22:15 >  
diff -r f04657d95045 -r 18d0f88695a4 
sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.out
--- 
a/sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.out
  Thu Oct 07 16:46:35 2010 +0200
+++ 
b/sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.out
  Thu Oct 07 18:08:40 2010 +0200
@@ -54,7 +54,6 @@
 [ "standoff_end"       ]
 [ "config"     ]
 [ "gdk_nr_threads"     ]
-[ "gdk_testing"        ]
 [ "xrpc_open"  ]
 [ "xrpc_port"  ]
 [ "mal_listing"        ]
diff -r f04657d95045 -r 18d0f88695a4 
sql/src/test/BugTracker/Tests/cardinality_violation.SF-1240701.stable.err
--- a/sql/src/test/BugTracker/Tests/cardinality_violation.SF-1240701.stable.err 
Thu Oct 07 16:46:35 2010 +0200
+++ b/sql/src/test/BugTracker/Tests/cardinality_violation.SF-1240701.stable.err 
Thu Oct 07 18:08:40 2010 +0200
@@ -82,7 +82,7 @@
 
 MAPI  = mone...@ottar:39527
 QUERY = select * from env() as env where name = ( select 'prefix' from env() 
as env );
-ERROR = !SQLException:zero_or_one:cardinality violation (52>1)
+ERROR = !SQLException:zero_or_one:cardinality violation (51>1)
 MAPI  = mone...@ottar:39527
 QUERY = select * from columns where name = (select columns.name from _tables, 
columns where _tables.id = columns.table_id);
 ERROR = !SQLException:zero_or_one:cardinality violation (288>1)
diff -r f04657d95045 -r 18d0f88695a4 testing/src/Mtest.py.in
--- a/testing/src/Mtest.py.in   Thu Oct 07 16:46:35 2010 +0200
+++ b/testing/src/Mtest.py.in   Thu Oct 07 18:08:40 2010 +0200
@@ -3481,10 +3481,10 @@
         exe = {}
         exe['Mtimeout']      = CheckExec('Mtimeout')     , 'Mtimeout -timeout 
%d ' % par['TIMEOUT']
         if par['M5']:
-            exe['Mserver']       = CheckExec('mserver5')     , '%s mserver5 
"--config=%s" --debug=%s --set gdk_nr_threads=%s --set gdk_testing=true %s %s 
%s --set mapi_open=true --set xrpc_open=true --set mapi_port=%s --set 
xrpc_port=%s --set monet_prompt= --set mal_listing=2 --trace %s' % \
+            exe['Mserver']       = CheckExec('mserver5')     , '%s mserver5 
"--config=%s" --debug=%s --set gdk_nr_threads=%s %s %s %s --set mapi_open=true 
--set xrpc_open=true --set mapi_port=%s --set xrpc_port=%s --set monet_prompt= 
--trace --forcemito --set mal_listing=2 %s' % \
                                                                (env['setDBG'], 
config, env['GDK_DEBUG'], env['GDK_NR_THREADS'], env['setMONETDB_MOD_PATH'], 
env['setGDK_DBFARM'], env['setXRPC_DOCROOT'], env['MAPIPORT'], env['XRPCPORT'], 
env['MSERVER_SET'])
         if par['M4']:
-            exe['Mserver']       = CheckExec('Mserver')      , '%s Mserver 
"--config=%s" --debug=%s --set gdk_nr_threads=%s --set gdk_testing=true %s %s 
%s --set mapi_open=true --set xrpc_open=true --set mapi_port=%s --set 
xrpc_port=%s --set monet_prompt= --trace %s' % \
+            exe['Mserver']       = CheckExec('Mserver')      , '%s Mserver 
"--config=%s" --debug=%s --set gdk_nr_threads=%s %s %s %s --set mapi_open=true 
--set xrpc_open=true --set mapi_port=%s --set xrpc_port=%s --set monet_prompt= 
--trace %s' % \
                                                                (env['setDBG'], 
config, env['GDK_DEBUG'], env['GDK_NR_THREADS'], env['setMONETDB_MOD_PATH'], 
env['setGDK_DBFARM'], env['setXRPC_DOCROOT'], env['MAPIPORT'], env['XRPCPORT'], 
env['MSERVER_SET'])
         exe['Mdiff']         = CheckExec('Mdiff')        , 'Mdiff'
         exe['python']        = CheckExec(sys.executable) , sys.executable
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to