Recently a new discussion about this topic was created on Oracle Community forum. This is the experience that I have with PeopleSoft on HT Processors:
1. Administration:
I found that enabling or disabling HT have some repercussions on the platform administration and reading the performance information provided by the Operative System. Think that reading the CPU usage information from a HT enabled system can produce misinterpretation of the actual CPU usage, it also can lead to guess a wrong scalability potential of the system and the actual lifetime. Also consider that HT will not help your system to increase performance when you have a bottleneck on network or I/O devices.
A nice blog created by a DBA about HT and the administration point of views is here:
http://databaseperformance.blogspot.com/2011/07/beware-cpu-threads-are-not-same-as-cpu.html
2. Database:
I found the same information that Dave provided in the previous post. I add the link to the Microsoft document mentioned by Dave:
http://download.microsoft.com/download/E/C/5/EC567749-20C0-4DC5-99B7-FA7C77A097EA/PeopleSoft%20on%20SQL%202008.docx
and other good link about:
http://www.dba-oracle.com/oracle_tips_cpu_count_wrong.htm
3. Application Server/Process Scheduler:
When an instruction needs data from RAM, it will be blocked for a length of time during which the CPU could have run other instructions. Intel tried to address this memory delay problem with a trick called Hyper-Threading. Rather than duplicate the entire circuitry of a CPU, a Hyperthreading processor simply duplicates the registers that hold all the data. The OS thinks that there are two CPUs and it assigns two different threads to them, because all the registers and data needed to run each thread are loaded into the same CPU chip at the same time. This effectively makes the CPU usage to become less idle, but it cannot duplicate the actual CPU power and the percentage power gain level depends of the applications executed.
The Application/Batch Server Domain services are not developed thinking threads, when a services as the PSAPPSRV is processing some request it use just one CPU (real or logical) and there are not benefit from a HT processor. When you have a single Domain Server generating high CPU utilization, Hyper-Threading does not increase performance in this case.
In fact the gain of HT for many other applications is just marginal and not constant, take as example the following documentation from Microsoft:
http://download.microsoft.com/download/5/7/7/577a5684-8a83-43ae-9272-ff260a9c20e2/Hyper-thread_Windows.doc
“As discussed in this paper, two logical processors on the same physical processor appear to applications as two processors, but typically provide around 10% to 30% more performance than a similarly equipped non-HT-enabled processor. • This lower performance increase is due to the fact that two threads are competing for the use of the shared resources on one of the physical HT processors. So scheduling a thread onto an HT processor that already has an active logical processor has the following effects:
o Slowing down the performance of that active logical processor
o Limiting the performance of the new scheduled thread on the second logical processor
“
4. Web Server:
Weblogic is a multi-threaded application server and it manages resource allocation, concurrency, and thread synchronization. These multiple threads can be configured for multiple task, for example you can assign a number of execute threads to act as socket reader threads to improve socket communication and increasing the speed/ability of the server to accept new client requests, also Java’s garbage collection and background JIT compilers work as daemons threads in the JVM. As a Web Server system use extensive use of threads, this could benefit from HT if the JVM detects this configuration to use the required optimizations on this case.
The following url have an Intel test bed using Weblogic on Intel Xeon processors, it has some tuning notes that i have used with some level of success on different architectures and not just the Intel-Xeon:
Click to access 54375_54375.pdf
Conclusion:
Enable HT on DB and WebServer hosts if possible and when they are separated from the other PeopleSoft architecture layers. Tune the Server in each case taking account of the HT feature, even it such case as the different attached documents reveals you´ll only get a small performance increase.
Disable HT for App/Batch Servers specially taking in consideration the point 1 and 3.
Andrés Caro