Re: Hyperthreading - Oracle license

  • From: Karl Arao <karlarao@xxxxxxxxx>
  • To: "oracle-l@xxxxxxxxxxxxx" <oracle-l@xxxxxxxxxxxxx>
  • Date: Mon, 14 Jan 2013 05:51:03 -0600

I've done a couple of CPU test cases lately which shows the CPU behavior as
you saturate up to the max # of CPUs/threads and also showing the effects
of having HT and TurboBoost on or off. The tests were done on my
desktopserver, Exadata V2, and X2 and it's a CPU centric (LIOs) workload
and as the server gets saturated up to max CPU then there's diminishing
returns on LIOs. You can check out the test cases here
http://goo.gl/1MLFf <http://goo.gl/1MLFf>
With Hyperthreading turned on once it gets past the core count from my
tests you only get about 20% increase up to the max # of threads. So it's
really not doubling the CPU LIO capacity by any means but I would always
leave it enabled.

check the workload level number range on the images where the 20% increase
on LIOs/sec is occurring
desktop server   1.2M to 1.4M LIOs/sec (CPU 4 to 8)
x2                     3.1M to 3.6M LIOs/sec (CPU 13 to 25)
v2                    1.8M to 2.1M LIOs/sec (CPU 9 to 17)

and you'll start to see some "CPU wait" (saturation point) when you reach
about 87.5% of the number of threads or at the max number of threads. So in
Exadata X2 (24CPUs), that's when you are using 21-24CPUs where you will
start seeing gradual "CPU wait" on your response times.

I agree with Kevin when he said that 70% is the new 100%, and there's
nothing wrong if you max out the 24 CPUs whenever you do instance caging as
long as you know the behavior or what will the effect be once all 24 CPUs
are used (remember the 87.5% saturation point).

And I also have a couple of observations from my test cases:

On turbo boost
* notice that it only helps when you are just using 1 or 2 CPUs (either
HTon or HToff), so the overclocking effect does not really matter when you
get all or most of the CPUs working even if turbostat (not shown on the
graph) shows that it is still doing the increase in clock rate

On Hyperthreading
* On HToff-TurboOn look at the 320K range LIOs on CPU#1 which is higher
than HTon-TurboOn, it may seem
faster being on this config but this is what I mean by Hyperthreading in a
way helping on scalability.. look at the effect on "CPU wait" (time spent
on run queue) as it starts to manifest on the response time of the SQLs
when it reach the max CPUs of 4 (HToff) while if you have the HTon it
starts at CPU 8. So you are experiencing the queueing earlier and on the OS
side with HToff the 2 CPU usage will immediately tell 50% OS CPU
utilization and 4 CPU as 100%.
But with HTon (CPU 8) even if your are not getting linear LIO performance
once you get past the number of cores, completely avoiding "CPU wait" until
the max # of threads is still a good thing in terms of performance.



-- 
Karl Arao
karlarao.wordpress.com
karlarao.tiddlyspot.com
twitter.com/karlarao


--
//www.freelists.org/webpage/oracle-l


Other related posts: