Compute Upgrading for Performance
There are a few workstation upgrades that might deliver enough performance to justify skipping a generation of new systems.
Engineering Computing News
Engineering Computing Resources
July 1, 2013
SSDs such as Intel’s X-25M can significantly improve performance because they are an order of magnitude faster than rotating disk storage.
Many engineers, unfamiliar with computer upgrades, struggle with less-than-satisfactory performance as software and operating systems require faster processors and more resources. At times, it might mean not buying new software or installing updated versions of existing software.
But falling behind the performance curve doesn’t necessarily mean that you have to make a big capital investment in a new workstation. Judicious upgrades of individual components can make an existing workstation last double the time that might otherwise be necessary to buy a new system.
There are many potential alternatives for upgrading. Here’s what you should look for in upgrading your existing workstation to continue running new and updated engineering software—whether for CAD, analysis or straight computation.
The Most Bang for the Buck
Conventional wisdom says that faster and new processors mean higher performance, but that’s not necessarily the case for every situation. One easy and relatively inexpensive thing that any engineer can do to improve application performance is add main memory to the system. This rule is a function of how operating systems manage running applications. The full application and data set are rarely all loaded into memory at once. Instead, the operating system creates what is known as a “working set” of application components needed to launch and run each application.
The working set is based on a combination of components and data required to ensure continued smooth execution. Other components are kept on the hard disk, and swapped in and out as required. While the swapping is occurring constantly in small chunks, rotating hard disks are more than an order of magnitude slower than any memory. If more can be kept in much faster main memory, any application performs better.
Of course, the amount of memory you need varies depending on the type of work you do. Because most engineers today are using a 64-bit operating system (either Windows 7 Pro or one of the Linux distributions), systems can theoretically address up to 2 terabytes of memory. In practice, workstations support far less, usually up to 192GB. Most don’t need that much memory, but with large applications such as CAD, or large datasets as commonly found in analysis and simulation, at least 12GB is useful, and 64GB not uncommon.
This fact leads to the second thing engineers can upgrade to ensure better performance. A few years ago, solid state hard drives (SSDs) were considered expensive luxuries. With dropping prices, however, SSDs are now becoming standard equipment on engineering workstations. While nonvolatile SSDs aren’t as fast as main memory, they are an order of magnitude faster than rotating hard disks.
More memory is another way of boosting performance, as it enables a computer to hold more code and data in a location where the processor can access it more quickly.
There is still a significant premium for SSDs, but the performance improvement more than makes up for the higher price—at least for storage under around 500GB. If you need more storage, you should consider a combination of lower-capacity, but faster SSDs with a rotating hard disk for higher capacity. Just remember to keep the operating system swap file on the SSD.
About that CPU
Upgrading the CPU can be a more problematic issue, depending on your current motherboard and CPU. Many CPUs of succeeding generations have different pin-outs, making it impossible to plug into existing motherboards. While motherboards tend to be relatively less expensive than the processor, the cost of potential motherboard replacement still has to be factored into the thinking. And if the motherboard requires replacement, you have to either make sure it’s compatible with your existing memory sticks, or buy new memory also.
If your motherboard does enable you to upgrade CPUs, or add an additional CPU, you should examine your workloads to determine whether this would improve performance. In most cases, faster CPUs in the same motherboard will provide incrementally better performance because the clock speed is likely to be faster. A second CPU would be useful if your applications can utilize the additional cores, as do many simulation and analysis applications.
Large monitors are often more of a status symbol than a productivity tool, but for an engineer doing visual design, they can be a necessity.
Note that if you get a faster CPU, you may also have to replace the clock generator on the motherboard to get the full benefits of increased performance. The clock generator sets the maximum speed (typically in gigahertz) of the CPU. If, for example, you buy a 3 GHz processor, but only have a 2.5 GHz clock, the new CPU won’t run at its full rated speed.
Some engineers may also overclock their existing CPUs by replacing the very inexpensive clock generator with a faster one. Some modern workstations that use the Intel Xeon 5600 processor family can automatically overclock for limited periods, based on a dynamic analysis of the processing workload.
Overclocking can be effective at incrementally increasing computational performance, but it’s probably not a long-term solution to upgrading the performance of your workstation.
Do GPUs Have a Place?
The rise of GPUs as both a graphics processor and a computational coprocessor has complicated system configuration decisions in recent years. Engineers seeking system upgrades have to ask many questions that involve GPUs, including:
- Do I require high-performance graphics? If you require fast rendering and display, such as for CAD applications, a GPU from NVIDIA or AMD is pretty much a requirement.
- Can my application software take advantage of GPU for computational computing? A growing number of analysis applications support interaction with a GPU—or array of GPUs, if installed.
- Do I require the flexibility to move between computation and rendering? GPUs offer that ability, as long as the computational code is available using the graphics chip set. Another alternative is the Intel Ivy Bridge processor architecture, which includes a microcore of graphics processing using the same industry standard instruction set.
Is Bigger Better?
Some look to large (greater than 25 in.) or multiple monitors as a productivity enhancer. Large or multiple monitors may also be as much status symbols as productivity tools in some organizations. Sometimes size matters, and the largest monitors may denote the most influential engineers or managers. But status doesn’t connote productivity.
Still, large monitors and/or multiple monitors make sense under certain circumstances. If CAD, generating graphs and wire diagrams using Maple or a similar math package, or visual design is a primary work focus, then the additional viewing real estate can make sense, especially with the price of these monitors often well below $500. But engineers should first get the opportunity to try them out before making the commitment.
Keep in mind that work also goes hand in hand with fast graphics. Without a GPU or similar high-performance graphics subsystem, large high-resolution displays can take too long to render, and can slow down work.
Giving in to the Inevitable
At some point in time, you can’t approach your workstation in a piecemeal fashion. You may already be maxed out on processors, cores and memory in your current workstation, or the cost of the needed upgrades approaches that of a brand-new system. In some cases, individual components such as disk drives or power supplies may be experiencing intermittent failures, reducing overall system reliability and necessitating wholesale replacements.
But how can an engineering organization tell when it’s time to ditch existing workstations and make the capital investment in new ones? It makes sense to periodically benchmark the performance of your engineering applications on different systems and configurations. By devising and running a script of actual or simulated applications that represent common workloads across your engineering team, you can determine whether productivity improvements would pay for the investment.
Workstation manufacturers such as Dell and HP will usually let good customers have access to different system configurations to run comparison benchmarks. Organizations can usually determine the performance advantage of obtaining new workstations while investing only their time to set up and run their benchmarks.
Benchmarks can also be available from individual application vendors. Most software vendors will also have sample workloads that reflect common uses of their analysis and design tools. While these benchmarks may not well reflect your common workloads, they can provide you with an indication of possible performance improvements.
Benchmarking using your workloads isn’t only for new systems. By periodically running benchmarks with different configurations, you get the information you need on when it’s time to upgrade or replace systems.
Whether you upgrade discrete components or purchase entirely new systems, you need to know what your improvements might be. Without data, engineering groups could be waiting too long, which can cost too much in engineering time. Planning and executing a regular benchmarking strategy is the best way to make sure you’re getting your money’s worth.
Contributing Editor Peter Varhol covers the HPC and IT beat for DE. His expertise is software development, math systems, and systems management. You can reach him at [email protected].
About the AuthorPeter Varhol
Contributing Editor Peter Varhol covers the HPC and IT beat for Digital Engineering. His expertise is software development, math systems, and systems management. You can reach him at [email protected].Follow DE