<?xml version="1.0"?>
<!DOCTYPE flagsdescription
   SYSTEM "http://www.spec.org/dtd/cpuflags1.dtd"
   >
<flagsdescription>

<filename>Sun-X6275</filename>

<title>Sun X6275 Multi-Node Platform Additional Info</title>

<header><![CDATA[
<p>This flags file provides additional information about how the Sun Blade X6275 was tested with multiple nodes active, using
a <a href="#submit">perl procedure</a> to distribute jobs across cores.</p>
]]></header>

<platform_settings><![CDATA[

<p>The <tt>rsh</tt> command was enabled using these commands:</p>
<pre style="margin-left:2em;">
svcadm enable svc:/network/shell:default 
svcadm enable svc:/network/login:rlogin 
</pre>

<p id="submit">The procedure <tt>submit.pl</tt> was used to distribute jobs across the two nodes.   The procedure is below. </p> 

<pre style="margin-left:2em;">
#!/bin/perl

use strict;
use Cwd;

# Particular testbed used today:
my @nodes = qw ( r4s3b1 r4s3b13 );

# Processor description: 
# Intel Nehalem chip has 4 cores, each cores with HT on, can run 2 threads.
my @cores                = qw ( 1 3 5 7 9 11 13 15 14 2 4 6 8 10 12 14 0 );  # When assigning,

my $rundir        = getcwd;
my $copynum       = shift @ARGV;
my $sub=0;

my $copynum = $copynum + 1;

my $node          =  ($copynum % 2); #even on node-0

if ($node == 0) {  $sub = 2 ; } else { $sub =1 ;}

my $copy_on_node  =  int (($copynum - $sub) / 2);

if ($copy_on_node &lt; 0) {  $copy_on_node = $copy_on_node * -1; }

my $processor_num    = $copy_on_node ;

open DOBMK, "> dobmk" or die "Eh?";
print DOBMK "cd $rundir\n";
print DOBMK 'echo -n "`hostname` " >> pbind.out' , "\n";
print DOBMK "/usr/sbin/pbind -b $cores[$processor_num] \$\$ >> pbind.out\n"; 
print DOBMK 'sh -c "' . join(' ', @ARGV) . '"' . "\n";
close DOBMK;
system  'rsh', "-n", $nodes[$node], "bash", "$rundir/dobmk";

</pre>

]]></platform_settings>

</flagsdescription>

