The new buzz words in computing at the moment seem to be multi-core and parallel processing. Increasing the clock speed of the processor has been replaced by increasing the number of processor cores in your computer. But what advantage does increasing the number of cores in a processor give you and does the reality actually live up to the hype?
In PowerMILL 10, parallel computing techniques have been applied in two distinct ways:
Firstly, you can prepare, calculate or edit toolpaths in the foreground while calculating other toolpaths in the background, with minimal degradation in processing speed. This effectively doubles your potential productivity. This is what
Delcam terms Background Processing. It works on any hardware but the benefits are greater on multi-core machines.
Secondly, parallel processing performs different parts of a complex calculation at the same time. Essentially, this takes a single function and processes it on all the cores in the CPU chip to reduce overall calculation time. To benefit from parallel processing you need a computer with more than one processor.
A third, and, we believe unique benefit offered by PowerMILL 10, is that parallel processing is used in both foreground and background calculations simultaneously. This will undoubtedly provide a greater performance gain for PowerMILL 10 than with any previous PowerMILL release.
Tests conducted on a range of strategies at Delcam show that toolpath calculation improvements of three or four times compared with earlier versions on a single-core PC are possible. The actual improvement depends heavily on your hardware configuration and on the toolpath strategy you are calculating.
PowerMILL 10 offers a variety of benefits including four times faster raster toolpath calculations; reduces programming time by up to 2.5 times; less waiting time while toolpaths are calculating; increases capacity for additional work; significantly improves manufacturing productivity; reduced lead times; and ability to handle even larger memory intensive files.
If we look at a simplistic example where in an average working week toolpath calculations consume 50% of an eight hour shift then annually this would equate to approximately 120 days a year of continuous toolpath calculations.
Tests conducted on a range of toolpaths show that using PowerMILL 10 on a quad-core machine results in a 60% saving in toolpath calculation times, therefore taking you from the 120 days to less than 50 days.
In dollar terms, if the internal cost for generating toolpaths is $50 per hour (taking into consideration operator costs, down time, machining delays due to data starvation), this would equate to 70 days worth of toolpath calculation savings-or savings in excess of $28,000.
While it’s unrealistic to assume across the board savings of three or four times, as some claim, it is realistic to expect major speed increases in calculation time. You will also see significant productivity gains as you can plan, create, and edit toolpaths in the foreground while calculating toolpaths in the background, giving you a new competitive edge at a time when you need it most.
Many of the enhancements in PowerMILL 10 either shorten calculation times or enable calculations to process during PowerMILL’s idle time. Both of these aspects greatly improve productivity.
For example, background processing allows you to calculate toolpaths, boundaries, or individual stock model states in the background while continuing to interact with PowerMILL.
In parallel processing, the overall calculation is divided into subtasks that can be processed simultaneously. This is only possible when more than one processor is available. Parallel processing can greatly reduce calculation times.
Specific toolpath speed-ups are possible because less memory is used when area clearance toolpaths are calculated, and calculation time has been reduced. This is particularly beneficial when working on large models as it reduces the likelihood of running out of memory.
PowerMILL 10 allows the user to perform background operations, such as toolpath or boundary creation, while at the same time you can continue preparing, editing or even calculating toolpaths in the foreground of PowerMILL.
To use background processing all you have to do is click the new Queue button rather than Calculate on a toolpath dialog. PowerMILL checks that everything is set up correctly (such as block, tool, etc.), and adds the toolpath to the background queue. While you continue working, PowerMILL calculates the toolpaths in the queue in a background process.
Possibly the most important but least visible improvement in PowerMILL 10 is the use of parallel processing in toolpath calculations. In PowerMILL 9, Point Distribution performed many calculations in parallel to improve its performance. In PowerMILL 10, the code that calculates how a tool runs over the model also uses parallel processing. As a result, raster machining calculations run almost entirely in parallel.
Other strategies utilizing this code include: Constant Z, 3D Offset, Area clearance, Interleaved constant Z, Optimised constant Z, and Boundary calculations. In addition, the calculation to apply a toolpath to the stock model runs entirely in parallel. Parallel processing happens automatically if your computer is suitable: you don’t need to do anything to activate it.
Delcam has tested PowerMILL 10 on a range of typical three-axis parts. These tests show major speed improvements for raster machining when using multi processor machines. The graph (Figure 1) below shows the raster toolpath calculation time for PowerMILL 10 as a percentage of the time taken by PowerMILL 9 on the same computer, for a number of different processor configurations.
Raster machining benefits the most from parallel processing at the moment. Other strategies benefit too, but not to the same extent. What matters for most users is the overall performance for a typical machining project. The graph (Figure 2) below compares the performance of PowerMILL 10 and PowerMILL 9 for a benchmark using a range of strategies.
On the quad-core processors the benchmark runs about 1.5 times faster in PowerMILL 10.
It’s tempting to think that once parallel processing is supported then the way to improve performance is to add more and more processors. However, the test results show that things aren’t quite that simple. It’s apparent from both performance graphs that the processor configuration has a significant effect on the calculation time. It’s not immediately obvious why two dual-core processors are significantly slower than a single quad-core, and it is surprising that two quad core processors (eight cores in total) perform worse than a single quad-core.
The trends we can see in both graphs are: adding more cores improves performance but more than four cores makes little difference, and adding more processors reduces performance.
Why then does the benefit of adding processors tail off? The problem of parallel processing in a computer program is very much like organising the production of a single product in a company. You need to decide who does what, how their efforts are coordinated and how different people’s output gets combined into the final product. The interaction between people means some form of management is necessary, which is generally an overhead. The first problem is to make a management system that works at all; the second problem is to minimise this overhead.
Applying parallel processing in CAM software often involves one step that takes the majority of the time. When you parallelise this task it exposes other tasks that are now taking the most time. To get the calculation to go significantly faster you need to parallelise other tasks.
Performance gains are limited by the fraction of the program that can be “parallelised” to run on multiple cores simultaneously; this effect of diminishing returns is known as Amdahl’s law. For example if only 50% of a toolpath can be parallelised, the theoretical speedup would be 1.9x, as shown in the chart below, no matter how many cores are available.
In PowerMILL the most performance-critical process is the production of gouge-free tool passes over the model. This now runs in parallel, but the nature of the algorithms means that most of the improvements are achieved with four processes running in parallel. To achieve further speed increases we need to make other routines work in parallel.
Figures 1 and 8 show that two dual-core processors are slower than a single quad-core. They also show that two quad-core processors are slower than the single quad-core. We have already seen that PowerMILL gains limited benefits from more than four cores, but why is performance reduced when the cores are in separate processor packages?
The clock speed of modern processors is so high that a major limit on their performance is the time it takes to access main memory. Processor manufacturers reduce this bottleneck by including fast ‘cache’ memory on the processor chip. Frequently used data is kept in the cache where it can be accessed quickly.
When a processor has multiple cores they share the same on-chip cache. When processor cores are working in parallel, the communication between cores to coordinate their tasks can take advantage of the shared cache provided they are all on the same chip. However, the benefit of the shared cache is lost, if some of the cores are on a separate chip and communication has to use an external bus or main memory.
A further overhead arises because cache coherency must be maintained-the contents of the caches must be kept in step with the contents of main memory, and vice-versa. It is quite complex to keep a single cache up to date, but the problem becomes much more complex and time consuming when coherency has to be maintained between two or more caches and main memory.
Background processing allows you to organise your activities so that you don’t have to wait for PowerMILL to calculate toolpaths; parallel processing reduces toolpath calculation times.
Toolpath calculations in PowerMILL 10 benefit from parallel processing whether they are running in the foreground or in the background. Therefore, by running foreground and background calculations simultaneously, it is possible (on a suitably equipped computer) to make full use of up to eight cores and 8 GB of memory.
PowerMILL 10 will work on the same hardware as PowerMILL 9. Background processing works on single processor machines and dual-processor machines will show noticeable performance benefits from parallel processing as well.
To obtain the most benefit from PowerMILL 10 we recommend: Intel Core 2 Quad Q9550 (2.83GHz, 1333MHz FSB, 12MB L2 Cache, Quad Core) 375W; 8GB (4 x 2.0GB DIMM) 800MHZ ECC Dual Channel Memory (requires 64-bit O/S); 512MB PCIe x16 nVidia Quadro FX 3700 (MRGA15), Dual Monitor DVI or VGA Graphics Card (configured in a hardware mirror); 2 x 320GB (7,200 rpm) SATA 3.0Gb/s Hard Drive with NCQ and 16MB DataBurst Cache; and Genuine Windows Vista Business x64 SP1.
If calculation time is a major issue then dual quad-core processors will help foreground and background calculations to run at maximum speed.
We expect that future versions of PowerMILL will give faster overall calculation times in two ways. For one thing, future versions will increase the amount of multi-threading in the program. This will improve the overall benchmark time on dual-core and quad-core machines.
Secondly, future versions of PowerMILL will optimize data structures to make better use of processor caches. This will allow multi-chip computers to work more efficiently and will improve the dual quad-core times significantly.
Future versions of PowerMILL will also include full 64-bit support. On 64-bit machines, the amount of RAM that can be used will only be limited by what can be installed. This will allow extremely large or complex parts to be processed successfully.
D & R thrives with Prima Finn-Power laser, punch press Improved productivity and enhanced flexibility are only some of the benefits that Bolton, ON-based D & R Electronics is achieving from a Prima Finn-Power laser and punch press.
Active Burgess VP of Finance David Read explains how the company has effectively harnessed lean management practices to create new opportunities in today's challenging market. The tour was part of the...
Xact Pattern & Fixture President Alan Fairweather explains how his company's model-making process works and how the market for it has changed in just a few short years.