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 / unix / Perguntas / 458812
Accepted
dippynark
dippynark
Asked: 2018-07-28 03:00:11 +0800 CST2018-07-28 03:00:11 +0800 CST 2018-07-28 03:00:11 +0800 CST

O que significa tráfego entre soquetes?

  • 772

Ao ler esta postagem no blog do Kubernetes sobre o gerenciador de CPU da Intel, ele menciona que você pode evitar o tráfego entre soquetes tendo CPUs allocated on the socket near to the bus which connects to an external device.

O que significa tráfego entre soquetes e quais problemas ele pode causar? Esses são meus palpites:

  • Uma CPU de um soquete precisa acessar um dispositivo conectado a um barramento que só é acessível a CPUs em outro soquete, portanto, as instruções para esse dispositivo devem ser gravadas na memória para serem executadas por uma CPU nesse outro soquete
  • Uma CPU de um soquete precisa acessar um dispositivo conectado a um barramento que só é acessível para CPUs em outro soquete, então as instruções para esse dispositivo são enviadas diretamente para uma CPU neste outro soquete para serem encaminhadas ao dispositivo (não tenho certeza se isso é mesmo possível)
kernel cpu
  • 1 1 respostas
  • 599 Views

1 respostas

  • Voted
  1. Best Answer
    Bob
    2018-07-28T08:01:24+08:002018-07-28T08:01:24+08:00

    Os autores da postagem do blog do Kubernetes apenas falam sem sentido tentando reinventar a roda - mais um PBS (sistema de lote portátil), que eles chamam de "gerenciador de CPU".

    Respondendo à pergunta: "O que significa tráfego entre soquetes e quais problemas ele pode causar?" - é necessário dizer primeiro, que se trata de Computadores Multiprocessadores , ou seja, sistemas de computadores com duas ou mais CPUs e soquetes de CPU respectivamente. Os sistemas multiprocessados ​​estão disponíveis em duas arquiteturas diferentes: SMP (multiprocessamento simétrico) e AMP (multiprocessamento assimétrico) .

    A maioria dos sistemas multiprocessadores disponíveis no momento são sistemas de arquitetura SMP. Esses sistemas têm a chamada memória compartilhada que é visível para CPUs físicas independentes como memória principal comum. Existem dois tipos de sistemas de acordo com o tipo de interconexão física das CPUs: barramento de sistema e chave de barra transversal.

    Diagrama do sistema SMP com interruptor de barra transversal:

    Interruptor de barra transversal SMP

    Diagrama do sistema SMP com barramento do sistema:

    barramento do sistema SMP

    A maioria dos sistemas SMP tem conexão de CPUs do tipo barramento de sistema e a postagem no blog do Kubernets é sobre sistemas desse tipo.

    Sistemas SMP com conexão de CPU de barramento de sistema têm vantagens e desvantagens. A desvantagem mais significativa desses sistemas é que eles são sistemas NUMA (acesso não uniforme à memória) . O que isto significa. Cada soquete de CPU associa fisicamente seu próprio banco de memória, mas o kernel do Linux não consegue distinguir essa associação em SMP - os bancos de memória são vistos para o Linux como memória integral única. Mas, apesar desse fato, surge o fenômeno NUMA - a interoperação de uma CPU física com endereços de seu próprio banco de memória física não é tão rápida quanto com banco(s) de memória associado(s) a outro soquete(-s) de CPU. Assim, desejamos naturalmente evitar o uso por uma CPU física de tais endereços na memória principal comum do SMP que pertençam ao banco de memória física conectado a outra CPU física.

    A parte "Limitações" da postagem do blog Kubernates refere-se ao fenômeno NUMA como problema de "tráfego entre soquetes" (citação):

    Os usuários podem querer alocar CPUs no soquete próximo ao barramento que se conecta a um dispositivo externo, como um acelerador ou placa de rede de alto desempenho, para evitar tráfego entre soquetes. Este tipo de alinhamento ainda não é suportado pelo gerenciador de CPU.

    A propósito, a incapacidade de atribuir um thread a alguma CPU definida que "está mais próxima" de algo é bastante natural. O kernel do Linux vê todos os núcleos de CPU de CPUs físicas como processadores SMP comuns iguais, pois não consegue distinguir CPUs físicas de computadores SMP. Existem algumas tentativas ruins de evitar o uso de núcleos de CPU que estão "mais distantes" usando sinais de "cache quente" e "cache frio", mas não funciona efetivamente devido à natureza dos sistemas SMP.

    Por favor, leia adicionalmente:

    • NUMA (Acesso Não Uniforme à Memória): Uma Visão Geral
    • Gerenciando a afinidade de processos no Linux
    • 5

relate perguntas

  • Danos no kernel do Linux Mint

  • Por que contagem de CPU diferente de nproc e nproc --all no contêiner OpenVZ?

  • Como os desenvolvedores do kernel Linux lidam com seu trabalho com milhões de linhas de código? É um método? [fechado]

  • Passe o sistema de arquivos raiz por rótulo para o kernel do Linux

  • Acesse o sistema de arquivos como usuário root

Sidebar

Stats

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

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

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