Overclocking Sun Enterprise 10000

I am running overclocked Sun Enterprise 10000 server at home. As much I know this is only overclocked e10k in the world. While overclocking it was easier that anyone might suspect, noone usually does it. Those computer are bought for millions of dollars and noone is going to play russian roulette for some 5% speed gain.

Background

Sun e10k has two boards called "Centerplane Support Board" (CSB) which provides system clock to all boards in system. Actually just one of CSB is needed, another is backup for fault tolerance. Those boards contain programmable clock generator controlled entirely from software. Unlike most computer systems this one have no idea about clockrate he going to run on. There is a separate control computer called "SSP" where you have to say type of CPUs used on e10k from command line. Using this info it programs CSB to run proper clock speed. Usually it is done via higher level scripts and you never see anything more than list of CPUs and choose "400Mhz CPU" from list. Actually, somewhere deep in stomack, those scripts run sys_clock named binary utility to set the actual clock.

Overclocking

So, for overclocking you just need to use utility "sys_clock" and set the speed you want. There are two main arguments it accepts:

  1. Clock speed in Hertz
  2. Overdrive ratio for CPUs

Example usage for 167Mhz CPUs:

% sys_clock -i 83333333 -p two-to-one
% sys_clock

Current Clock Frequencies:
--------------------------
Interconnect:       83.98 Mhz
Processor: 167.95 Mhz
JTAG: 5.00 Mhz

Targeted Clock Frequencies:
---------------------------
Interconnect:       83.98 Mhz
Proc Clock Ratio: two-to-one
JTAG:     5.00 Mhz
I have 400Mhz CPUs with 200Mhz interconnect to UPA bus and 100Mhz bus clockspeed between boards. Normal usage would be 100Mhz and two to one but I set it slightly higher:

% sys_clock -i 103000000 -p two-to-one
ultra5:test% sys_clock
Current Clock Frequencies:
--------------------------
Interconnect:     101.97 Mhz
Processor:        407.82 Mhz
JTAG:             5.10 Mhz

Targeted Clock Frequencies:
---------------------------
Interconnect:     103.00 Mhz
Proc Clock Ratio: two-to-one
JTAG:             5.00 Mhz

ultra5:test% 

Now after bootin up the e10k and logging in to running system:

-bash-3.00# prtdiag
System Configuration:  Sun Microsystems  sun4u SUNW,Ultra-Enterprise-10000
System clock frequency: 102 MHz
Memory size: 4096 Megabytes

========================= CPUs =========================

                    Run   Ecache   CPU    CPU
Brd  CPU   Module   MHz     MB    Impl.   Mask
---  ---  -------  -----  ------  ------  ----
 2     8     0      408     8.0   US-II    10.0


========================= Memory =========================

           Memory Units: Size 
           0: MB   1: MB   2: MB   3: MB
           -----   -----   -----   ----- 
Board 2     1024    1024    1024    1024 


========================= IO Cards =========================

     Bus   Freq
Brd  Type  MHz   Slot        Name                          Model
---  ----  ----  ----------  ----------------------------  --------------------
 2   SBus   25            0  QLGC,isp/sd (block)           QLGC,ISP1000U      
 2   SBus   25            0  SUNW,qfe                      SUNW,sbus-qfe      
 2   SBus   25            0  SUNW,qfe                      SUNW,sbus-qfe      
 2   SBus   25            0  SUNW,qfe                      SUNW,sbus-qfe      
 2   SBus   25            0  SUNW,qfe                      SUNW,sbus-qfe      

For diagnostic information,
see /var/opt/SUNWssp/adm/test/messages on the SSP.
-bash-3.00# 

As you see, CPUs run at 408 Mhz and system bus at 102Mhz. What was interesting that if I go over 408Mhz sys_clock starts to complain that CPU does not support speed blablabla. There IS some knowledge about maximum speed on CPU and this is set to 408MHz on 400Mhz Sun processors.

I expected to see some variantion in power consumption of this monster but did not. I tried to underclock too. This worked and made machine MUCH slower but there was not noticeable change in power consumption, so I left it on slight overclock just to be able say "It is overclocked!". Played around with higher overclock values too but pretty soon they made machine not even to boot up, so limits are not so far. It seems to be impossible to run 400Mhz CPUs on 466Mhz or such.

One more test was to change system clock when domains are running but they crashed when changing speed on the fly. sys_clock probably reprograms centerplane support board and somehow breaks something in between. It was NOT possible change system clock on the fly. Also since clock is same for all boards, it is not possible to set different clocks to different CPUs.

TODO

any ideas?

back to home