On Fri, Jan 02, 2009 at 04:28:31PM +0800, 小波 顾 wrote:
When I start the default demo database (or a new created one) process on Windows XP, the following messaged appears in the command window : # Serving databse 'demo', using 1 thread
Does it mean the whole database process is single-threaded? The following section in the monetdb5.config file shows we can config multiple threads
# Mserver 5 recognizes a series of command line names instead:# --threads ( 1 | PARMASK)# --memory (MEMMASK )# --properties (CHECKMASK | PROPMASK | BATMASK )# --io (IOMASK | PERFMASK )# --transactions ( TMMASK | DELTAMASK | TEMMASK)# --modules (DLMASK | LOADMASK)# --algorithms (ALGOMASK | ESTIMASK)# --xproperties (XPROPMASK )# --performance (JOINPROPMASK | DEADBEEFMASK)
What does 'parmsk' mean, and how to config monetdb to use multiple threads?
If you read the whole monetdb5.conf file, you'll find ======== [...] # You can enable debug for specific parts. By default debug is # switched off. gdk_debug=0 # possible values: (can be a combination of) # 1 = thread-specific debug output # 2 = CHECKMASK = property enforcing on new BATs # 4 = MEMMASK = memory allocation # 8 = PROPMASK = property checking on all values: tells about # wrongly set properties # 16 = IOMASK = major IO activity # 32 = BATMASK = BAT handling # 64 = PARSEMASK = parser debugging # 128 = PARMASK = Thread management ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ # 256 = TRGMASK = Event management # 512 = TMMASK = Transaction management # 1024 = TEMMASK = Locks and Triggers # 2048 = DLMASK = Dynamic loading # 4096 = PERFMASK = BBP Performance (?) # 8192 = DELTAMASK = Delta debugging (?) # 16384 = LOADMASK = Module loading # 32768 = YACCMASK = Yacc specific error messages # 65536 = obsolete = tcpip (??) # 131072 = obsolete = monet_multiplex: setaggr debugging (??) # 262144 = obsolete = \ # 524288 = obsolete = ddbench (???) # 1048576 = obsolete = / # 2097152 = ALGOMASK = show join/select algorithm chosen # 4194304 = ESTIMASK = show result size estimations (for join,select) # 8388608 = XPROPMASK = extended property checking: tells also about # not set properties #16777216 = JOINPROPMASK = disable property checking with join & outerjoin # (e.g., for performance measurements) #33554432 = DEADBEEFMASK = disable "cleaning" of freed memory in GDKfree() # (e.g., for performance measurements) # # Mserver 5 recognizes a series of command line names instead: # --threads ( 1 | PARMASK) # --memory (MEMMASK ) # --properties (CHECKMASK | PROPMASK | BATMASK ) # --io (IOMASK | PERFMASK ) # --transactions ( TMMASK | DELTAMASK | TEMMASK) # --modules (DLMASK | LOADMASK) # --algorithms (ALGOMASK | ESTIMASK) # --xproperties (XPROPMASK ) # --performance (JOINPROPMASK | DEADBEEFMASK) [...] ======== Hence, the '--thread' option is "just" to get debug output about multi threading. MonetDB runs multi-threaded, but by default only uses one thread per client/query (multiple clients are served concurrently); to get parallel processing of a single query (makes sense only on multi-core SMP machines) you can set the number of threads on the mserver5 command line via `mserver5 --set gdk_nr_threads=<nr-threads> ...` or in the monetdb5.conf file via 'gdk_nr_threads=<nr-threads>' Stefan
_________________________________________________________________ More than messages–check out the rest of the Windows Live™. http://www.microsoft.com/windows/windowslive/ ------------------------------------------------------------------------------
_______________________________________________ MonetDB-users mailing list MonetDB-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-users
-- | Dr. Stefan Manegold | mailto:Stefan.Manegold@cwi.nl | | CWI, P.O.Box 94079 | http://www.cwi.nl/~manegold/ | | 1090 GB Amsterdam | Tel.: +31 (20) 592-4212 | | The Netherlands | Fax : +31 (20) 592-4312 |