View previous topic :: View next topic |
Author |
Message |
BaYGoN Tux's lil' helper
Joined: 21 Sep 2004 Posts: 109 Location: Brasília - DF (Brasil)
|
Posted: Wed Oct 25, 2006 11:44 pm Post subject: Teste de compilação de kernel: Processador Dual Core |
|
|
Olá a todos.
Depois de ter recentemente feito um upgrade no meu processador para o que está na minha assinatura, resolvi fazer um teste de compilação para ver o ganho que um processador dual-core pode oferecer na redução do tempo de compilação.
Para este teste, usei o kernel vanilla 2.6.18
Foram executados os seguintes comandos:
Code: | yes "" | make config
time make -jX |
Onde X representa os valores usados começando por 1.
Entre cada compilação foi executado make mrproper para limpar os "restos" da compilação anterior.
Eis o resultados obtidos:
Quote: | j1
real 4m31.251s
user 3m57.182s
sys 0m26.476s
j2
real 3m5.388s
user 4m41.609s
sys 0m30.430s
j3
real 3m10.885s
user 4m43.696s
sys 0m30.708s
j4
real 3m6.098s
user 4m43.187s
sys 0m30.895s
j5
real 3m6.737s
user 4m44.429s
sys 0m31.259s |
Fiquei um pouco confuso com estes resultados, pois acho que não sei bem ler o output do comando time. Pela lógica, o valor real é o que eu deveria levar em consideração.
Tomando os resultados de j1 e j2 como base, será que os 1m26s de ganho em performance representa tudo aquilo que este processador pode me oferecer?
Fazendo uma regrinha de 3 básica, o ganho ao usar j2 (em relação a j1) é de 46,5%. Acho pouco perto do que este brinquedo custou..
De qualquer forma, acho que o pessoal que tem um Pentium D com suporte HT, pode ver um ganho melhor usando j4 se comparado com o uso de j2 no mesmo processador.
Estava usando j3 até agora, mas vou mudar para j2.
Sei que esta não é a melhor das metodologias para se tirar conclusões, mas tentei reproduzir o mesmo teste feito pela Anandtech com um X2 4200+ há 1 ano atrás.
Espero que este teste tenha sido de alguma valia para o pessoal que está pensando em comprar um processador dual-core.
Eis meu cpuinfo como referência:
Quote: | baygon ~ # cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 35
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4800+
stepping : 2
cpu MHz : 2411.139
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni lahf_lm cmp_legacy
bogomips : 4824.22
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp
processor : 1
vendor_id : AuthenticAMD
cpu family : 15
model : 35
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4800+
stepping : 2
cpu MHz : 2411.139
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni lahf_lm cmp_legacy
bogomips : 4821.49
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp |
[]'s
BaYGoN _________________ Linux User #433896
HP DV6-6190US / Linux 3.4.6-pf #1 SMP PREEMPT Fri Aug 10 13:19:26 BRT 2012 x86_64 Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz GenuineIntel GNU/Linux
"The destiny of every guru is to be a noob for eternity" |
|
Back to top |
|
|
RoadRunner Bodhisattva
Joined: 12 Jun 2002 Posts: 490 Location: Coimbra, Portugal
|
Posted: Thu Oct 26, 2006 6:09 pm Post subject: |
|
|
Não é nada pouco, é bem normal para máquinas com mais do que um core. A título de exemplo uma máquina com dois processadores físicos nunca tería um ganho de 100% uma vez que muitos dos componentes do computador continuam a ser partilhados. Dependendo das arquitecturas até o BUS é partilhado nunca podendo representar um ganho de 100%.
No caso da compilação de software é impossível teres uma tarefa a ser compilada em dois processadores, o que acontece é que dizes ao make para usar duas tarefas de compilação em simultâneo sempre que isto é possível. Não te esqueças que há dependencias de ficheiros para outros, há a partilha de bus, de I/O nalguns casos portanto um ganho de 50% até é bastante bom.
Como já foi dito em vários sites, a vantagem de multiplos processadores em computadores pessoais é a capacidade de executares tarefas diferentes em simultâneo. Só é possível executar o mesmo programa em dois processadores se o programa for multi-thread, o que são muito poucos. Mesmo neste caso há sempre os acessos I/O que podem impedir o rendimento total dos dois processadores e outros factores. Imagina assim, tens duas pessoas a fazer uma tarefa A, se a pessoa 1 precisar de A1 que a pessoa 2 produza e a pessoa 2 demora tempo a criar A1 , a pessoa 1 tem que ficar parada à espera ou executar outra tarefa (por exemplo B). Quando a pessoa 2 conseguir produzir A1 possívelmente a pessoa 1 não pode interromper a tarefa B e só após a conclusão de B pode ser contínuada a A.
Se queres um teste mais real, experimenta compilar duas versões do kernel diferentes uma após a outra, era isso que aconteceria num sistema com um processador. Depois tenta compilar as mesmas versões em simultâneo, uma em cada consola com -j1 e vê o ganho que tens. |
|
Back to top |
|
|
atf n00b
Joined: 08 Aug 2006 Posts: 15 Location: Rio de Janeiro
|
Posted: Thu Oct 26, 2006 6:12 pm Post subject: Dual Core |
|
|
Como se pode ver, esse ganho tão anunciado, e caro, só tem validade para servidores com grande volume de serviço que realmente necessitam de procesamento paralelo.Para um usuário comum, que dificilmente executa mais de duas tarefas, nada representa. _________________ atf
LinuxUser#142898 |
|
Back to top |
|
|
RoadRunner Bodhisattva
Joined: 12 Jun 2002 Posts: 490 Location: Coimbra, Portugal
|
Posted: Fri Oct 27, 2006 2:26 am Post subject: |
|
|
Bem, para o utilizador comum ter múltiplos processadores tem vantagens tal como em servidores, um computador pessoal tem bem mais do que duas tarefas a correr, basta executares um ps aux para veres a quantidade de processos que tens a correr. Eu compreendo o que queres dizer, o ganho é mais notório em servidores do que em computadores domésticos, no entanto mesmo em computadores domésticos esse ganho não é insignificante.
Quem me pôs o vício das máquinas multi processador foi o Humpback, na altura 100Mhz de diferença de velocidade notava-se. Quando tive oportunidade de comprar uma máquina com dois processadores comprei um dual Athlon MP 1.5+ que custou qualquer coisa como 250 euros cada processador e 400 euros a motherboard. Fiquei pasmado com a rapidez do sistema, conseguia ter várias aplicações a correr, gravar um cd e ainda conseguia jogar quake3 sem notar lentidão. Ainda hoje é uma máquina fantástica que parece ter muito mais de 1.5Ghz. Fui-me habituando tanto a máquinas multi processador que noto uma diferença de performance enorme quando estou a usar máquinas com um só processador.
Penso que as máquinas com processadores Dual Core não são tão boas como as com dois processadores físicos pois partilham muito mais recursos, deve haver vários testes neste sentido mas sinceramente nunca procurei, mas um bom site para começar é o 2cpu.com. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|