Concordo que a implementação legada do System X uEFI é tão dolorosamente lenta que posso até evitar vendê-los como uma plataforma para meus clientes.
Medir o formulário da IBM no momento em que inicia uma inicialização de chave USB herdada até que eu receba um prompt do SO é ridiculamente longo. Estou usando o SmartOS (um derivado illumos / opensolaris para todos os fins, uma vez inicializado, ele roda e age muito como o Solaris 11), que funciona como o Linux filhote, por exemplo, carrega um blob "compactado" de 275MB (todo o sistema operacional) e inicializa o SO na memória. Isso realmente mostra o problema com a implementação uEFI da IBM de inicialização herdada .
BEG: 13:27:05 (iniciar a chave USB do SmartOS USB 2.0)
FIM: 13:33:38 pm (concluído na execução do SmartOS - lemos 275MB)
---
TOOK: 6:33 (seis minutos e 33 segundos - bem lento - apenas 0,75 MB / s)
É quase como se a implementação UEFI usasse um tamanho minúsculo de bloco, como leituras de 512 bytes, em vez de um buffer maior durante leituras. Quando estou no sistema operacional, posso avaliar o desempenho da chave USB que inicializei, IMHO se o código IBM UEFI tivesse apenas um tamanho de bloco 8192 ou melhor ainda, um tamanho de bloco 32768, a inicialização resultante seria super rápida.
Então, uma vez em um sistema operacional SmartOS, vi as seguintes características de desempenho para minha chave USB, variando de 512 bytes a 131072 bytes. Parece que o tamanho do bloco 8192 (12,3 MB / s em um sistema operacional inicializado) ou melhor ainda, o tamanho do bloco 32768 (20,2 MB / s em um sistema operacional inicializado) seria uma boa escolha. Também parece que um tamanho de 512 blocos (0,64 MB / s em um sistema operacional inicializado) corresponde bem perto dos resultados que pareço experimentar em minhas longas botas.
tempo dd se = / dev / dsk / c1t0d0p0 de = / dev / null bs = 512 count = 524288
524288 + 0 registros em
524288 + 0 registros
31m19.499s reais
=> 00,64 MB / s. no SmartOS como o Solaris 11 (esta é a velocidade da velocidade de inicialização do IBM bios)
tempo dd se = / dev / dsk / c1t0d0p0 de = / dev / null bs = 1024 count = 262144
262144 + 0 registros em
262144 + 0 registros
real 1m39.989s
=> 02,56 MB / s. SmartOS como Solaris 11
tempo dd se = / dev / dsk / c1t0d0p0 de = / dev / null bs = 2048 count = 131072
131072 + 0 registros em
131072 + 0 registros
0m50.215s reais
=> 05,09 MB / s. SmartOS como Solaris 11
tempo dd se = / dev / dsk / c1t0d0p0 de = / dev / null bs = 4096 count = 65536
65536 + 0 registros em
65536 + 0 registros esgotados
0m33.056s reais
=> 07,74 MB / s. SmartOS como Solaris 11
tempo dd se = / dev / dsk / c1t0d0p0 de = / dev / null bs = 8192 count = 32768
32768 + 0 registros em
32768 + 0 registros
0m20.757s reais
=> 12,33 MB / s. SmartOS como Solaris 11
tempo dd se = / dev / dsk / c1t0d0p0 de = / dev / null bs = 32768 count = 8192
8192 + 0 registros em
8192 + 0 registros registrados
0m12.785s reais
=> 20,02 MB / s. no SmartOS como Solaris 11 (como visto e visto em uma caixa Win7)
tempo dd se = / dev / dsk / c1t0d0p0 de = / dev / null bs = 131072 count = 2048
2048 + 0 registros em
2048 + 0 registros esgotados
0m11.532s reais
=> 22,19MB / s. SmartOS como Solaris 11
Eu estava usando o seguinte um novo IBM x3550 M3 com UEFI (BIOS) rev 1.13 (12 GB de RAM e um processador Xenon de 2.266 GHz)
Tipo de firmware Versão String Data de lançamento
IMM YUOOC7E 30/09/2011
UEFI D6E154A 23/09/2011
DSA DSYT89P 28/10/2011
Devo dizer que estou profundamente desapontado com a "velocidade" da inicialização por USB no modo BIOS herdado na implementação IBM UEFI.
Alimento para pensar na minha imagem de 275 MB, um Supermicro XSCA9F ou um Oracle-Sun X4275 inicializará uma imagem de chave usb de 275 MB em apenas 32 ou 33 segundos, respectivamente, enquanto o IBM x3550 M3 leva mais de 363 segundos para a mesma imagem (11 vezes mais lento) .
Esse desempenho é totalmente inaceitável e o problema existe em toda a linha System X. Estive em contato com a IBM e eles dizem apenas tentar um carregamento de inicialização uEFI (o que é como dizer para aprender as especificações UEFI, aprender GRUB2 e escrever seu próprio carregador de inicialização personalizado, sim, é possível, mas não tenho 2 extras -3 semanas para mexer com essas coisas). Sim, o uso de uma inicialização uEFI "pura" deve funcionar rapidamente, mas não posso provar isso; no entanto, não pude usar "distros padrão" e, como indiquei, seria forçado a escrever meu próprio carregador de inicialização uEFI.
Esse problema "inicialização lenta do legado" foi relatado por mim no problema da IBM / ticket # A02PGGK, tentei entrar em contato com o desenvolvedor da uEFI (acho que é Michael Brinkman) diretamente, no entanto, a IBM parece não querer reconhecer esse problema e a grande comunidade de pessoas e empresas afetadas.
Também publiquei uma análise semelhante a um tópico em http://communities.intel.com/thread/3909?wapkw=uEFI, que também discute a "inicialização lenta" em setembro de 2009. Aqui é o mesmo problema que tenho visto.
O tempo de inicialização é muito lento. Demora cerca de 20 minutos para inicializar um VMware ESX quando o EFI é usado, comparado a menos de 2 minutos com o BIOS normal
esse é o mesmo abrandamento de 10X ou 11X que experimento, espero que algum dia a IBM conserte isso.
Jon Strabala