Page 1 of 2 12 LastLast
Results 1 to 10 of 15

Thread: SPARC optimizations

  1. #1
    Join Date
    Sep 2009
    Location
    Copenhagen, Denmark
    Posts
    17

    Default 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

  2. #2
    Join Date
    Sep 2009
    Location
    Copenhagen, Denmark
    Posts
    17

    Default

    Here's an example of some of the numbers I received from the "multicore" suite. I have compared it to the systems on the following page: http://global.phoronix-test-suite.co...283-29988-5582

    Apache compilation: 136 seconds (much slower - same goes for PHP)

    7-Zip compression: 22000 MIPS (faster than any of the systems on the page)

    OpenSSL: 136 s/s (about average, unfortunately the embedded cryptographic accelerators doesn't support RSA over 2048 bit atm :/)

    C-Ray: 36.3 seconds (as far as I can see, it's a bit faster than the other systems on the above page)

    POV-Ray: Don't know yet. I has been running for about an hour now, and only runs on one thread :/

    So for what I can get out of these results, not all of them are multi threaded, and hence doesn't belong in the "multicore" suite (imo). It may also be a matter of using the right flags during the testing, which is why I made this thread in the first place

  3. #3

    Default

    Can you provide the outputs from:

    phoronix-test-suite system-info

    and

    phoronix-test-suite diagnostics

    The tests should be multi-threaded, unless PTS is detecting your system as a single core or the incorrect core count.

  4. #4
    Join Date
    Sep 2009
    Location
    Copenhagen, Denmark
    Posts
    17

    Default

    Quote Originally Posted by Michael View Post
    Can you provide the outputs from:

    phoronix-test-suite system-info
    Sure:
    Code:
    =====================================
    Phoronix Test Suite v2.0.0 (SANDTORG)
    System Information
    =====================================
    
    Hardware:
    Processor: Unknown @ 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
    Quote Originally Posted by Michael View Post
    and

    phoronix-test-suite diagnostics
    Code:
    =====================================
    Phoronix Test Suite v2.0.0 (SANDTORG)
    Diagnostics Dump                     
    =====================================
    
    PTS_PATH = /usr/share/phoronix-test-suite/
    PTS_MODE = CLIENT                         
    PTS_LIBRARY_PATH = /usr/share/phoronix-test-suite/pts-core/library/
    PTS_VERSION = 2.0.0                                                
    PTS_CODENAME = SANDTORG                                            
    PTS_MODULE_UNLOAD = PTS_MODULE_UNLOAD                              
    PTS_QUIT = PTS_QUIT                                                
    PTS_CORE_PATH = /usr/share/phoronix-test-suite/pts-core/           
    PTS_USER_DIR = /root/.phoronix-test-suite/                         
    XML_DISTRO_DIR = /usr/share/phoronix-test-suite/pts/distro-xml/    
    SCRIPT_DISTRO_DIR = /usr/share/phoronix-test-suite/pts/distro-scripts/
    ETC_DIR = /usr/share/phoronix-test-suite/pts/etc/                     
    MODULE_DIR = /usr/share/phoronix-test-suite/pts-core/modules/         
    MODULE_LOCAL_DIR = /root/.phoronix-test-suite/modules/                
    RESULTS_VIEWER_DIR = /usr/share/phoronix-test-suite/pts-core/results-viewer/
    TEST_LIBRARIES_DIR = /usr/share/phoronix-test-suite/pts-core/test-libraries/
    STATIC_DIR = /usr/share/phoronix-test-suite/pts-core/static/
    OPTIONS_DIR = /usr/share/phoronix-test-suite/pts-core/options/
    XML_PROFILE_DIR = /usr/share/phoronix-test-suite/pts/test-profiles/
    XML_PROFILE_CTP_BASE_DIR = /usr/share/phoronix-test-suite/pts/base-test-profiles/
    XML_SUITE_DIR = /usr/share/phoronix-test-suite/pts/test-suites/
    TEST_RESOURCE_DIR = /usr/share/phoronix-test-suite/pts/test-resources/
    TEST_RESOURCE_CTP_BASE_DIR = /usr/share/phoronix-test-suite/pts/base-test-resources/
    XML_PROFILE_LOCAL_DIR = /root/.phoronix-test-suite/test-profiles/
    XML_SUITE_LOCAL_DIR = /root/.phoronix-test-suite/test-suites/
    TEST_RESOURCE_LOCAL_DIR = /root/.phoronix-test-suite/test-resources/
    PTS_TEMP_DIR = /tmp/phoronix-test-suite/
    PHP_BIN = php
    PTS_INIT_TIME = 1253123579
    PHODEVI_AVOID_CACHE = 0
    PHODEVI_STAND_CACHE = 1
    PHODEVI_SMART_CACHE = 2
    OPERATING_SYSTEM = Solaris
    OS_PREFIX = solaris_
    TEST_ENV_DIR = /root/.phoronix-test-suite/installed-tests/
    SAVE_RESULTS_DIR = /root/.phoronix-test-suite/test-results/
    PTS_DOWNLOAD_CACHE_DIR = /root/.phoronix-test-suite/download-cache/
    PTS_USER_LOCK = /root/.phoronix-test-suite/run_lock
    PTS_STARTUP_TASK_PERFORMED = 1
    PTS_USER_AGREEMENT_CHECK = bd84cf4823e94021056fa8d64e4432b0
    
    End-User Run-Time Variables:
    VIDEO_RESOLUTION = Unknown
    VIDEO_CARD =
    VIDEO_DRIVER =
    OPERATING_SYSTEM = Unknown 5.11
    PROCESSOR = Unknown @ 1.41GHz (Total Cores: 128)
    MOTHERBOARD = Unknown
    CHIPSET = Unknown
    KERNEL_VERSION = 5.11
    COMPILER = N/A
    HOSTNAME = (anonymous)
    
    Environmental Variables (accessible via test scripts):
    PTS_VERSION = 2.0.0
    PTS_CODENAME = SANDTORG
    PTS_DIR = /usr/share/phoronix-test-suite/
    PHP_BIN = php
    NUM_CPU_CORES = 128
    NUM_CPU_JOBS = 256
    SYS_MEMORY = 32544
    VIDEO_MEMORY = 64
    VIDEO_WIDTH = -1
    VIDEO_HEIGHT = -1
    VIDEO_MONITOR_COUNT = 1
    VIDEO_MONITOR_LAYOUT = CENTER
    VIDEO_MONITOR_SIZES = Unknown
    OPERATING_SYSTEM = unknown
    OS_VERSION = 5.11
    OS_ARCH = sun4v
    OS_TYPE = Solaris
    THIS_RUN_TIME = 1253123579
    Btw, I forgot that we the server only has 32 GB ram in it at the moment, but that should still be sufficient for the tests

  5. #5

    Default

    Eww, not much of the hardware is being detected. Though I suspect since you're running (old) Solaris where all of my work on the Sun support has been with OpenSolaris and the newer device information access. But it is detecting 128 CPU cores so it should be running multi-threaded, though it may due to the compiler not optimizing well for the hardware perhaps.

  6. #6
    Join Date
    Sep 2009
    Location
    Copenhagen, Denmark
    Posts
    17

    Default

    Quote Originally Posted by Michael View Post
    Though I suspect since you're running (old) Solaris where all of my work on the Sun support has been with OpenSolaris and the newer device information access.
    The server is running OpenSolaris 2009.06 (OS_VERSION = 5.11), have you been testing against 2010.02?

  7. #7

    Default

    Quote 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?

  8. #8
    Join Date
    Sep 2009
    Location
    Copenhagen, Denmark
    Posts
    17

    Default

    Quote 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

  9. #9

    Default

    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?

  10. #10
    Join Date
    Sep 2009
    Location
    Copenhagen, Denmark
    Posts
    17

    Default

    Quote 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...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •