Find the answer to your Linux question:
Results 1 to 7 of 7
Hi, I have a debian machine running with 2 x Xeon E5620 on a S5520CS intel motherboard. Thus, in total, I have 16 cpus. When I try to run a ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Apr 2012
    Posts
    4

    Choked Processors


    Hi,

    I have a debian machine running with 2 x Xeon E5620 on a S5520CS intel motherboard. Thus, in total, I have 16 cpus.

    When I try to run a parallel process across all the 16 cpus, I never get cpu usage at 100%, being at least one cpu almost 100% idle.

    The process I am trying to run is a OpenFOAM solver with openMPI as comunication library.

    How can I get all the 16 cpus running at 100%?

    THX

    Best Regards
    Jose

  2. #2
    Linux Guru
    Join Date
    Nov 2007
    Posts
    1,756
    No, you have 8 cores:

    Intel® Xeon® Processor E5620 (12M Cache, 2.40 GHz, 5.86 GT/s Intel® QPI)

    Note the difference between a "core" and a "thread." The "2 threads" per core is due to hyperthreading. You may want to read up on how that affects your application, as it may be faster/more efficient to only load up 8 processes. It may also shed light on the behavior you are seeing.

  3. #3
    Just Joined!
    Join Date
    Apr 2012
    Posts
    4
    Hi,

    Thanks for your reply.

    In fact you are right. The E5620 as only 8 threads And, as this machine uses 2 of those, it gives 16 threads in total, right? In fact, when I run htop or top, I can see 16 cpus threads. I have previously ran the same application on similar machines and I never got this behaviour.

  4. #4
    Linux Guru
    Join Date
    Nov 2007
    Posts
    1,756
    A CPU core is not a thread. The available threads seen by the OS does not equal "16 CPU's." The system has 8 cores - 8 physical CPU cores. Again, you can Google for hyperthreading to understand the difference.

    You have not identified the difference between machines - perhaps the other machines have 16 physical cores? Perhaps an application is compiled differently on them? Perhaps an OS setting is different? There are many directions to go - they all typically start with reviewing the application, its documentation, and compiled options.

  5. #5
    Just Joined!
    Join Date
    Apr 2012
    Posts
    4
    So what do you call this??


    top - 18:00:19 up 2:50, 1 user, load average: 0.00, 0.00, 0.00
    Tasks: 308 total, 1 running, 307 sleeping, 0 stopped, 0 zombie
    Cpu0 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu2 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu3 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu4 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu5 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu6 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu7 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu8 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu9 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu10 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu11 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu12 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu13 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu14 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu15 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Mem: 49502872k total, 4450212k used, 45052660k free, 106860k buffers
    Swap: 9919480k total, 0k used, 9919480k free, 3810740k cached

    Thats the output of the top command

  6. #6
    Just Joined!
    Join Date
    Apr 2012
    Posts
    4
    Whiel I am running the solver, the top command output looks like this at a random point


    Tasks: 330 total, 17 running, 313 sleeping, 0 stopped, 0 zombie
    Cpu0 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0
    Cpu1 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0
    Cpu2 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0
    Cpu3 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0
    Cpu4 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0
    Cpu5 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0
    Cpu6 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0
    Cpu7 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0
    Cpu8 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0
    Cpu9 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0
    Cpu10 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0
    Cpu11 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0
    Cpu12 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0
    Cpu13 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0
    Cpu14 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0
    Cpu15 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0
    Mem: 49502872k total, 15018700k used, 34484172k free, 419080k buffers
    Swap: 9919480k total, 0k used, 9919480k free, 12190092k cached

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    2934 jrodrig 20 0 281m 27m 21m R 100 0.1 21:03.29 rhoPimpleFoam
    2938 jrodrig 20 0 281m 27m 21m R 100 0.1 19:15.73 rhoPimpleFoam
    2928 jrodrig 20 0 281m 27m 21m R 100 0.1 18:47.20 rhoPimpleFoam
    2930 jrodrig 20 0 281m 27m 21m R 100 0.1 20:59.96 rhoPimpleFoam
    2932 jrodrig 20 0 281m 27m 21m R 100 0.1 21:02.81 rhoPimpleFoam
    2935 jrodrig 20 0 281m 27m 21m R 100 0.1 21:00.78 rhoPimpleFoam
    2937 jrodrig 20 0 281m 27m 21m R 100 0.1 21:01.90 rhoPimpleFoam
    2939 jrodrig 20 0 281m 27m 21m R 100 0.1 21:04.50 rhoPimpleFoam
    2940 jrodrig 20 0 281m 27m 21m R 100 0.1 18:56.05 rhoPimpleFoam
    2941 jrodrig 20 0 281m 27m 21m R 100 0.1 21:02.68 rhoPimpleFoam
    2929 jrodrig 20 0 281m 27m 21m R 99 0.1 18:44.49 rhoPimpleFoam
    2933 jrodrig 20 0 281m 27m 21m R 91 0.1 19:58.80 rhoPimpleFoam
    2936 jrodrig 20 0 281m 27m 21m R 80 0.1 18:57.95 rhoPimpleFoam
    2943 jrodrig 20 0 281m 27m 21m R 79 0.1 18:21.36 rhoPimpleFoam
    2942 jrodrig 20 0 281m 27m 21m R 76 0.1 18:43.25 rhoPimpleFoam
    2931 jrodrig 20 0 281m 27m 21m R 73 0.1 19:41.98 rhoPimpleFoam
    3138 jrodrig 20 0 19208 1564 1020 R 0 0.0 0:00.35 top
    1 root 20 0 8356 812 680 S 0 0.0 0:02.12 init
    2 root 20 0 0 0 0 S 0 0.0 0:00.00 kthreadd
    3 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/0
    4 root 20 0 0 0 0 S 0 0.0 0:00.02 ksoftirqd/0

  7. #7
    Linux Guru
    Join Date
    Nov 2007
    Posts
    1,756
    If you think you have 16 CPU's (or "cores"), you need to do some reading.

    What is hyperthreading?

    If you boot up a dual-core processor with Hyper-Threading and open Windows Task Manager you will find yourself staring at four graphs. This is where most of the confusion about Hyper-Threading doubling the number of cores come into play. I’ve even spoken with one poor fellow who thought he’d purchased a eight-core processor because he saw eight graphs in Windows Task Manager. That’s what the sales rep told him, so when he went home and saw eight graphs, he was hooked. Seeing was believing.

    Two graphs appear in Windows for each core on a Hyper-Threading processor because Windows is detecting two logical processors for each core. The term “logical processor” sounds fancy, but a logical processor is by definition a processor that has no physical existence. Windows can send threads to each logical processor, but there is still just one core doing the actual execution, so a single core with Hyper-Threading is dramatically different from two seperate physical cores.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •