Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.

pause instruction

tiffany_snyder
Beginner
751 Views
Does the 'pause' instruction help in the case of separate physical CPUs? I understand that it does help in the case of logical CPUs such as in HTT.

Thanks,

Tiffany
0 Kudos
3 Replies
TimP
Honored Contributor III
751 Views
In principle, a pause instruction in wait loops should improve performance when multiple threads are competing for use of a CPU, regardless of whether HyperThreading is available. Otherwise, it might enable power-saving opportunities.
0 Kudos
tiffany_snyder
Beginner
751 Views
Thanks. I've another question. In a HTT enabled processor, the resources are split between the 2 threads. If one enters a "hlt" state does it then relinquish all the resources to the other thread, essentially making all the resources available to a single thread?

Does one thread doing something like this cause it to release all
the resources to be allocated to the other thread?

idle:
jmp idle

Where can I read more about HTT and resource sharing?


Thanks,


Tiffany
0 Kudos
ClayB
New Contributor I
751 Views
Tiffany -
Some of the resources are shared and others are split. This means that the shared resources of a stalled thread could be claimed by the another thread running on the other logical processor. For the split resources, those would remain divided between the logical processors and could not be used by the non-halted thread.
You should be able to find more details on HTT from the Intel Software Network papers. I think that there have been a few citations within this forum in the past, so you might search through there, too. I'm sure the processor architecture manuals can give you some of what you may be looking for. I think you should be able to search for those from within ISN.
--clay
0 Kudos
Reply