1

At my workplace we have a heavily used SAS server, but its workload is such that obtaining 1 minute of CPU time often takes 10 minutes of real time. This isn't just due to an I/O or network bottleneck - the CPU load averages are always very high during office hours, and lots of analysts have to wait a long time for their queries to run.

There are two options I'd like to compare:

  1. Set up a sas grid environment (link)
  2. Build a server cluster using ScaleMP and run a single SAS instance on it (link)

Option 1 is definitely feasible, but I suspect that the licensing would be extremely costly. On the other hand, option 2 looks like it involves some very fancy networking hardware. Is option 2:

  • At all feasible?
  • Potentially better value for money?

I think SAS should be able to run on one of the Linux variants supported by ScaleMP - the existing SAS server uses SunOS 5.10, which I don't think is supported, so presumably we'd have to move our database over to a new installation of sas.

Another factor to consider is that we have a very substantial codebase, which would require quite a bit of reworking to take full advantage of a SAS grid.

I'm still trying to find out more about the existing hardware, but I expect it dates from around 2005, i.e. roughly the same era as SunOS 5.10.

Update: hardware information

From the output of /usr/sbin/psrinfo -v it appears that the existing server has 32 sparcv9 cores, of which 8 run at 1.5GHz and the other 24 run at 1.8GHz. Based on the rated speeds from Wikipedia's table of sparc processors and the 2005 date of the OS I presume these are UltraSPARC_IV processors, or something fairly similar.

From prstat, the load averages during office lunch hour are around 32, i.e. just about saturated. During peak working hours this usually rises to around 45, but it has been known to reach 110 on Monday mornings, when weekend batch jobs overrun. So I'd conclude that there's a bit a of CPU bottleneck, but it might not be as bad as I thought - the bulk of the delay in obtaining server CPU time may well be down to waiting for disk I/O rather than waiting in the thread queue.

According to the output of

# /usr/platform/`uname -m`/sbin/prtdiag -v

, it seems that the server has 256GB of ram.

2
  • 1
    How old is the hardware? The last actual SunOS release was somewhere in the late 90's, if I remember. Just about any modern server hardware is likely going to be so much faster that either solution you describe might be unnecessary.
    – rnxrx
    Oct 21, 2012 at 2:00
  • @rnxrx I think it's more or less a given that we will be upgrading the hardware whatever path we take. I may be wrong about the existing OS - I'll update the question when I have more details.
    – user3490
    Oct 21, 2012 at 10:24

1 Answer 1

1

* Disclosure: I am with ScaleMP *

rnxrx wrote that if you are using SunOS then the HW might be quite all, and he is indeed right. 24 cores from those old days are probably 10x - 50x slower than a modern-day 32 core server (with Intel Sandybridge processors). However, a 24-core machine in those days was super expensive and you did not note you were using a "mainframe-grade" system, so it would be of great help if you could actually provide the HW info. If you can post the results of the command: 'cat /proc/cpuinfo' that would be a great start.

If the work you are doing requires a lot of data accesses, ScaleMP can be an excellent solution as the data can technically be all placed into the system's shared RAM (ScaleMP's software will basically turn a cluster into a shared-memory SMP for you) SAS Analytics is certified for use on Redhat Linux: http://www.redhat.com/resourcelibrary/whitepapers/red-hat-and-sas-alliance-brief as well as SuSE Linux,(and those Linux distros, in turn, are certified as OS on-top of vSMP Foundation from ScaleMP)

As for the "fancy networking", Indeed - ScaleMP requires the use of InfiniBand (which is today at 40Gbps or 56Gbps, certainly "fancy"). However, the cost of InfiniBand is not much higher than that of 10GE which you will most likely need to use anyhow (if building a cluster for SAS). ScaleMP's software does all the management of the network for you, and as the machines are turned into a shared-memory SMP you do not actually need to even know anything about InfiniBand to operate the system.

As for taking advantage of many processors: this really depends on your application. Some applications can scale nicely on SMP, some can scale nicely in a distributed cluster. Sometimes, as you noted, it may take some work to get something to scale (especially on a distributed/cluster environment). At first look, as you described jobs trying to get time on 'a' CPU - I would guess you have many jobs using the same data, which ScaleMP would be great for.

I'd be happy to provide further info, at least on the ScaleMP side of things.

1
  • Thanks - we do indeed have many jobs using the same data. That rules out one of the main concerns I had, which was that there might not have been an OS that was compatible with both SAS and ScaleMP.
    – user3490
    Oct 22, 2012 at 15:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .