CPU2006 Flag Description
Sun Microsystems Sun Blade 6048 Chassis (48 x X6440 Blades)

This result has been formatted using multiple flags files. The "default header section" from each of them appears next.


Default header section from Sun-OpenSolaris-Studio-x86_64

Sun Microsystems SPEC CPU Flags: Sun-OpenSolaris-Studio-x86_64

Compilers: Sun Studio 12 Update 1

Operating systems: OpenSolaris 2008.11

Last updated: 21-Apr-2009 jlh

The text for many of the descriptions below was taken from the Sun Studio Compiler Documentation, which is copyright © 2007-2009 Sun Microsystems, Inc. The original documentation can be found at docs.sun.com.

This document has both optimization flags (in the immediately following section) and a description of Platform Settings


Default header section from Sun-Blade-6048

Sun Blade 6048 Multi-Node Platform Additional Info

This flags file provides additional information about how the Sun Blade 6048 was tested with multiple nodes active, using a perl procedure to distribute jobs across cores.


Base Compiler Invocation

C benchmarks

C++ benchmarks


Base Portability Flags

400.perlbench

403.gcc

462.libquantum

483.xalancbmk


Base Optimization Flags

C benchmarks

C++ benchmarks


Base Other Flags

C benchmarks

C++ benchmarks


Implicitly Included Flags

This section contains descriptions of flags that were included implicitly by other flags, but which do not have a permanent home at SPEC.


System and Other Tuning Information

This result has been formatted using multiple flags files. The "platform settings" from each of them appears next.


Platform settings from Sun-OpenSolaris-Studio-x86_64

Sun Microsystems SPEC CPU Flags: Sun-OpenSolaris-Studio-x86_64

Platform settings

One or more of the following settings may have been applied to the testbed. If so, the "Platform Notes" section of the report will say so; and you can read below to find out more about what these settings mean.

Boot time, BIOS settings

Intel VT-d: Disabled
VT-d, if enabled, supports remapping of I/O DMA transfers for virtualization.

/etc/system settings

autoup=<n>
When the file system flush daemon fsflush runs, it writes to disk all modified file buffers that are more than n seconds old.

lpg_alloc_prefer=<n>
0 = the OS may allocate remote pages if the size requested is readily available in a remote locality group (default)
1 = Set lgroup page allocation to strongly prefer local pages.

maxusers=<n>
To increase the number of user processes derived by the system

rlim_fd_cur=<n>
Defines the soft limit on file descriptors that a single process can have open.

tune_t_fsflushr=<n>
Controls the number of seconds between runs of the file system flush daemon, fsflush.

zfs:zfs_arc_max=<n>
Controls the amount of memory used by ZFS for caching of file system buffers.

Environment/shell variables

OMP_DYNAMIC=<TRUE|FALSE>
Enables (TRUE) or disables (FALSE) dynamic adjustment of the number of threads available for execution of parallel regions. The default is TRUE.

OMP_NESTED=<TRUE|FALSE>
Enables or disables nested parallelism. Value is either TRUE or FALSE. The default is FALSE.

OMP_NUM_THREADS=<n>
If programs have been compiled with -xautopar, this environment variable can be set to the number of processors that programs should use.

PARALLEL=<n>
If programs have been compiled with -xautopar, this environment variable can be set to the number of processors that programs should use.

STACKSIZE=<n>
Set the size of the stack (temporary storage area) for each slave thread of a multithreaded program.

SUNW_MP_PROCBIND=<n>
This environment variable can be used to bind the LWPs (lightweight processes) managed by the microtasking library, libmtsk, to processors. Performance can be enhanced with processor binding, but performance degradation will occur if multiple LWPs are bound to the same processor.
The value for SUNW_MP_PROCBIND can be:

Integers in the above denote the "logical" processor IDs to which the LWPs are to be bound. Logical processor IDs are consecutive integers that start with 0, and may or may not be identical to the actual processsor IDs. If n processors are available online, then their logical processor IDs are 0, 1, ..., n-1.
By default, LWPs are not bound to processors. It is left up to the operating system, Solaris, to schedule LWPs onto processors.
If the value "TRUE" is used, the operating system will bind processes to processors, starting with processor 0.

SUNW_MP_THR_IDLE=SPIN
Controls the end-of-task status of each helper thread executing the parallel part of a program. You can set the value to spin, sleep ns, or sleep nms. The default is SPIN -- the thread spins (or busy-waits) after completing a parallel task until a new parallel task arrives.

ulimit -s <n>
Sets the stack size to n kbytes, or "unlimited" to allow the stack size to grow without limit.

The Submit Command

submit=echo 'pbind -b...' > dobmk; sh dobmk
When running multiple copies of benchmarks, the SPEC config file feature submit is sometimes used to cause individual jobs to be bound to specific processors. If so, the specific command may be found in the config file; here is a brief guide to understanding that command:


Platform settings from Sun-Blade-6048

Sun Blade 6048 Multi-Node Platform Additional Info

The procedure submit.pl The config file option 'submit' was used, along with submit.pl to distribute jobs to all Sun Blade X6440 server modules. It also uses 'pbind' to bind processes to cores. The procedure is below.

#! /bin/perl

use strict;
use Cwd;

# Particular testbed used today:
my @nodes = qw ( r2s1b0 r2s1b1 r2s1b2 r2s1b3 r2s1b4 r2s1b5 r2s1b6 r2s1b7 r2s1b8 r2s1b9 r2s1b10 r2s1b11 r2s2b0 r2s2b1 r2s2b2 r2s2b4 r2s2b5 r2s2b6 r2s2b7 r2s2b10 r2s2b11 r2s3b0 r2s3b1 r2s3b2 r2s3b4 r2s3b5 r2s3b6 r2s3b7 r2s3b10 r2s3b11 r2s4b0 r2s4b1 r2s4b4 r2s4b5 r2s4b6 r2s4b9 r2s4b10 r2s4b11 );


# Processor description: 
# AMD Opteron 8384 has 4 cores per chip
my @cores                = qw ( 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 );  # When assigning,

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


my $node          =  ($copynum % 38); 


my $copy_on_node  =  int (($copynum / 38));


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 "binding ", $copynum, " on ", , $nodes[$node], "  to core# ",  $cores[$processor_num] , "\n" ;
print DOBMK 'sh -c "' . join(' ', @ARGV) . '"' . "\n";
close DOBMK;
system  '/usr/bin/ssh', "-n", $nodes[$node], "bash", "$rundir/dobmk";

Flag description origin markings:

[user] Indicates that the flag description came from the user flags file.
[suite] Indicates that the flag description came from the suite-wide flags file.
[benchmark] Indicates that the flag description came from a per-benchmark flags file.

The flags files that were used to format this result can be browsed at
http://www.spec.org/cpu2006/flags/Sun-OpenSolaris-Studio-x86_64.html,
http://www.spec.org/cpu2006/flags/Sun-Blade-6048.html.

You can also download the XML flags sources by saving the following links:
http://www.spec.org/cpu2006/flags/Sun-OpenSolaris-Studio-x86_64.xml,
http://www.spec.org/cpu2006/flags/Sun-Blade-6048.xml.


For questions about the meanings of these flags, please contact the tester.
For other inquiries, please contact webmaster@spec.org
Copyright 2006-2014 Standard Performance Evaluation Corporation
Tested with SPEC CPU2006 v1.1.
Report generated on Wed Jul 23 02:18:17 2014 by SPEC CPU2006 flags formatter v6906.