We have SMT support in our next generation Intel microarchitecture. There will be 2 threads per core and you can find more information aboutit here: http://www.intel.com/technology/architecture-silicon/next-gen/?iid=SEARCH
We don't have SMT support in current Core 2 generation microarchitecture. However, we had SMT support (Hyper Threading - again 2 threads per core) insome of the Xeon and Pentium family processors. You can find out more about which products support it here: http://compare.intel.com/PCC/intro.aspx?iid=processors_body+resources_pcc
I hope this helps to answer your question.
Intel HyperThreading doesn't fully meet the description of SMT as presented here http://en.wikipedia.org/wiki/Simultaneous_multithreading even though P4 is cited as an example. Neither Intel nor Sun "SMT" support issue of instructions from more than one thread per cycle, as multiple cores do. HT processors duplicate some of the resources (e.g. registers directly accessible by program) and share others, including instruction issue and arithmetic units. HT on Nehalem provides more flexible sharing of certain resources than did HT on P4.
As the cited article states, a primary motivation is "hiding memory latency" by allowing a rapid switch to another thread when a thread is stalled by cache misses. As the Intel CPUs which have implemented HT have a relatively slow sqrt instruction, those few applications which spend about half their time executing sqrt also are good HT candidates. These are examples of application and CPU dependent issues where SMT may contribute significantly to performance.
You want to multi-thread Apache2? Apache is already threaded. You might have more succes at the Apache web site, where you can pick up such tidbits as the one I acquired just now:
Description: Number of threads created on startup
Syntax: StartThreads number
Default: See usage for details
Context: server config
Module: beos, mpm_netware
Number of threads created on startup. As the number of threads is dynamically controlled depending on the load, there is usually little reason to adjust this parameter.
For mpm_netware the default is StartThreads 50 and, since there is only a single process, this is the total number of threads created at startup to serve requests.
For beos the default is StartThreads 10. It also reflects the total number of threads created at startup to serve requests.
If you could be more specific about your question, we might be able to provide you a better answer.