Announcement

Collapse
No announcement yet.

SPARC optimizations

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tenzer
    started a topic SPARC optimizations

    SPARC optimizations

    Hi

    Today at work I wanted to benchmark a new Sun SPARC server we received and PTS came to mind as something for me to try. The server is equipped with two 1.4 GHz T2+ 8 core processors, with a total of 128 vCPUs/threads and 64 GB RAM. The server is running OpenSolaris 2009.06.

    Due to the excessive amount of CPU threads available, I wanted to run the "multicore" test suite on the server, but to my big disappointment some of the tests doesn't seem to be multi threaded, and therefore runs quite slowly along at 1.4 GHz.

    I was wondering if I could be of some assistance with optimizing the tests in any way for running on SPARC servers, since I haven't been able to find any mention of SPARC based systems on global.phoronix-test-suite.com or here in the forums. I doubt that many people have access to SPARC based systems due to their price, and the fact that they are best used with certain workloads.

    As a first step, I am going to try the 2.2 alpha 2 release instead, to see if it has any improvements over the 2.0 version, but let me know if there is any thing you would like tested, since I can't really provide shell access to the server :P

    /Tenzer

  • Michael
    replied
    All of the SPARC changes should now be in Git.

    Leave a comment:


  • Michael
    replied
    SUN T5240 though could be extracted Thanks.

    Leave a comment:


  • Tenzer
    replied
    I have mailed the dmi_info output to you. It doesn't contain any information about the motherboard, since there probably aren't a whole lot to choose from for these CPUs :P

    Leave a comment:


  • Michael
    replied
    FYI, this is the patch that should fix the detection, which will be in GIt once I am back in the office.

    Code:
    diff -Naur phoronix-test-suite.orig/pts-core/library/pts-functions_system_parsing.php phoronix-test-suite/pts-core/library/pts-functions_system_parsing.php
    --- phoronix-test-suite.orig/pts-core/library/pts-functions_system_parsing.php    2009-09-16 13:17:22.000000000 -0500
    +++ phoronix-test-suite/pts-core/library/pts-functions_system_parsing.php    2009-09-16 13:44:46.000000000 -0500
    @@ -648,7 +648,16 @@
         // Read Sun's Device Driver Utility for OpenSolaris
         $values = array();
     
    -    if(is_executable(($dmi_info = "/usr/ddu/bin/dmi_info")) || is_executable(($dmi_info = "/usr/ddu/bin/i386/dmi_info")) || is_executable(($dmi_info = "/usr/ddu/bin/sparc/dmi_info")))
    +    if(in_array(phodevi::read_property("system", "kernel-architecture"), array("i686", "x86_64")))
    +    {
    +        $dmi_info = "/usr/ddu/bin/i386/dmi_info";
    +    }
    +    else
    +    {
    +        $dmi_info = "/usr/ddu/bin/sparc/dmi_info";
    +    }
    +
    +    if(is_executable($dmi_info) || is_executable(($dmi_info = "/usr/ddu/bin/dmi_info")))
         {
             $info = shell_exec($dmi_info . " " . $args . " 2>&1");
             $lines = explode("\n", $info);

    Leave a comment:


  • Michael
    replied
    Okay, will add check in pts-core for it. Can you email to michael at phoronix your full dmi_info output? Wondering why your motherboard/chipset aren't being detected.

    Leave a comment:


  • Tenzer
    replied
    Originally posted by Michael View Post
    Okay, what happens if you apply a patch like this...
    Nothing changed with the path, but that is probably due to the fact that /usr/ddu/bin/i386/dmi_info also exists:
    Code:
    ls -lR /usr/ddu/bin/
    /usr/ddu/bin/:
    total 3
    drwxr-xr-x 2 root bin 6 Sep  1 15:46 i386
    drwxr-xr-x 2 root bin 5 Sep  1 15:46 sparc
    
    /usr/ddu/bin/i386:
    total 971
    -rwxr-xr-x 1 root bin 894064 Sep  1 15:46 all_devices
    -rwxr-xr-x 1 root bin  11100 Sep  1 15:46 bat_detect
    -rwxr-xr-x 1 root bin  38408 Sep  1 15:46 dmi_info
    -rwxr-xr-x 1 root bin  21948 Sep  1 15:46 hd_detect
    
    /usr/ddu/bin/sparc:
    total 942
    -rwxr-xr-x 1 root bin 889244 Sep  1 15:46 all_devices
    -rwxr-xr-x 1 root bin  15452 Sep  1 15:46 dmi_info
    -rwxr-xr-x 1 root bin  27196 Sep  1 15:46 hd_detect
    I can see that the sparc folder also exists on x86 installations of OpenSolaris 2009.06. However, if I put the sparc path in front of i386, then the output is correct:
    Code:
    =====================================
    Phoronix Test Suite v2.0.0 (SANDTORG)
    System Information
    =====================================
    
    Hardware:
    Processor: UltraSPARC-T2+ sparcv9 @ 1.41GHz (Total Cores: 128), Motherboard: Unknown, Chipset: Unknown, System Memory: 32544 MB, Disk: 83GB
    
    Software:
    OS: Unknown 5.11, Kernel: 5.11 (sun4v), Display Server: X.Org Server 1.5.3, OpenGL: N/A, Compiler: N/A, File-System: zfs, Screen Resolution: Unknown
    You would probably have to check if it's a x86 or sparc server before running dmi_info...

    Leave a comment:


  • Michael
    replied
    Okay, what happens if you apply a patch like this (I am on 2.2, but this should still work with 2.0):

    Code:
    diff -Naur phoronix-test-suite.orig/pts-core/library/pts-functions_system_parsing.php phoronix-test-suite/pts-core/library/pts-functions_system_parsing.php
    --- phoronix-test-suite.orig/pts-core/library/pts-functions_system_parsing.php    2009-09-15 20:06:00.000000000 -0500
    +++ phoronix-test-suite/pts-core/library/pts-functions_system_parsing.php    2009-09-16 13:17:22.000000000 -0500
    @@ -648,7 +648,7 @@
         // Read Sun's Device Driver Utility for OpenSolaris
         $values = array();
     
    -    if(is_executable(($dmi_info = "/usr/ddu/bin/dmi_info")) || is_executable(($dmi_info = "/usr/ddu/bin/i386/dmi_info")))
    +    if(is_executable(($dmi_info = "/usr/ddu/bin/dmi_info")) || is_executable(($dmi_info = "/usr/ddu/bin/i386/dmi_info")) || is_executable(($dmi_info = "/usr/ddu/bin/sparc/dmi_info")))
         {
             $info = shell_exec($dmi_info . " " . $args . " 2>&1");
             $lines = explode("\n", $info);
    Does it then work? You may need to "rm -f ~/.phoronix-test-suite/phodevi.cache" after doing that, but then is more of the system-info filled in?

    Leave a comment:


  • Tenzer
    replied
    Originally posted by Michael View Post
    In /usr/ddu/bin/ what is the folder name for sparc?
    It is simply named "sparc": /usr/ddu/bin/sparc/dmi_info

    Leave a comment:


  • Michael
    replied
    Originally posted by Tenzer View Post
    The server is running OpenSolaris 2009.06 (OS_VERSION = 5.11), have you been testing against 2010.02?
    Hmm, sorry, for some reason I thought you were running Solaris 10. Though I think I might know for some of the hardware detection problems...

    /usr/ddu/bin/i386/dmi_info

    In /usr/ddu/bin/ what is the folder name for sparc?

    Leave a comment:

Working...
X