SGI: Hardware

Hardware partitioning on O200

  1. Does anyone have some experience with (hardware) partitioning an O200?
  2. Can this be done from the firmware monitor or do you need IRIX for it?
  3. And, also important, will each partition behave like a "real" machine for other OSes than IRIX or does this only work wih IRIX?
:Indy: :O2: :Octane: :Octane2: :O200: = :O200: - :O200: = :O200: (O200 cluster w/2 GIGAchannel cabinets)
[ ( hp ) ] 712/80 c3000 (dead) :hpserv: (J5600) c3700 c3750 c8000 rp2470 :rx2600: (rx2620) rx4640
| d | i | g | i | t | a | l | AXPpci33 AlphaStation 200 AlphaStation 255 PWS 500au AlphaServer DS20E AlphaServer DS25
C O B A L T Qube 2 Qube 3 RaQ RaQ 2 RaQ 4r RaQ XTR
I found the following docs on the web:


Well, these are actually meant for Origin 2000 machines, but maybe this will also work on an Origin 200 - at least I believe I've seen the mentioned setpart PROM monitor command on my craylinked machines. I'll give it a try this weekend if time allows.
:Indy: :O2: :Octane: :Octane2: :O200: = :O200: - :O200: = :O200: (O200 cluster w/2 GIGAchannel cabinets)
[ ( hp ) ] 712/80 c3000 (dead) :hpserv: (J5600) c3700 c3750 c8000 rp2470 :rx2600: (rx2620) rx4640
| d | i | g | i | t | a | l | AXPpci33 AlphaStation 200 AlphaStation 255 PWS 500au AlphaServer DS20E AlphaServer DS25
C O B A L T Qube 2 Qube 3 RaQ RaQ 2 RaQ 4r RaQ XTR
If I'm not mistaken, the O2K series can be partitioned at the module level. Every module needs base IO. For an O2000, a module is basically an O2K deskside. For an O200, a module would probably be ... an O200. And, this being an O200, two modules would be the minimum (duh) but also the maximum configuration. So, if you pull this off, you'll probably end up with two O200 systems (modules) with a rather fast interconnect. I don't know how the interconnect is exposed (MPI?). An interesting experiment, but I'm not sure how useful it is. Then again, that's true for most things I do with my SGIs :D
:PI: :Indigo: :Indigo: :Indy: :Indy: :Indy: :Indigo2: :Indigo2: :Indigo2IMP: :Octane: :Octane2: :O2: :O2+: Image :Fuel: :Tezro: :4D70G: :Skywriter: :PWRSeries: :Crimson: :ChallengeL: :Onyx: :O200: :Onyx2: :O3x02L:
To accentuate the special identity of the IRIS 4D/70, Silicon Graphics' designers selected a new color palette. The machine's coating blends dark grey, raspberry and beige colors into a pleasing harmony. ( IRIS 4D/70 Superworkstation Technical Report )
jan-jaap wrote: So, if you pull this off, you'll probably end up with two O200 systems (modules) with a rather fast interconnect. I don't know how the interconnect is exposed (MPI?). An interesting experiment, but I'm not sure how useful it is. Then again, that's true for most things I do with my SGIs :D

According to OpenBSD's SGI platform page MP operation for IP27 is supported for single nodes only. So it might not be possible to use the whole machine with OpenBSD. But it could be possible to use OpenBSD on one partition of it. And maybe run IRIX on another partition at the same time. Could be a nice stunt. Yeah, usefulness is very limited here - it could be easier to just remove the CrayLink cable between the parts - but who cares? ;)
:Indy: :O2: :Octane: :Octane2: :O200: = :O200: - :O200: = :O200: (O200 cluster w/2 GIGAchannel cabinets)
[ ( hp ) ] 712/80 c3000 (dead) :hpserv: (J5600) c3700 c3750 c8000 rp2470 :rx2600: (rx2620) rx4640
| d | i | g | i | t | a | l | AXPpci33 AlphaStation 200 AlphaStation 255 PWS 500au AlphaServer DS20E AlphaServer DS25
C O B A L T Qube 2 Qube 3 RaQ RaQ 2 RaQ 4r RaQ XTR
Ok, as the docs don't tell much about the setpart PROM monitor command, I'll give some details about it on Origin 200s:

setpart options:

Code: Select all

>> setpart -h
setpart:                Setup/teardown partitions.
options:
-v:             Verbose
-h:             Print out help about cmds
-s:             Setup partitions
-c:             Clear all partitions
-l:             List all partitions


Listing all partitions on an unpartitioned Origin 200 shows all modules as part of a partition 0:

