Home / Engineering Computing / Put Your Idle Computing Cores to Work

Put Your Idle Computing Cores to Work

By Kenneth Wong

A few weeks before he flew out to Anaheim, CA, for SolidWorks World 2010, Anthony Graves, marketing director of HSMWorks, was mulling over a crazy idea. He wanted to find out how long it would take to generate tool paths for a part that was the size of the city of Anaheim—roughly 50 sq. mi.

HSMWorks, a SolidWorks CAM package, comes with a distributed computing setup to process tool paths faster.

No manufacturer would ever need to process computer numeric controlled (CNC) tool paths for such a part. No machine would be large enough for the job, for that matter. On a single computer—even the most powerful workstation you could find—the operation would take days, if not weeks. But, Graves wondered, what if you could assemble a computing cluster out of 50 workstations—say, from the University of San Diego?

Generating tool paths for a city-size part is an unlikely scenario to come across in the real world. Nevertheless, in theory, if you have a supercomputer, or a computing cluster with enough memory and cores to load and process the part, you’ll get your tool paths sooner or later—preferably sooner. Most computer-aided manufacturing (CAM) packages on the market today aren’t hyper-threaded. They aren’t designed to take advantage of distributed computing. So even with the most powerful high-end workstation, the mammoth task cannot be completed on a reasonable schedule.

However, HSMWorks, a Gold-certified CAM program for SolidWorks users, can work in a distributed computing environment. That doesn’t mean you need a supercomputer to run the software. HSMWorks can identify and call upon the idle computing cores in your networked computers. Essentially, it assembles a virtual supercomputer from these unused cores, giving you enough horsepower and bravado to think you just might be able to machine Anaheim.

Building Your Own Cluster
If your workstation is a recent purchase (say, two to three years old), you’re probably running a multicore workstation. But the bulk of your daily operations—composing Word documents, replying to emails, and correcting CAD geometry—doesn’t demand more horsepower than a single core provides, so the additional cores in your dual- or quad-core machine sit idle, literally awaiting instructions.

This is not confined to you alone; it’s the same with pretty much all your colleagues with workstations. So at any given moment, your business may have enough unused computing cores to make up a high-performance computing cluster.

With HSMWorks, you can choose to install a service in each machine within your company’s network. Think of it as an agreement to contribute your unused computing power to a pool from which HSMWorks can draw. When the workstation that’s running HSMWorks needs more horsepower, it can call upon other service machines to “borrow” their idle cores. Because it uses your existing workstations, it doesn’t require additional hardware purchases.

“If the computer is on, the service is on,” explains Graves. “]The service computers] broadcast to the HSMWorks-installed machine the available resources ]cores unoccupied by any tasks].”

A schematic of how distributed CAM works with HSMWorks.

In other words, no complex IT setup is needed to turn your workstations into a distributed computing environment. You can simply launch and work in HSMWorks without any attention to the workload distribution. In the back, HSMWorks’ task manager deals with delegating operations to the machines with available services.

“If you’re running HSMWorks, the way that ]the operation] looks to you is as if you’re using a single computer,” says Graves.

What if your workstation happens to be one of the service machines, and you suddenly are in need of its full force for a mechanical simulation or stress test? “In that case, the core on that machine is released,” says Graves. “HSMWorks won’t call on it again until it’s available again.”

You don’t necessarily need to load the service component on every workstation in your network. If you’d rather reserve certain units for calculation-intense operations unrelated to CAM, you may exclude them from the distributed computing setup by leaving them out of the service installation.

Distributed CAM
Distributed CAM works within a single machine as well as a computing cluster, so even if you don’t plan to delegate tool path generation to any other workstations, you should see performance gains in a single workstation with multicores, Graves says.

“The size of the part dictates the time needed,” he explains. “If you increase the surface area that ]the software] needs to analyze, say from 2 x 2 x 2 in. to 4 x 4 x 4 in., it quadruples the calculation time.

“Most jobs consist of 20 to 60 operations,” he continues, defining an “operation” as a series of tool travels required to generate a mechanical feature, such as a boss or a bridge. Problems often arise, Graves says, when there are design changes. Whereas a CAD modeler can swiftly regenerate the modified 3D model with 15 to 20 changes with a single mouse click, the CNC programmer would need to regenerate the tool paths to accommodate all these changes—a much more time-consuming and complicated process that involves changing surfacing and roughing paths.

In developing and testing HSMWorks’ multicore architecture, the company has determined that the processing time is invariably cut in half when the number of CPU cores the software can harness doubles.

“We go from two to four CPUs, we cut ]the time] in half. We go from four to eight, we cut it in half again,” says Graves.

In visualization tasks (rendering and animation, for example), adding a graphics processing unit (GPU)—a dedicated graphics processor—to the machine has been shown to provide dramatic performance gains, but in CAM operations, because of the nature of the calculations that the software must perform, additional CPUs will more likely deliver greater performance boost than GPUs.

HP is Impressed
HSMWorks is certified for HP Z-series workstations (Z400, Z600, Z800), among others. HSMWorks has tested its distributed CAM workflow only on Intel CPUs, but the software should provide similar benefits on workstations equipped with other multicore CPU brands.

“I think HSMWorks’ model is the way of the future,” says Tom Solomon, HP’s marketing manager for workstations. “It requires no effort. The simplicity is what shocked me.”

In fact, HP was sufficiently impressed that it invited HSMWorks to give a presentation at one of its investor and press gatherings in March 2010.

The latest generation of Intel’s multicore CPU for the professional market, the Intel Xeon 5600, is designed to render across six cores using 12 threads. Aside from video games and animation, it’s difficult to imagine many other software applications developed to fully harness its horsepower. Making distributed computing a painless process may be one way to allow ordinary CAD users to tap into the idle cores.

More Info:

Kenneth Wong writes about technology, its innovative use, and its implications. One of DE’s MCAD/PLM experts, he writes DE’s Virtual Desktop blog at deskeng.com/virtual_desktop/.

About Kenneth Wong

Kenneth Wong is Digital Engineering's resident blogger and senior editor. Email him at kennethwong@digitaleng.news or share your thoughts on this article at digitaleng.news/facebook.