I've done what is probably a very poor job of making the benchmark work on both my GT.M and Cache VM's.
GT.M is running on Ubuntu server 10.0.4 64 bit, running the latest release of GT.M (64bit). The block size of my database is 32k, and I have 4096 buffers allocated, for a total of about 132megabytes of cache. 6 gigabytes of memory are allocated to this VM.
Cache is running on Windows Server 2003 (32 bit) running Cache 2008 (32 bit), with 255 megabytes of global Cache allocated. 4 gigabytes of memory are allocated to this VM.
Both VM's have 2 cpu's allocated to them.
The server is a home built, using an Intel i7 920 processor, 12 gigabytes of memory, running VM ESXi as the hypervisor. There are 3 gigabyte 7200 RPM SATA drives in the system. both GT.M and the Cache VM are using only one of the drives, no RAID, etc. is in use.
I am of the opinion that 64 bit vs 32 bit isn't terribly significant for this benchmark, since the primary use of this for both GTM and Cache is to extend memory available for global buffers, and both are configured so that they easily fit into the 32 bit limits.
The only modifications to Bhaskars published routine for Cache is to change the JOB command arguments to Cache compatible ones, and to change the 'input' from a text file to values in a for loop. Since this all happens 'outside' the timing, it should not affect the results. I also had to change TStart () to TStart for Cache.
As for the timing, the way it was implemented (by Bhaskar) is that all the 'threads' are started and brought to the starting block, and when they all indicate they are 'ready', the start time is recorded, and then a lock is released to 'open the gate'. No benchmark processing is done by any of the threads until after the start time has been recorded and the lock is released. I don't see this as a problem - the goal is to determine database performance, not the performance of starting the threads. In any case, it is done the same for both Cache and GT.M. From my observations, less than a second was spent in the 'invisible time' for both systems. If I was running this on VMS, I might be more concerned, since VMS is notoriously slow at starting new processes.
Here are the results I got, Cache first, since this is the Cache forum :-)
USER>d ^threen1e
1 100,000 4 8 379 106,358,020 2 108,308 908,308 54,154 454,154
1 100,000 8 8 416 106,358,020 2 107,274 907,274 53,637 453,637
1 1,000,000 4 8 503 24,414,590,536 28 956,053 8,956,053 34,145 319,859
1 1,000,000 8 8 524 24,414,590,536 19 929,709 8,929,709 48,932 469,985
USER>d ^threen1e
1 100,000 4 8 337 106,358,020 2 110,258 910,258 55,129 455,129
1 100,000 8 8 379 106,358,020 2 109,081 909,081 54,541 454,541
1 1,000,000 4 8 503 24,414,590,536 20 924,975 8,924,975 46,249 446,249
1 1,000,000 8 8 524 24,414,590,536 21 933,164 8,933,164 44,436 425,389
USER>d ^threen1e
1 100,000 4 8 299 106,358,020 2 106,731 906,731 53,366 453,366
1 100,000 8 8 379 106,358,020 2 107,393 907,393 53,697 453,697
1 1,000,000 4 8 524 24,414,590,536 20 971,049 8,971,049 48,552 448,552
1 1,000,000 8 8 514 24,414,590,536 20 933,325 8,933,325 46,666 446,666
And the GT.M results
me@ZZTOP:~$ mumps -run threen1e <$HOME/threen1.dat
1 100,000 4 8 294 106,358,020 2 101,670 901,670 50,835 450,835
1 100,000 8 8 300 106,358,020 3 101,667 901,667 33,889 300,556
1 1,000,000 4 8 417 24,414,590,536 22 889,654 8,889,654 40,439 404,075
1 1,000,000 8 8 452 24,414,590,536 23 891,271 8,891,271 38,751 386,577
me@ZZTOP:~$ mumps -run threen1e <$HOME/threen1.dat
1 100,000 4 8 301 106,358,020 2 101,481 901,481 50,741 450,741
1 100,000 8 8 349 106,358,020 2 101,697 901,697 50,849 450,849
1 1,000,000 4 8 452 24,414,590,536 22 889,825 8,889,825 40,447 404,083
1 1,000,000 8 8 452 24,414,590,536 23 890,947 8,890,947 38,737 386,563
me@ZZTOP:~$ mumps -run threen1e <$HOME/threen1.dat
1 100,000 4 8 294 106,358,020 3 101,617 901,617 33,872 300,539
1 100,000 8 8 294 106,358,020 2 101,957 901,957 50,979 450,979
1 1,000,000 4 8 417 24,414,590,536 23 890,427 8,890,427 38,714 386,540
1 1,000,000 8 8 481 24,414,590,536 23 891,024 8,891,024 38,740 386,566
me@ZZTOP:~$ mumps -run threen1e <$HOME/threen1.dat
1 100,000 4 8 294 106,358,020 2 102,127 902,127 51,064 451,064
1 100,000 8 8 339 106,358,020 2 101,671 901,671 50,836 450,836
1 1,000,000 4 8 452 24,414,590,536 23 890,282 8,890,282 38,708 386,534
1 1,000,000 8 8 453 24,414,590,536 22 890,143 8,890,143 40,461 404,097
Both are remarkably fast....
Mark