1

Topic: How to use all kernels on the processor

Hello. There is a server with Intel Xeon E5-2699 processor v4. At start multi-threaded  (for ), on 100 % boot only half of kernels. If to launch the second copy,  second half of kernels. From one  applications (even ) it is impossible to launch flows separately on each kernel - to them simply there is no access. As I not so well understand gland, softly we tell that I can not find an explanation to such behavior. Explain please why so happens and whether probably basically from one  applications to create flows on "inaccessible" kernels.

2

Re: How to use all kernels on the processor

Hello, Divineshadow, you wrote: D> Explain please why so happens and whether probably basically from one  applications to create flows on "inaccessible" kernels. What means "inaccessible"? On a desktop I loaded all four kernels on 100 %. Perhaps, on your server the axis so is adjusted, what does not give to one process all kernels?

3

Re: How to use all kernels on the processor

Hello, Mihas, you wrote: D>> Explain please why so happens and whether probably basically from one  applications to create flows on "inaccessible" kernels. M> that means "inaccessible"? M> On a desktop I loaded all four kernels on 100 %. Perhaps, on your server the axis so is adjusted, what does not give to one process all kernels? It means that property Environment. ProcessorCount (it on C#) returns only half of accessible kernels. And accordingly it is possible to force to be fulfilled by function SetThreadAffinityMask a flow for on "an accessible" kernel, id which does not exceed ProcessorCount. By the way, forgot to mention that kernels are divided into two  (to tell the truth I do not know that it means). In one  applications are accessible kernels only one of :

4

Re: How to use all kernels on the processor

Hello, Divineshadow, you wrote: D> Hello. D> there is a server with Intel Xeon E5-2699 processor v4. D> At start multi-threaded  (for ), on 100 % boot only half of kernels. D> if to launch the second copy,  second half of kernels. D> from one  applications (even ) it is impossible to launch flows separately on each kernel - to them simply there is no access. D> as I not so well understand gland, softly we tell that I can not find an explanation to such behavior. D> explain please why so happens and whether probably basically from one  applications to create flows on "inaccessible" kernels. In the same place , therefore he does not try to throw one application on all kernels.

5

Re: How to use all kernels on the processor

Hello, wraithik, you wrote: W> In the same place , therefore he does not try to throw one application on all kernels. Precisely?

6

Re: How to use all kernels on the processor

W>> In the same place , therefore he does not try to throw one application on all kernels. M> it is exact? Yes there is . And it, as far as I know, can be disconnected. It is necessary to try.

7

Re: How to use all kernels on the processor

Hello, Divineshadow, you wrote: W>>> In the same place , therefore he does not try to throw one application on all kernels. M>> it is exact? D> yes there is . And it, as far as I know, can be disconnected. It is necessary to try. What for? Try to arrange 2 flows on one kernel.

8

Re: How to use all kernels on the processor

Hello, Divineshadow, you wrote: W>>> In the same place , therefore he does not try to throw one application on all kernels. M>> it is exact? D> yes there is . And it, as far as I know, can be disconnected. It is necessary to try. About  I do not argue. It is in your processor. It is not pleasant to me selected.

9

Re: How to use all kernels on the processor

Hello, Divineshadow, you wrote: D> By the way, forgot to mention that kernels are divided into two  (to tell the truth I do not know that it means). It is as though doubled with the help  a kernel.

10

Re: How to use all kernels on the processor

Hello, Divineshadow, you wrote: D> From one  applications (even ) it is impossible to launch flows separately on each kernel - to them simply there is no access. How many at you processors it is installed on ?

11

Re: How to use all kernels on the processor

Hello, Divineshadow, you wrote: D> Yes there is . And it, as far as I know, can be disconnected. It is necessary to try. It is not necessary, there where high performance on a kernel is necessary buy E3, instead of E5. Switch-off hyper-threading tell special weather does not do. Easier then to launch processes by an amount of physical kernels, instead of logical. Certainly, if hunting capitally to beat processes to a kernel, but basically at us here other history.

12

Re: How to use all kernels on the processor

Hello, Mihas, you wrote: M> Hello, wraithik, you wrote: W>> In the same place , therefore he does not try to throw one application on all kernels. M> it is exact? Well as a variant. Productivity that to grow any more will not be.

13

Re: How to use all kernels on the processor

Hello, wraithik, you wrote: W>>> In the same place , therefore he does not try to throw one application on all kernels. M>> it is exact? W> well as a variant. Productivity that to grow any more will not be. I such did not see. Loaded the processor tasks and all. Complexity was to organize queue of tasks so that there were no idle times.

14

Re: How to use all kernels on the processor

Hello, velkin, you wrote: V> How many at you processors it is installed on ? One.

15

Re: How to use all kernels on the processor

Hello, Divineshadow, you wrote: D> By the way, forgot to mention that kernels are divided into two  (to tell the truth I do not know that it means). D> In one  applications are accessible kernels only one of : D> Image: nodes.JPG And whether there NUMA? Under such it is necessary to write in a special way.

16

Re: How to use all kernels on the processor

Hello, Glory, you wrote: And whether there NUMA? Under such it is necessary to write in a special way. Word NUMA meets: How it is necessary to write? Tell briefly?

17

Re: How to use all kernels on the processor

D> There is a server with Intel Xeon E5-2699 processor v4. D> At start multi-threaded  (for ), on 100 % boot only half of kernels. Obviously  defines how many in system of physical kernels and launches for  as much flows. As it to retrain and be launched with the registration  without editing of its raws - on mind of anything except  does not come. If there Windows  it most likely is necessary

18

Re: How to use all kernels on the processor

Hello, Divineshadow, you wrote: D> Word NUMA meets: D> Image: numa.JPG D> How it is necessary to write? Tell briefly? I at all the expert in this business, simply remember any such. As far as I understand, in a hard case it is required processed given to divide on N parts that they did not chase for nothing from one node NUMA on another. But here the method is easier: https://stackoverflow.com/questions/268 … -numa-node

19

Re: How to use all kernels on the processor

Hello, Divineshadow, you wrote: D> At start multi-threaded  (for ), on 100 % boot only half of kernels. D> if to launch the second copy,  second half of kernels. And how many flows this creates ? If there  a pool from N flows one more "superfluous" flow is no place to take simple. If there are no source codes , it is possible to guess long. D> from one  applications (even ) it is impossible to launch flows separately on each kernel - to them simply there is no access. I know precisely impossible probably () MSDN-> SetThreadAffinityMask

20

Re: How to use all kernels on the processor

MD> And how many flows this creates ? If there  a pool from N flows one more "superfluous" flow is no place to take simple. If there are no source codes , it is possible to guess long. My software. D>> from one  applications (even ) it is impossible to launch flows separately on each kernel - to them simply there is no access. MD> I know precisely impossible probably (MD> MSDN-> SetThreadAffinityMask Polzuju already

21

Re: How to use all kernels on the processor

Hello, Divineshadow, you wrote: D> my Software. Hypertrading it not high-grade kernels. It is the mechanism of attaching of 2 flows on 1 kernel when flows not on 100 % guzzle a kernel. If a software strongly primitive without branching and optimized - for example multiplication of matrixes flows do not stand idle, actually if in bios to disconnect HT - the amount of "kernels", but in practice speed even decreases increases. Hypertrading in few places gives an increase and is exact 2 multiple it does not give.

22

Re: How to use all kernels on the processor

Hello, Glory, you wrote: As far as I understand, in a hard case it is required processed given to divide on N parts that they did not chase for nothing from one node NUMA on another. But here the method is easier: https://stackoverflow.com/questions/268 … -numa-node the Decision under your link appeared worker! Now all kernels are loaded. In app.config it was necessary to interpose the following: <configuration <runtime> <gcServer enabled = "true"/> <GCCpuGroup enabled = "true"/> <Thread_UseAllCpuGroups enabled = "true"/> </runtime> </configuration> Thanks!

23

Re: How to use all kernels on the processor

The decision is found: the link the Author: Divineshadow Date: 27.12 10:43 All thanks for involvement in a solution of a problem.