HyperThreading

Saman Barghi saman.b at gmail.com
Fri Feb 18 12:52:01 PST 2011


Could you try -master? There has been fairly substantial work since the 2.8 release; all of the tokens in 2.8 are still taking the MP lock as a precaution. That is no longer the case in master. The process token has been broken up fairly dramatically in master as well, so I expect to see different results.
 Sorry, I am not following, by master you mean the master branch !? 


Can you give us a bit more information about the h/w and configuration? In Kris Kennaway's tests, he was seeing FreeBSD 7 sustain 8 times the number of transactions you're reporting for 8.1, and that was for hardware that is three or four years old at this point. 
I see, good point. The machine I am testing on  is a  4 core xeon with 2GB of RAM, and I it
 is  2 to 3 years old as well (The machine Kris were using was a "2.0Ghz
 8-core amd64 system with 16GB of
RAM", so as it has twice the number of cores and 8 times more memory 
than what I have here, I think the results are fair for number of 
transactions). I might be able to re run the tests on another 
machine if I get lucky. MySQL 
configuration is exactly the same as what Kris used 
(http://people.freebsd.org/~kris/scaling/my.cnf), I am using MySQL 5.0.91. Here is the sysbench command : 

sysbench --test=oltp --num-threads=${i} --mysql-user=root --max-time=120
--max-requests=0 --oltp-read- runAlso, I am not sure if Kris is talking about queries/sec or 
transactions/sec, since he used both of them in two different graphs he 
presented. What I presented is the number of transactions as reported by
 sysbench, however the total number of queries are much more than this, 
take a look at this: 
http://www.cs.uwaterloo.ca/~sbarghi/bench/queries1.jpg  


Also, last I tried sysbench/OLTP with MySQL on dfly, I saw MySQL making many 256K allocations, which fall back to mmap() in our system. mmap() acquires the VM token, so I expected to see a much more dramatic falloff than you saw.
 I will double check if everything is working properly and there is no mistake in configuration of both machines. Do you remember which version of MySQL you were using ?and What is the best way of profiling in DragonFly ?! 
I guess I wasn't clear earlier, the results on my graph were SMP; the UP lines were not present; the results were from very early in the 2.8 cycle, but I don't have the exact rev handy.
Actually you were clear, I read it the other way :).  
 Yes -- http://gitweb.dragonflybsd.org/dragonfly.git/commit/2a4189307741dbcfbe11b31d6cc51a4fb39a8cde


was the commit that reworked the token contention path.This was not in 2.8, but is in master. Matt has seen improvements from in on a 48-core system he runs; I don't know that we've seen great things from it on smaller systems 


http://gitweb.dragonflybsd.org/dragonfly.git/commit/3b998fa96afe52828957ea4f65d15320eb0fe240
was the other one in particular I was referencing; that one produced a fairly noticeable bump in apache performance, among other things...Thanks a lot, Interesting.  Saman





More information about the Kernel mailing list