AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1508348
Accepted
Chechy Levas
Chechy Levas
Asked: 2019-12-09 00:48:01 +0800 CST2019-12-09 00:48:01 +0800 CST 2019-12-09 00:48:01 +0800 CST

Existe uma configuração de BIOS que controla o compartilhamento de carga da CPU?

  • 772

Percebi que, para qualquer tarefa de thread único de longa duração, meu PC doméstico aloca o uso total para um único núcleo lógico para todo o processo. No entanto, para exatamente o mesmo processo, meu PC de trabalho compartilha a carga entre todos os núcleos (cada núcleo executa o processo de thread único).

Ambos os PCs executam o Windows 10. Meu PC doméstico tem uma CPU e uma placa-mãe diferentes (ASUS ROG 11ª edição).

Este parece ser o caso de qualquer processo, mas o exemplo que acabei de testar é um script R que escrevi. Ambos os PCs executando exatamente o mesmo script R, a mesma versão do R, têm abordagens diferentes para o compartilhamento de carga da CPU. O pior é que meu PC doméstico parece sempre usar CPU0 para esse tipo de coisa.

Espero que haja uma configuração de BIOS que eu possa aplicar no meu PC doméstico para que ele compartilhe a carga uniformemente. Existe?

cpu bios
  • 3 3 respostas
  • 5679 Views

