Multi threaded CPU intensivo task throtles CPU Caminho antes das temperaturas limites -- hardware campo com performance campo com cpu campo com temperature camp apple Relacionado O problema

Multi threaded CPU intensive task throttles CPU way before temperatures limits


21
vote

problema

português

Escrevi uma tarefa encadeada intensiva da CPU que funciona como esperado no meu MacBook Pro Quad Núcleo de 2012. Eu solto com 20 tópicos e as temperaturas levam até cerca de 100 째 C, conforme medido com Gadget Intel Power com Afiliação Mínima.

Faça o mesmo programa e arquivos de dados para o meu MacBook Pro 2016 13 "com uma máquina de núcleo duplo e iniciá-lo, eu esperaria que ele também mantivesse o 3.3-3,4 Ghz até que a temperatura fique perto dos 100 째 C Mark. O principal comando mostra a tarefa em 350% (2 núcleos cada dual roscado), mas a frequência da CPU é cortada para 1,6-1-8 GHz com a temperatura somente a 60 째 c ou assim com os fãs mortos. Se eu Inicie 4 Tarefas de CPU roscadas separadas, a máquina se comporta como esperado com ele mantendo o 3,3-3,4 Ghz até que atinge os 100 째 c e os fãs se acertam. A questão é por que minha CPU está sendo estrangulada?

Ambas as máquinas estão atualizadas e executando as mesmas versões do GCC. Se eu até pegar o binário da máquina de trabalho e colocá-lo no Mac de 2016, ele tem o mesmo problema.

Se eu executar 3 ou 4 fios únicos da CPU para que a máquina esteja indo a uma velocidade máxima, inicie o programa roscado, ele diminui a frequência também.

Ambas as máquinas têm 16 GB de RAM.

editar

Depois de brincar com o código, suspeito que está ficando acelerado quando uma tarefa cria muitos tópicos. Neste programa, peço cada registro que li e crio um tópico para isso. Eu só deixo 20 ou mais os tópicos vão de cada vez, então, em nenhum momento há mais de 21 tópicos, mas há 14.400.000 registros a serem processados ​​por mais de 30 minutos ou mais, cada um desses registros será processado por um tópico separado. < / p >.

Eu criei um programa de Pthread trivial que sugou o tempo de CPU e definir 10 deles em execução. O problema do laptop correu isso e aqueceu até 95c sem problemas.

Eu acho que vou reescrever meu código para reutilizar o mesmo segmento em vez de destruí-los e iniciá-los novamente.

Update 5/13/17

Após várias horas de trabalho, agora cria apenas n threads e apenas os reutiliza, isso não ajudou. Além da temperatura da CPU, o que fará com que essa máquina acelere?

english

I have written a very CPU intensive threaded task that works as expected on my 2012 MacBook Pro quad core. I turn it loose with 20 threads and the temperatures get up to about 100 xc2xb0C as measured with Intel Power Gadget with minimal throttling.

Take the same program and data files home to my 2016 13" MacBook Pro with a dual core machine and start it up, I would expect that it would also keep up the 3.3-3.4 GHz until the temperature gets near the 100 xc2xb0C mark. Top command shows the task at 350% (2 cores each dual threaded), but the CPU frequency gets cut to 1.6-1-8 GHz with the temperature only at 60 xc2xb0C or so with the fans dead quiet. If I start 4 separate single threaded CPU tasks, the machine behaves as expected with it keeping up the 3.3-3.4 GHz until it hits the 100 xc2xb0C and the fans get cranking. The question is why is my CPU being throttled?

Both machines are up to date and running the same versions of gcc. If I even take the binary from the working machine and put it on the 2016 Mac, it has the same problem.

If I run 3 or 4 CPU single threads so the machine is going at full speed, then start the threaded program, it slows the frequency down also.

Both machines have 16 GB of RAM.

Edit

After playing around with code, I suspect that it is getting throttled when a task creates too many threads. In this program, I take each record I read and create a thread for it. I only let 20 or so threads go at a time so at no time is there more than 21 threads, but there are 14,400,000 records to be processed so over the 30 minutes or so each of those records will be processed by a separate thread.

I created a trivial pthread program that sucked CPU time and set 10 of them running. The problem laptop ran that and warmed up to 95C without issues.

I guess I will rewrite my code to reuse the same thread instead of destroying them and starting them up again.

Update 5/13/17

After several hours of work, it now only creates n threads and just reuses them, that didn't help. Other than CPU temperature, what will cause this machine to throttle down?

           
         
         

Lista de respostas

1
 
vote

Isso pode ser um longshot, mas talvez a diferença no desempenho de núcleo único e / ou desempenho de cache entre os pacotes de CPU de 2012 e 2016 seja grande o suficiente para que os núcleos estejam famintos de dados e estúpidos até que possam trabalhar novamente ?

Estou fazendo esse palpite porque você indica processos de rosca única o suficiente podem executar a velocidade máxima em todos os núcleos, e um simples programa multi-thread pode executar a velocidade máxima em todos os núcleos.

Isso me faz pensar que há algo no design do programa da sua carga de trabalho real vs a carga de trabalho de multi-thread de teste que não deixa que os CPUs funcionem o tempo todo

 

