
Eu ouvi uma história de um irmão, que algum outro irmão instalou um pequeno sistema operacional no cache da CPU e funcionou muito rápido. Processador Intel® Xeon® E7-8870 v3 possui modelo com cache de 45MB. Existem algumas tecnologias que permitem usar o cache do processo como disco? Essas tecnologias existiram no passado?
Responder1
O cache da CPU geralmente é mapeado dinamicamente para o espaço de endereço da RAM física sob demanda. De fato existem plataformas (combinação de CPU e sistema operacional) que permitem bloquear uma determinada associação entre RAM e cache. Além disso, existem CPUs que possuem memória interna rápida dedicada, mas isso é para sistemas embarcados, não para servidores.
O E7-8870v3 tem 18 núcleos e se alguém bloquear quantidades significativas de seu cache de nível 3 de 45 MB, o desempenho provavelmente será prejudicado em comparação com a alocação automática de cache, exceto se todos os 18 núcleos precisarem executar uma determinada tarefa muito rápida e repetidamente e/ou todo o código e dados cabem no cache de nível 3.
=> O termoinstalarnão faz sentido neste contexto porque ou tudo cabe no cache de qualquer maneira, então é um completo desperdício de esforços tentar bloquear qualquer coisa no cache porque isso acontecerá automaticamente, ou não cabe no cache e então é obviamente impossível para "instalá-lo".
Usar um cache de CPU como disco é (efetivamente) possível se você simplesmente usar um sistema de arquivos RAM. Se houver cache da CPU disponível e o sistema de arquivos RAM for acessado com muita frequência, é provável que pelo menos partes do sistema de arquivos RAM residam automaticamente no cache da CPU. Isso é equivalente ao que você está pedindo.
Porém, mais uma vez, este CPU possui 18 núcleos, então em circunstâncias normais (sistema operacional e aplicativos normais), isso não acontecerá e também não fará sentido, porque o cache de nível 2 por núcleo é bastante pequeno e a CPU só terá um bom desempenho se puder usar uma quantidade significativa de seu cache L3 conforme desejar.