下一页 上一页 目录

21. SMP。

嗯,SMP 是支持的,而且我确信 ROSS 的双 CPU 模块也被支持,你可以自己看到


piou@ywing:~ > cat /proc/cpuinfo 
cpu             : ROSS HyperSparc RT625 or RT626
fpu             : ROSS HyperSparc combined IU/FPU
promlib         : Version 3 Revision 2
prom            : 2.25
type            : sun4m
ncpus probed    : 2
ncpus active    : 2
Cpu0Bogo        : 125.33
Cpu1Bogo        : 125.33
MMU type        : ROSS HyperSparc
invall          : 0
invmm           : 0
invrnge         : 0
invpg           : 0
contexts        : 4096
CPU0            : online
CPU1            : online
piou@ywing:~ > 

SparcStation 10 和 SparcStation 20 是支持 SMP 的计算机,根据 FAQABOSS,以下组合已知可以工作:

而且,如前所述,SparcStation 10 中的 CPU 模块可以以不同的时钟速度运行,以下这些__应该__可以工作:

性能如何?嗯,它很快,真的很快。一些 Java 演示程序在双 HyperSparc 125Mhz 128MB ( ywing ) 上运行速度比在双 Celeron BP6 433@433Mhz 192MB ( calimero ) 上更快。Gimp 也是如此。但在编译时,calimeroywing 运行得更快。两台计算机都运行 2.2.16 内核,且 calimero 的硬盘子系统是全 SCSI 的。

当你计划在你的计算机中使用不同的 CPU 模块时,一个重要的细节是模块类型要相同,例如,你不能混用 SuperSparc 和 HyperSparc,但你可以使用奇数个 CPU,例如 3 个。据 AcesHardware 的这篇文章所述,它们能够以不同的时钟速度运行模块,但我没有亲眼见过。

ywing 已升级为四核 CPU。你可以查看内核消息


cpu             : ROSS HyperSparc RT625 or RT626
fpu             : ROSS HyperSparc combined IU/FPU
promlib         : Version 3 Revision 2
prom            : 2.25
type            : sun4m
ncpus probed    : 4
ncpus active    : 4
Cpu0Bogo        : 125.33
Cpu1Bogo        : 125.33
Cpu2Bogo        : 125.33
Cpu3Bogo        : 125.33
MMU type        : ROSS HyperSparc
invall          : 0
invmm           : 0
invrnge         : 0
invpg           : 0
contexts        : 4096
CPU0            : online
CPU1            : online
CPU2            : online
CPU3            : online

并且其主内存现在为 256MB。


total:    used:    free:  shared: buffers:  cached:
Mem:  263028736 29114368 233914368 22958080  1695744 12779520
Swap: 133849088        0 133849088
MemTotal:    256864 kB
MemFree:     228432 kB
MemShared:    22420 kB
Buffers:       1656 kB
Cached:       12480 kB
BigTotal:         0 kB
BigFree:          0 kB
SwapTotal:   130712 kB
SwapFree:    130712 kB

所以我使用 make -JN 执行了一个经验性的 proftpd 编译测试。结果如下:


with make
real    3m27.466s
user    3m15.670s
sys     0m12.030s

with make -j2

real    1m52.670s
user    3m27.210s
sys     0m15.310s

with make -j3

real    1m22.560s
user    3m43.910s
sys     0m18.070s

with make -j4
real    1m13.582s
user    4m2.200s
sys     0m22.830s

with make -j5
real    1m13.445s
user    4m4.060s
sys     0m22.640s

with make -j8

real    1m15.550s
user    4m1.840s
sys     0m22.960s

with make -j 10
real    1m20.091s
user    4m2.440s
sys     0m22.170s

正如预期的那样,最佳结果是使用 make -j5 ( 每个 CPU 一个实例 + 一个在缓存未命中时准备进入的实例 );然后,随着 N 的增加,结果开始变差。

总而言之,由于多线程和算法的并行化,当 GIMP 2.0 可用时,这些 sun4m SMP 系统将非常有趣。

如果你想了解更多关于 SMP 和 Linux 的信息,你可以阅读 SMP-HOWTO http://www.tldp.org/HOWTO/SMP-HOWTO.html


下一页 上一页 目录