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 formato IBM no momento em que ele inicia uma inicialização de chave USB legada até que eu receba um prompt do sistema operacional é ridiculamente longo. Eu estou usando o SmartOS (um derivado do illumos / opensolaris para todos os efeitos, uma vez que ele é executado e atua muito como o Solaris 11) que funciona como o filhote de cachorro Linux, por exemplo. Ele carrega um blob "comprimido" de 275MB (o sistema operacional inteiro) e, em seguida, inicializa o sistema operacional na memória. Isso realmente mostra o problema com a implementação uEFI da IBM de inicialização herdada .
BEG: 1:27:05 pm (start SmartOS USB 2.0 USB key)
END: 1:33:38 pm (done into running SmartOS - we read 275MB)
---
TOOK: 6:33 (six minutes and 33 seconds - pretty slow - only 0.75MB/sec.)
É quase como se a implementação de UEFI usasse um tamanho de bloco pequeno, como leituras de 512 bytes, em vez de um buffer maior durante as leituras. Quando estiver no SO, posso avaliar o desempenho da chave USB que inicializei, IMHO se o código UEFI da IBM apenas lesse 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, eu 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 / seg em um SO inicializado) ou melhor ainda um tamanho de bloco 32768 (20,2 MB / seg em um sistema operacional inicializado) seria boas escolhas. Também parece que um tamanho de bloco de 512 (0.64 MB / s em um sistema operacional inicializado) corresponde muito próximo dos resultados que pareço ter em minhas longas botas.
time dd if=/dev/dsk/c1t0d0p0 of=/dev/null bs=512 count=524288
524288+0 records in
524288+0 records out
real 31m19.499s
=> 00.64MB/sec. on SmartOS like Solaris 11 (this is the speed of the IBM bios boot speed)
time dd if=/dev/dsk/c1t0d0p0 of=/dev/null bs=1024 count=262144
262144+0 records in
262144+0 records out
real 1m39.989s
=> 02.56MB/sec. SmartOS like Solaris 11
time dd if=/dev/dsk/c1t0d0p0 of=/dev/null bs=2048 count=131072
131072+0 records in
131072+0 records out
real 0m50.215s
=> 05.09MB/sec. SmartOS like Solaris 11
time dd if=/dev/dsk/c1t0d0p0 of=/dev/null bs=4096 count=65536
65536+0 records in
65536+0 records out
real 0m33.056s
=> 07.74MB/sec. SmartOS like Solaris 11
time dd if=/dev/dsk/c1t0d0p0 of=/dev/null bs=8192 count=32768
32768+0 records in
32768+0 records out
real 0m20.757s
=> 12.33MB/sec. SmartOS like Solaris 11
time dd if=/dev/dsk/c1t0d0p0 of=/dev/null bs=32768 count=8192
8192+0 records in
8192+0 records out
real 0m12.785s
=> 20.02MB/sec. on SmartOS like Solaris 11 (as expeected and seen on a Win7 box)
time dd if=/dev/dsk/c1t0d0p0 of=/dev/null bs=131072 count=2048
2048+0 records in
2048+0 records out
real 0m11.532s
=> 22.19MB/sec. SmartOS like Solaris 11
Eu estava usando o seguinte um novo IBM x3550 M3 com UEFI (BIOS) rev 1.13 (ram de 12 GB e um processador Xenon de 2.266 GHz)
Firmware Type Version String Release Date
IMM YUOOC7E 09/30/2011
UEFI D6E154A 09/23/2011
DSA DSYT89P 10/28/2011
Devo dizer que estou muito desapontado com a "velocidade" de inicialização via USB no modo de BIOS legado na implementação de UEFI da IBM.
O pensamento para a minha imagem de 275MB um Supermicro XSCA9F ou um Oracle-Sun X4275 inicializa uma imagem de chave de 275 MB em apenas 32 ou 33 segundos, respectivamente, enquanto o IBM x3550 M3 ocupa 363 segundos para o mesmo imagem (11 vezes mais lenta) .
Esse desempenho é totalmente inaceitável e o problema existe em toda a linha do System X. Eu estive em contato com a IBM e eles apenas dizem tentar uma carga de inicialização uEFI (que é como dizer para mim aprender a especificação UEFI, aprender GRUB2 e escrever seu próprio gerenciador de inicialização personalizado, sim é factível, mas eu não tenho um extra 2 -3 semanas para mexer com essas coisas). Sim, usar uma inicialização uEFI "pura" deve funcionar rápido, mas eu não posso provar isso, no entanto, eu não poderia usar "distros padrão" e também como eu indiquei que seria forçado a escrever meu próprio gerenciador de inicialização.
Esse problema "slow legacy booting" foi relatado por mim no IBM Problem / Ticket # A02PGGK, eu até tentei entrar em contato com o desenvolvedor da uEFI diretamente (acho que é Michael Brinkman) diretamente, no entanto a IBM não parece se importar em reconhecer esta questão e a grande comunidade de pessoas e empresas que são impactadas.
Eu também publiquei uma análise semelhante a um tópico no link que também discute "inicialização lenta" de volta em set. 2009 aqui é o mesmo problema que tenho visto
Boot time is too slow. It take about 20 minutes to boot a VMware ESX
when EFI is used, compared to less than 2 minutes with the normal bios
esta é a mesma lentidão 10X ou 11X que eu experimento, espero que algum dia a IBM conserte isso.
Jon Strabala