3 respostas

  • Voted
  1. Eugen Rieck
    2019-12-09T03:13:15+08:002019-12-09T03:13:15+08:00

    O escalonamento de threads para núcleos é uma arte, e muito difícil. Isso tem a ver com a maneira como as CPUs multicore modernas gerenciam seu perfil térmico. Dependendo do modelo exato, a CPU pode fazer mais ou menos de um ou mais dos seguintes itens:

    • Aumente a frequência do clock de um ou mais núcleos se houver espaço de manobra térmica
    • Desligue componentes não utilizados (incluindo núcleos) para liberar mais espaço no perfil térmico
    • Acelere alguns núcleos para permitir impulsionar outros dentro do envelope térmico
    • muito mais

    Isso implica que, para uma carga de trabalho de thread único (como um Rscript), a melhor estratégia varia muito:

    • Se a CPU puder impulsionar um núcleo em detrimento de outros, é uma boa ideia "fixar" esse encadeamento ao núcleo impulsionado
    • Se o envelope térmico for pequeno, faz sentido atribuir a tarefa a um núcleo diferente de tempos em tempos para o núcleo mais frio

    Qualquer que seja a escolha do agendador, você deve confiar que ele fará um trabalho melhor do que qualquer ser humano jamais poderia fazer.

    • 26
  2. Keltari
    2019-12-09T01:22:27+08:002019-12-09T01:22:27+08:00

    Não. O BIOS de um computador pode controlar quais núcleos da CPU são ativados ou desativados e a velocidade do núcleo, mas não tem controle sobre o que é executado nele. A execução de um programa e seus threads são controlados pelo sistema operacional.

    Agora, por que os dois computadores se comportam de maneira diferente, bem, essa é uma questão completamente diferente. Pode ser a configuração do sistema operacional ou a configuração do R. Isso precisaria ser feito em uma pergunta diferente e exigiria mais detalhes sobre suas configurações de hardware e software.

    Também quero observar que não há nada de errado em executá-lo apenas em um núcleo. Executar programas é o que ele foi projetado para fazer. Talvez seu computador de trabalho esteja executando mais tarefas simultâneas e precise conciliar o uso da CPU. Pode ser que seu computador doméstico tenha núcleos mais rápidos e não precise trocar threads por outros núcleos.

    • 13
  3. Best Answer
    Corrodias
    2019-12-10T09:11:38+08:002019-12-10T09:11:38+08:00

    Acredito que o culpado mais provável é que sua máquina doméstica esteja utilizando um recurso no agendador do Windows 10, amplamente conhecido como suporte de "núcleo favorecido", que prioriza os núcleos de alto desempenho em detrimento dos de baixo desempenho. Antes de 2018, geralmente se podia confiar em uma CPU de desktop para executar um thread na mesma velocidade, independentemente do núcleo em que você o colocasse. Mesmo que um núcleo fosse teoricamente capaz de funcionar em uma frequência mais alta para uma determinada voltagem do que outro núcleo, a CPU não foi projetada para permitir isso.

    Foi apenas com o advento das CPUs Zen+ Ryzen da AMD em 2018 que uma mudança nesse cenário se generalizou. Com esses modelos, a AMD começou a permitir que CPUs com núcleos de qualidade mista aumentassem para diferentes frequências de clock, dependendo de quais núcleos estivessem sob carga. Isso se tornou amplamente ineficaz quando o agendador trocou o thread para cada núcleo, independentemente do perfil de desempenho. A penalidade de desempenho foi agravada pela arquitetura da AMD de ter os núcleos divididos em grupos chamados "CCX"s; transferir um thread de um núcleo para outro dentro de um CCX é mais rápido do que espalhá-lo entre diferentes CCXs.

    As CPUs "Extreme Edition" da Intel também têm esse tipo de suporte explícito e de desempenho misto. Eles se referem a ele como Tecnologia Intel Turbo Boost Max 3.0 . A Intel afirma que a versão mais antiga do Windows 10 que suporta isso é "RS5", que parece ser 1809.

    Com a tecnologia Intel® Turbo Boost Max 3.0, o desempenho levemente segmentado é otimizado ao identificar os núcleos mais rápidos do seu processador e direcionar suas cargas de trabalho mais críticas para eles.

    Até 2019, todas as versões do Windows ignoravam esses fatos e agendavam threads igualmente em todos os núcleos físicos para CPUs AMD. A versão 1903 do Windows 10 incluía um agendador atualizado que reconhece as unidades CCX da AMD e tenta manter os threads na mesma unidade. link

    As melhorias visam ter um efeito especial em tarefas que usam apenas alguns núcleos. Os encadeamentos agora alternariam menos entre os CCXs individuais.

    O Windows 10 versão 1909 trouxe mais melhorias para o agendador, agora tornando-o ciente da situação de núcleo de desempenho misto, em um recurso chamado de "Otimização de núcleo de CPU favorecida". link

    em uma postagem recente no blog do Windows Insider, a Microsoft afirmou que o Windows 10 19H2 incluirá otimizações sobre como as instruções são distribuídas para esses núcleos favoritos.

    Admito que meu entendimento dessa linha do tempo não é 100% certo, e os núcleos favoritos podem ser utilizados em versões anteriores, mas tem sido surpreendentemente difícil encontrar informações concretas sobre isso. A maioria das postagens de notícias parece concordar que o suporte ao "núcleo favorecido" é totalmente novo para 1909, apesar da linguagem implicar que estava presente em versões anteriores.

    A arquitetura ARM na verdade tinha suporte explícito para uma configuração de desempenho misto como esta chamada "big.LITTLE" desde 2011 . Uma compilação do Windows 10 que roda em ARM foi lançada em 2017 , e o suporte para big.LITTLE foi incluído desde o início ou pelo menos até 2018 . Isso parece ter se encaixado muito bem com a adição de suporte para nossa situação moderna de Intel e AMD.

    Como um aparte, os núcleos lógicos são excluídos apenas até serem necessários porque estão estacionados, não porque o próprio escalonador os entenda. link

    Estacionamento principal é suportado apenas no Windows Server 2008 R2. No entanto, o algoritmo e a infraestrutura do Core Parking também são usados ​​para equilibrar o desempenho do processador entre os processadores lógicos nos sistemas clientes do Windows 7 com processadores que incluem a tecnologia Intel Hyper-Threading.

    • 12

relate perguntas

  • Velocidade do processador limitada a 0,4 GHz

  • Por que a formatação ganhou 7 computadores para o Windows 10 dobrou sua pontuação no banco de cpu-z?

  • Core i7 executa muito mal? [fechado]

  • O virtualbox requer uma CPU para suportar VT-d para hospedar sistemas operacionais convidados de 64 bits?

  • LGA1151 dimensões físicas?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    Serviço do Windows 10 chamado AarSvc_70f961. O que é e como posso desativá-lo?

    • 2 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Marko Smith

    ssl.SSLCertVerificationError: falha na verificação do certificado [SSL: CERTIFICATE_VERIFY_FAILED]: não foi possível obter o certificado do emissor local (_ssl.c:1056)

    • 4 respostas
  • Marko Smith

    Como posso saber em qual unidade o Windows está instalado?

    • 6 respostas
  • Martin Hope
    Albin Como faço para ativar o WindowsXP agora que o suporte acabou? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch O Windows 10 exclui muitos arquivos minúsculos muito lentamente. Algo pode ser feito para agilizar? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Como Ctrl+C e Ctrl+V funcionam? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve