DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

hyperthread(HW)


hyper-threading, multi-core, dual-core -- Hyper-Threading Technology and multi-core support

Description

SCO OpenServer includes support for both Hyper-Threading (HT) Technology and the multi-core processor architecture.

Hyper-Threading Technology allows two series of instructions to run simultaneously and independently on a single Intel® HT-enabled processor. With Hyper-Threading Technology enabled, the system treats a physical processor as two ``logical'' processors. Each logical processor is allocated a thread on which to work, as well as a share of execution resources such as cache memories, execution units, and buses.

Hyper-Threading Technology can be used on an SCO OpenServer system that is equipped with an Intel Xeon(TM) or HT-enabled Intel Pentium® 4 processor and that also includes a chipset and a system BIOS with support for HT Technology.

A multi-core processor is a single physical processor that includes two or more ``cores'' and one or more logical processors per core. Each core acts as a discrete processor, complete with its own set of execution resources. A dual-core processor includes two cores, with one logical processor per core. A dual-core processor that also includes Hyper-Threading Technology provides two cores and two logical processors per core, allowing the execution of four simultaneous threads.

SCO OpenServer supports Intel Xeon and Intel Pentium 4 multi-core processors. SCO OpenServer's multi-core support also requires a chipset and a system BIOS that support HT Technology.

To check if your system includes HT Technology and/or a multi-core processor, run the following hw(ADM) command to generate a hardware report:

/etc/hw -v -m -rcpu

For each logical processor that is detected, the hardware report provides the following information:

   CPU supports Hyper-Threading Technology:  [Yes][No]
   Processor Cores:                             #
   Logical Processors:                          #

If the ``Processor Cores'' field displays a number that is larger than 1, you know the system has a multi-core processor. If the ``Logical Processors'' field equals the number of detected cores, the system does not support HT Technology. If there are more logical processors than cores, the system supports Hyper-Threading.

For example, a system that contains a dual-core processor is represented as:

   CPU supports Hyper-Threading Technology:   Yes
   Processor Cores:                            2
   Logical Processors:                         2

A single-core processor system with HT Technology support is represented as:

   CPU supports Hyper-Threading Technology:   Yes
   Processor Cores:                            1
   Logical Processors:                         2

Hyper-Threading Technology and multi-core processor support for SCO OpenServer is provided by the SCO OpenServer Release 5.0.7 Symmetrical Multiprocessing (SMP) product. Note the following:

The SCO OpenServer base operating system license covers use of the physical boot processor and, by association, any corresponding logical processors. For a single-CPU system, you can install and use SMP without providing a license for additional CPUs; simply select to Defer licensing at the appropriate place in the installation. To take advantage of Hyper-Threading on auxiliary processors on a system with multiple physical processors, you must purchase Additional CPU licenses. Each physical auxiliary processor requires a CPU license, and that license then supports all of the logical processors on the corresponding auxiliary processor.

Note that most SCO OpenServer commands treat logical processors as individual CPUs. Depending on whether or not Hyper-Threading is enabled, the view that commands provide of your system will be different. For example:


Dual-processor system with Hyper-Threading disabled

# cpuonoff -c
CPU1: active
CPU2: active
# uname -X | grep NumCPU
NumCPU = 2


Dual-processor system with Hyper-Threading enabled

# cpuonoff -c
CPU1: active
CPU2: active
CPU3: active
CPU4: active
# uname -X | grep NumCPU
NumCPU = 4

You will notice significant performance gains on a system that uses a multi-core processor. If you opt to enable Hyper-Threading on your SCO OpenServer system, it is likely that you will see performance improvements. Depending on the workload applied to the system, however, it is possible you could see a decrease in performance. You will probably want to run some system benchmarks with Hyper-Threading enabled and disabled to determine which configuration is optimal.

Configuration

By default, support for Hyper-Threading Technology is disabled. To enable this technology, verify that Hyper-Threading is turned on in the system BIOS and then modify the crllry_hyperthread_enable kernel variable in the /etc/conf/pack.d/crllry/space.c file or set the smp.ht bootstring. See the following table for details.

Multi-core support is enabled by default. To disable this support, modify the crllry_multicore_enable kernel variable in the /etc/conf/pack.d/crllry/space.c file or set the smp.mc bootstring. See the following table for details.


NOTE: If multi-core support is turned off, Hyper-Threading support is also disabled.

Hyper-Threading Technology configuration options
crllry_hyperthread_enable
kernel variable
Defined in the /etc/conf/pack.d/crllry/space.c file. ``0'' (default) disables Hyper-Threading support; ``1'' enables the technology. To modify this variable, edit the space.c file then relink and reboot the kernel. This variable can be overridden by the smp.ht bootstring.
smp.ht bootstring Overrides current setting of the crllry_hyperthread_enable kernel variable. Use smp.ht=yes to enable Hyper-Threading at boot-time; use smp.ht=no to disable Hyper-Threading support.
Multi-core configuration options
crllry_multicore_enable
kernel variable
Defined in the /etc/conf/pack.d/crllry/space.c file. ``0'' disables multi-core processor support; ``1'' (default) enables the support. To modify this variable, edit the space.c file then relink and reboot the kernel. This variable can be overridden by the smp.mc bootstring.
smp.mc bootstring Overrides current setting of the crllry_multicore_enable kernel variable. Use smp.mc=no to disable multi-core processor support at boot-time; use smp.mc=yes to enable the support.

 +------------------------------------------------------------+
 |Hyper-Threading Technology configuration options            |
 +--------------------------+---------------------------------+
 |crllry_hyperthread_enable | Defined in the                  |
 |kernel variable           | /etc/conf/pack.d/crllry/space.c |
 |                          | file.  ``0'' (default)          |
 |                          | disables Hyper-Threading        |
 |                          | support; ``1'' enables the      |
 |                          | technology.  To modify this     |
 |                          | variable, edit the space.c      |
 |                          | file then relink and reboot     |
 |                          | the kernel.  This variable      |
 |                          | can be overridden by the        |
 |                          | smp.ht bootstring.              |
 +--------------------------+---------------------------------+
 |smp.ht bootstring         | Overrides current setting of    |
 |                          | the crllry_hyperthread_enable   |
 |                          | kernel variable.  Use           |
 |                          | smp.ht=yes to enable Hyper-     |
 |                          | Threading at boot-time; use     |
 |                          | smp.ht=no to disable Hyper-     |
 |                          | Threading support.              |
 +--------------------------+---------------------------------+
 |Multi-core configuration options                            |
 +--------------------------+---------------------------------+
 |crllry_multicore_enable   | Defined in the                  |
 |kernel variable           | /etc/conf/pack.d/crllry/space.c |
 |                          | file.  ``0'' disables multi-    |
 |                          | core processor support; ``1''   |
 |                          | (default) enables the support.  |
 |                          | To modify this variable, edit   |
 |                          | the space.c file then relink    |
 |                          | and reboot the kernel.  This    |
 |                          | variable can be overridden by   |
 |                          | the smp.mc bootstring.          |
 +--------------------------+---------------------------------+
 |smp.mc bootstring         | Overrides current setting of    |
 |                          | the crllry_multicore_enable     |
 |                          | kernel variable.  Use smp.mc=no |
 |                          | to disable multi-core processor |
 |                          | support at boot-time; use       |
 |                          | smp.mc=yes to enable the        |
 |                          | support.                        |
 +--------------------------+---------------------------------+

Limitations

Files

See also

bootstring(HW), cpu(HW), cpuonoff(ADM), displayintr(ADM), hw(ADM), mpstat(ADM)
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 MP4 -- October 2005