Here is some info from an article by Robert Green that i think may be of interest to some
there are not graphic for the figs but you get the picture
Support your new software with the processing power it requires
BY ROBERT GREEN, Cadalyst Contributing Editor
In our last newsletter, I focused on the prevalence of 3D design procedures and how the switch to more powerful software platforms can overwhelm traditional, single-processor-based computers.
In this installment, I’ll examine the dramatic performance enhancements that can be obtained from Intel-based Quad-Core processor workstations like HP’s new xw8600 Quad-Core Intel Xeon Processor 54xx Series. Along the way, I’ll explain why these Quad-Core workstations perform better – and I’ll provide some metrics you can use to financially justify the higher cost of these more powerful machines. Here goes.
Before we talk about the comparative benefits of multi-core processing, it really helps to have an idea of some terms and concepts. I’ll tackle this subject by using some basic graphics to depict both single core and quad core machines, along with a pipeline analogy to help you envision the data moving through the system (similar to water moving through a series of pipes). With a clear mental image of the systems, you’ll easily see the stark contrast between their architectures.
In our first case (see Fig. 1), we have a typical single-processor like most CAD users have. In this architecture, the central processor unit (CPU) accesses the computer’s RAM by way of a pipe that is typically referred to as the front side bus (FSB). In order to read/write data from/to the disk, the CPU passes information to a disk controller that, for most older machines, has been based on Integrated Drive Electronics (IDE) technologies. Note that between each functional component of the system (RAM, CPU, Controller and Disk), a pipe represents the flow of data from one component to the next. Analyzing this single core system is easy, because there’s only one pipe flowing back and forth between any two components.
When you start to introduce more loads onto the CPU, this overwhelms the CPU processing ability causing a bottleneck, in this analogy think of it as a limitation of the flow through the pipe between the CPU and RAM/Disk systems.
Figure 1 - A single CPU system has only data pipe between any two components.
Performance note: The fact the CPU speeds are now past 3 Gigahertz doesn’t mean much unless the pipes between the CPU, RAM and Disk can handle 3 Gigahertz. For most older machines, the pipe speeds are more like 0.5 to 0.8 Gigahertz - roughly 25% of the CPUs functional capacity. So no matter how much you spend on the faster CPU, it’ll only work for you if your CPU requirements are modest and can be well-served by the RAM and Disk "pipes" that move the data.
In our second case (see Fig. 2), we have Quad-Core processor architecture. In this case, the processing load is spread over four (4) core CPUs, all of which have direct access to the machine’s RAM with far bigger "pipes" than older, single CPU machines. In fact, FSB speeds for Quad-Core architectures are typically almost double (approximately 1.3 GHz) that of their single CPU relatives, thus allowing a lot more data to move between processors and RAM at one time. And since processing jobs can now be shared among multiple CPUs, you can see how the same amount of computing could get done in a lot less time using a Quad-Core machine.
Since a lot more data is being processed - and since all that data must eventually be stored on a disk - more substantial disk drives and controllers must be provided to adequately support the load. In the system diagram, you see the representation of a RAID 0 disk controller interfacing to two disks at once. RAID 0 allows data to be "striped" over these two disks so that each disk is shouldering nearly 50% of the disk load at any given moment. And since the load is spread over two disks, you can see how twice the disk throughput could be achieved.
Now, when you run multiple programs simultaneously, the programs will be able to use more CPUs with faster access to RAM and better disk throughput. And for power hungry applications like CAD and analysis, you’ll be amazed at the results.
Figure 2 - The Quad-Core architecture has more data pipes/components with wider bandwidths to distribute processing jobs where they can be processed fastest.
Note: If you read the fine print, you’ll see that the actual CPU speeds in multicore processors are much lower than the fastest single CPU machines available. But since the processors in a Quad-Core architecture aren’t bound by slow RAM or Disk systems, they will outperform the single core machines. Look at it from a "piping" point of view and you’ll see what I mean.
Will My Software Run Faster?
Now that you see the advantage of the Quad-Core architecture, a new question arises - how it will impact your software. This is actually tough to answer, as there are a number of different computing scenarios that are typical in CAD environments. In this section, I’ll break down a few "typical" scenarios and provide some benchmarking results to give you a feel for how Quad-Core can work for you.
Scenario 1 - Multi-tasking Support: You’re probably already trying to multi-task your engineering software on single-processor machines - and overwhelming the RAM and Disk subsystems when you do so. You know the problem: you run a CAD application in the foreground while trying to render in the background. As a result, both applications run very sluggishly - impacting your CAD productivity while rendering too slowly. In the end, you do the tasks in series and let time consuming processes, like rendering, run during lunch breaks and meetings, right?
In the Quad-Core environment, you can start your rendering process and minimize it while running your CAD application in the foreground. The Quad-Core architecture shuffles the computing processes around within the multiple CPUs and everything runs smoothly and simultaneously (see Fig. 3).
Figure 3 - Running multiple existing applications at once sees an almost threefold increase in performance on Quad-Core machines. (Source: Frank Deming)
Scenario 2 - Multi-threaded software: In this case, the software is encoded to specifically detect the availability of multiple CPU cores and to assign the various processes to the CPUs using its own internal algorithm. Multi-threaded software is actually the least likely scenario for most engineering users, simply because there isn’t that much software available yet that is truly multi-threaded. As more truly-multithreaded software becomes available, we’ll all see the benefits - but mainstream CAD users will probably have to wait 12 to 24 months before they see it.
Scenario 3 - Pseudo multi-threading: I actually made up this term to describe a common behavior in rendering applications (or CAD products that have rendering engines within them). In this case, the core process spawns sub processes that compute obscurations, write images to rendering windows or write output to disk-based files. The software doesn’t know it’s running on a Quad-Core machine, but the Quad-Core machine does - and the machine assigns those processes to its multiple CPUs as it sees fit.
A good example of "pseudo multi-threading" is an older version of Autodesk’s 3D Studio Max, which can generate several computing processes - although it’s one software program. In the benchmarking data (see Fig. 4), you can see the difference that having more CPUs, disks and bigger "data pipes" makes.
Figure 4 - Quad-Core machines deliver 3 times the performance of a single CPU even on 3D Studio Max 7.0 software which is not multi-threaded. (Source: Frank Deming)
The Cost Issue
Now that you know more about the computational productivity that multicore workstations provide and the disk and RAM requirements that they deliver, you won’t be surprised to hear that they’re more expensive. A Quad-Core machine with 4 Gigabytes of RAM and a data striped RAID 0 disk subsystem is certainly pricier than a bargain-basement single-processor machine. So is the Quad-Core worth the money? The answer is strictly a matter of saving engineering or rendering time by getting work done faster.
Let’s say that a rendering specialist can get a job done in 4 hours with a Quad-Core machine that used to take 12 hours with a single CPU machine. We’ll be generous and say that only 2 man hours are actually saved because the operator had juggled workflows to let rendering run overnight. If this rendering specialist does 40 of these rendering jobs per year and earns $35/hour, then the labor savings associated with using a Quad-Core machine can be computed like this:
Savings = 40 jobs/year * 2 hours/job * $35/hour = $2,800/year
Let’s also say that a mechanical analyst can design, analyze and optimize brake assemblies for earth moving equipment in 4 hours with a Quad-Core machine that used to take 16 hours with a single CPU machine. In this case, the savings is real because the engineer can run multiple processes at once and achieve real labor and time savings. If this analyst does 25 of these jobs per year and earns $60/hour, then the labor savings associated with using a Quad-Core machine can be computed like this:
Savings = 25 jobs/year * 12 hours/job * $60/hour = $18,000/year
Find the work processes in your company that can benefit from substantially faster computing platforms and do your own cost justification calculations. I think your management will be impressed with the savings they can achieve!
While the software we run in CAD-based environments may not yet posses the optimal multi-threaded performance characteristics we crave, we can still reap the benefit of Quad-Core architectures with our existing software simply by taking advantage of the brute-force processing and parallel-tasking properties that Quad-Core machines deliver. And when you raise performance factors nearly three times without software optimized for the machine, imagine what that future will bring when true multi-threading becomes the norm!
I hope this look at Quad-Core architectures and processing characteristics has made it easier for you to examine your application software and work processes to see if you can reap the benefits of Quad-Core. My experience has been that if you run 3D CAD software, you’ll almost certainly see a benefit. If you