This may be a longshot, but perhaps the difference in single-core performance and/or cache performance between the 2012 and 2016 cpu packages are large enough that the cores are data-starved and throttling down until they are able to work again?

I'm making that guess because you indicate enough single-thread processes can run full speed on all cores, and a simple multi-thread program can run full speed on all cores.

That makes me think there is something in the program design of your real workload vs the test multi-thread workload that isn't letting the CPUs work all the time

 
 
0
 
vote

O kernel extension /system/library/extensions/appleacpiplatform.kext controla muitas salvaguardas de temperatura e CPU. Já é compilado, obviamente, em seu sistema, mas pode estar disponível em https://opensource.apple.com (Eu não consigo encontrá-lo, mas eu só dei uma olhada rápida). Não me surpreenderia se a Apple tivesse configurações muito conservadoras na capacidade da CPU.

 

The kernel extension /System/Library/Extensions/AppleACPIPlatform.kext controls a lot of temperature and CPU safeguards. It's already compiled, obviously, on your system, but it may be available on https://opensource.apple.com (I can't find it, but I only gave it a quick look). It wouldn't surprise me if Apple had very conservative settings on CPU capability.

 
 
   
   
0
 
vote

Sempre que o sistema operacional reconhece os encadeamentos como imprevisíveis e fora de controle, ele diminuirá para permanecer hardware e a estabilidade do sistema, o modelo de 2012 se comportará de diferentes e poderá bloquear no pior dos casos. Aconteceu comigo com controle de thread mal implementado, minha culpa. Apenas não execute muitos threads em um núcleo duplo.

 

Whenever the os recognizes threads as unpredictable and out of control it will throttle down to remain hardware and system stability, the 2012 model behaves different and might lock up in worst case. Happened to me with poorly implemented thread control, my fault. Just dont run that many threads on an dual core.

 
 
-2
 
vote

Aconteceu comigo com controle de rosca mal implementado, minha culpa. Apenas não execute muitos tópicos em uma CPU dual core.

 

Happened to me with poorly implemented thread control, my fault. Just dont run too many threads on a dual core CPU.

 
 

Perguntas relacionadas

2  Como sei que meu Mac desliga por causa do superaquecimento?  ( How do i know my mac turns off because of overheating ) 
Meu MacBook Pro (Yosemite) O início de 2011 às vezes desliga inesperadamente ao executar tarefas pesadas na energia da bateria. Existe uma maneira de confirma...

3  Uma bateria do iPhone drenam mais rápido no frio?  ( Does an iphone battery drain faster in cold ) 
Eu tenho um iPhone SE e eu notei que a drenagem da bateria é mais rápida quando fora e no inverno. Eu ouvi alguns sites e as pessoas dizem que as baterias d...

7  MacBook Pro 13 "- 2017 - Questões de aquecimento quando conectadas ao monitor externo  ( Macbook pro 13 2017 heating issues when connected to external monitor ) 
Minha pergunta é sobre a temperatura do chassi e os problemas de superaquecimento. Eu comprei recentemente um MacBook Pro 13 "- 2017 com duas portas de raio 3...

13  MacBook Pro 2018 com superaquecimento de Mojave quando conectado ao monitor externo  ( Macbook pro 2018 with mojave overheating when connected to external monitor ) 
Estou em um MacBook Pro (15 polegadas de 2018) com Mojave 10.14.1. Quando eu conecto MBP a um vídeo externo (através de adaptadores HDMI ou via Thunderbolt 2)...

2  Como posso desativar os efeitos visuais no leão?  ( How can i disable visual effects in lion ) 
Acabei de instalar o Leão no meu 24 "iMac a partir de 2006 e tenho novamente problemas com os freezes de tela devido ao superaquecimento. Este é um problema c...

6  Desligue a tela MacBook quando conectado a um monitor  ( Turn off macbook screen when connected to a monitor ) 
Ao conectar meu MacBook Pro 2017 15 'para um monitor externo 4K, fica um pouco mais quente (65 ° Celsius, enquanto é apenas a 35 sem o monitor) do que eu quer...

11  Alguém mais viu "o iPhone precisa esfriar antes que você possa usá-lo"?  ( Has anyone else seen iphone needs to cool down before you can use it ) 
Agora, ao levar o meu iphone 4 do meu bolso, onde vive, eu estava deitado com uma tela dizendo "iPhone precisa esfriar antes que você possa usá-lo" (veja abai...

1  Um MacBook 2017/8, com 2ª exibição, permanece em um scorching 90c se levantado em um stand?  ( Does a 2017 8 macbook with 2nd display remain at a scorching 90c if raised on ) 
o relatórios são desconcertante . Se alguém usa um MacBook 2017 ou 2018 (Pro) como uma máquina de dupla propósito, com um monitor maior externo em cas...

1  MacBook Pro fan sempre onish  ( Macbook pro fan always onish ) 
Nos últimos meses, tenho feito um monte de coisas de carga pesada no meu Mac. Então eu não me preocuparia com os fãs correndo a toda velocidade. Recentemente,...

3  Falha dos sensores SMC durante a execução da bateria  ( Smc sensors failure while running on battery ) 
Eu tenho problemas com o SMC no MacBook Air 2016. Ao executar a bateria, os dados do módulo SMC congela. Em menus de ISTAT temperaturas de sensores, RPMs, med...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.