No announcement yet.

Comparing CPU likely speed improvements for business hardware upgrade justification

  • Filter
  • Time
  • Show
Clear All
new posts

  • Comparing CPU likely speed improvements for business hardware upgrade justification

    I have c# Console app, Monte Carlo simulation entirely CPU bound, execution time is inversely proportional to the number of dedicated threads/cores available (I keep a 1:1 ratio between cores/threads).

    It currently runs daily on:

    AMD Opteron 275 @ 2.21 GHz (4 core reported by the operating system)
    The app is multithread using 3 threads, the 4th thread is for another Process Controller app.

    It takes 15 hours per day to run.

    I need to estimate as best I can how long the same work would take to run on a system configured with the following CPU's:
    2 x X5570
    2 x X5540
    and compare the cases, I will recode it to use the available threads. I want to justify that we need a Server with 2 x x5570 CPUs over the cheaper x5540 (they support 2 cpus on a single motherboard). This should make available 8 cores, 16 threads (that's how the Nehalem chips work I believe) to the operating system.

    So for my app that's 15 threads to the Monte Carlo Simulation.

    Any ideas how to do this? I can then extrapolate for my case and number of threads. I have access to the current system to install and run a benchmark on if necessary.

    Note the business are also dictating the workload for this app over the next 3 months will increase about 20 times and needs to complete in a 24 hour clock.

    Any help much appreciated.

    PCMark scores:

    (Am not 100% this is the same as my CPU the OS just says AMD Opteron 275 and task manager reports 4 cores)

    [Dual CPU] Dual Core AMD Opteron 275 - 2112

    Intel Xeon E5540 @ 2.53GHz - 3524
    Intel Xeon X5570 @ 2.93GHz - 4491

    [Dual CPU] Intel Xeon E5540 @ 2.53GHz - 9311
    [Dual CPU] Intel Xeon X5570 @ 2.93GHz - 9721

    I am not sure how the Passmark test works? what I really need to work out is a score per core on my current setup vs score per core on the new proposed setup, then I can work out a speed improvement ratio and extrapolate for if my app were running on 15 threads (provided that many will be available in a 2 x X5570 setup to Windows Server 2003).

    This question I've also asked over here:

    no good answers yet.

  • #2
    The Passmark CPU mark figures are calculated by running 8 different CPU bound algorithms across all available cores (and virtual - hyper threaded cores if they are available).

    I think the first thing to do would be to run PerformanceTest on your existing system, rather than trying to guess what result your current system might have. As is it a single CPU system I would expect it to get around the 1200 level.

    Then you are in a position to compare it to the new CPU. If the new CPU scores 9300, then I would expect it to be able to do about 7 times the work.

    But behind this are a number a assumptions. For example,
    1) That your algorithms are really CPU bound and not dependant on the speed of the RAM and front side bus.
    2) Your algorithm scales in a linear manner across a large number of cores. (not many algorithms do this). More often a bottle neck forms somewhere, for example on the front side bus. Or the effort in controlling and synchronizing the worker threads means non linear performance increases.
    3) Your algorithm uses new CPU features, as our benchmark does. In particular SIMD and 64bit instructions. (this would generally mean you are hand coding critical bits of your code in assembler for SIMD)
    4) Your algorithm benefits from hyperthreading. It is eay to write a algorithm that suffers from cache conflicts and doesn't get the hyperthreading benefit.