Hyper-Threading (trademark from Intel, aka SMT), exposes logical CPU cores for every physical CPU core. It does this by sharing computational units of the physical CPU core between the virtual CPU cores. The operating system sees virtual CPU cores, when there is only one physical core.
- Multi-threading is a term for parallel processing on the operating system level.
- Hyper-Threading as a hardware implementation of software multi-threading.
- Hyper-V (a virtualization implementation) and hyper-threading (hardware-level resource sharing) are not directly related,however hyperthreading is enabled on a Hyper-V server for vCPU provisioning.
Any multi-threaded process can be hyper-threaded, which the operating system schedules processes and threads.
Progress supports OpenEdge on the certified Operating System as published in the Product Availability Guide:
Progress does not support hyperthreading, the Operating System does. OpenEdge has no influence or interference with how the operating system schedules processes and threads. In effect, the environment can run whatever hardware fits requirements as long as the Operating System is certified for the OpenEdge version installed. It's up to you to assure the application architecture provides adequate performance for the OpenEdge Application Software running in this environment.
Progress/OpenEdge utilities that are multi-threaded that can benefit from hyper-threading are outlined in Article
Which Progress process are multi-threaded? OpenEdge processes that are not multi-threaded and do not benefit directly from hyper-threading, might still benefit. For instance, multiple _progres, _proapsv, prowin, processes running on the same system can benefit from hyperthreading if the operating system can schedule two single threaded processes on two hyperthreads. Hyperthreading is not a panacea and is known to make things worse before they get better depending a lot on the nature of the applications and other factors specific to the vendor.
The following Articles record specific use-case performant issues, reported at the time and investigated together with the Customer's environment vendor and ultimately solved with with Vendor engagement.