Code: Select all

>> setpart -l
************ List of partitions ************
Partition: 0
Module  1
Module  2
************ End list of partitions ************


According to the docs, " A partition ID of 0 indicates an unpartitioned system. " ( IRIX Admin - System Configuration and Operation , page 130 (93)), though this ID can be used by setpart and I didn't saw a difference between module 1 in partition 0 (module 2 in partition 1) or module 1 in partition 1 (module 2 on partition 2). But using a partition ID of 0 might be an error, so I used IDs 1 and 2.

Partitioning can be started by using setpart or setpart -s :

Code: Select all

>> setpart
**********************************************************
* Enter partition ids followed by the module ids in that *
*  partition. Type in a 'q' at the module prompt if you  *
*   are done with all modules in a partition. Type in a  *
*   'q' at the partition prompt if you're done with all  *
*                       partitions.                      *
**********************************************************

Enter partition id: 1
Enter module id: 1
Enter module id: q

Enter partition id: 2
Enter module id: 2
Enter module id: q

Enter partition id: q

Partition: 1
Module  1
Partition: 2
Module  2

Do you wish to proceed [y] ? y

Reset to partition system.
>> reset
Resetting the system...


After a reset of the machine the current partition comes up with the hardware of the other partition removed:

Code: Select all

[...]
**** System Configuration and Diagnostics Summary ****
CONFIG:
No. of NODEs enabled    = 1
No. of NODEs disabled   = 0
No. of CPUs enabled     = 2
No. of CPUs disabled    = 0
Mem enabled             = 2048 MB
Mem disabled            = 0 MB
No. of RTRs enabled     = 0
No. of RTRs disabled    = 0

DIAG RESULTS:
ALL DIAGS PASSED.

**** End System Configuration and Diagnostics Summary ****


System Maintenance Menu

1) Start System
2) Install System Software
3) Run Diagnostics
4) Recover System
5) Enter Command Monitor

Option? 5
Command Monitor.  Type "exit" to return to the menu.

>> setpart -l
************ List of partitions ************
Partition: 1
Module  1
Partition: 2
Module  2
************ End list of partitions ************

I didn't find a way to access the console of the second partition though, I tried both the serial ports and the MSC port of the second module to no avail.

When running IRIX 6.5.5 (as the manpage of mkpart in 6.5.30 only speaks of Origin 3000s, but actually gave similar results, I tried an older version of IRIX to see if it's different there) on the first partition and using mkpart it seems to detect that the machine is partitioned although it does not see the other partition:

Code: Select all

origin-200-5 1# mkpart
Partition id = 1
origin-200-5 2# mkpart -l
partition: 1 = module: 1

The hardware is limited to the hardware available in module 1.

Unpartitioning the machine in the PROM monitor with setpart -c and trying to partition it under IRIX with mkpart does not really work:

Code: Select all

origin-200-5 1# /usr/sbin/mkpd
origin-200-5 3# mkpart -l
partition: 0 = module: 1 2
origin-200-5 4# mkpart -F -p 1 -m 1 -p 2 -m 2
WARNING: Use of Force Option overrides ALL sanity checks.
Do you want to continue? [y/n]: y
Cannot access /hw/module/*/slot/r*/*router/mon: No such file or directory
Want to reboot now? [y/n]: n
Exiting the command now.
origin-200-5 5# mkpart -l
partition: 0 = module: 1 2
origin-200-5 6# mkpart
Partition id = 0

origin-200-5 7# mkpart -p 1 -m 1 -p 2 -m 2
Cannot access /hw/module/*/slot/r*/*router/mon: No such file or directory
Cannot access /hw/module/*/slot/r*/*router/mon: No such file or directory
Failed to obtain proper router map info from Partition 0.
Please do a manual check of craylink connectivity and use -F
option to override sanity check.


So all in all, hardware partitioning might not work on an Origin 200, or at least not as expected. But maybe I'm doing something wrong. If somebody has some insight, please let me know.
:Indy: :O2: :Octane: :Octane2: :O200: = :O200: - :O200: = :O200: (O200 cluster w/2 GIGAchannel cabinets)
[ ( hp ) ] 712/80 c3000 (dead) :hpserv: (J5600) c3700 c3750 c8000 rp2470 :rx2600: (rx2620) rx4640
| d | i | g | i | t | a | l | AXPpci33 AlphaStation 200 AlphaStation 255 PWS 500au AlphaServer DS20E AlphaServer DS25
C O B A L T Qube 2 Qube 3 RaQ RaQ 2 RaQ 4r RaQ XTR