For everyday processing tasks, the dual core processors in laptop
and desktop computers are more than sufficient. In fact, most of those machines
rarely use all their processing power, which has led some to ask what else could be
done with the unused CPU cycles.

Early schemes employed downloadable clients
that would contribute your unused CPU cycles to various causes such as AIDS
research and the Search for Extraterrestrial Intelligence (SETI). Later you could contribute CPU cycles in
helping to prove some of Einstein’s theories, provide early
detection of earthquakes, or find the God particle.

As might be expected, CPU
cycles on desktops and laptops are not the only ones being harnessed to solve
computationally dense problems. Researchers at the Berkeley Open Infrastructure
for Network Computing have apps you can run on your mobile phone
that will cause it to contribute its unused cycles to research as well.

Processing have-nots

But while your desktop, laptop, or smartphone might be swimming
in more processing power than needed, there are businesses that
can’t seem to get enough. Software and application developers, game developers, engineers working in all disciplines, medical imaging users, movie makers, and computer aided drafting (CAD) all require processing power that goes well beyond what’s available in typical desktops and laptops.

To meet the need, technologists have come up with
a large array of solutions, including individual clusters of both CPUs and GPUs
and even clusters of CPUs and GPUs together, as exemplified at Boston University’s College of Engineering. The university
has six classrooms participating in cycle-harvesting, while students and
faculty can access high-performance computing centers on and off campus.

Grid
computing, parallel processing, and distributive processing are all alive and
well today and continue being used to solve problems needing massive computing
power. Many of these efforts require extensive hardware and software
setups that can put them out of reach for small businesses and those that don’t
have particular IT expertise.

Grabbing unused CPU cycles

To answer the call for a simpler solution to harnessing unused
CPU cycles, Xoreax, the makers of IncrediBuild, brought to
market a software solution that can make a single, four CPU full core computer
act like a 200 CPU computer. The same computer can connect with GPUs on other
computers, or maybe even to an APU, and use those resources, for example, to do
rendering. The solution dynamically allocates resources to the task based on the task’s demands, and then allocates and harnesses unused
CPU cycles of machines running the agent. Once the task is done, it releases
all of those CPUs that were harnessed.

The implementation doesn’t require any
integration and doesn’t require any dedicated machines, and it is all
transparent and done automatically. When other computers are providing CPU
cycles, the users of those computers can still use the machines for whatever
purposes they need. The product is off-the-shelf and doesn’t have integration
requirements.

Using diamonds as the example

While this type of distributed computing is a natural for
application and software development environments, especially for agile
environments and continuous integration, Eyal Maor, CEO at IncrediBuild, points
to a “dazzling” example of it being applied in a runtime environment to harness
unused CPU cycles for computationally-intensive processing. A company that
analyzes and cuts raw diamonds runs CAD simulations that used to take up to
30 hours in figuring out where to cut and shape diamonds to get the maximum
value from them. By distributing those tasks across a number of machines and taking advantage of unused CPU cycles, the company reduced that time to
less than four hours. A side benefit was that the company could increase the
precision of the analysis, resulting in diamonds of higher quality and subsequently higher value.

Maor says the solution is about 80% distributed computing and 20%
parallel processing, and that it allows the two to exist in a complementary way
because once there is parallelism, distributed computing is needed to scale out. Both
forms use the same underlying methods because of the need to manage different
resources, whether they are on a local machine or on a remote infrastructure.

The Kaveri connection

IncrediBuild has particular interest in AMD’s Kaveri processor, scheduled for release in early 2014. Kaveri accelerated
processing units are called that because they allow both CPUs and GPUs to share
memory, and that in turn allows them to also share processing tasks. Maor says
that not having to switch between the two different hardware mechanisms means
much more can be done when it comes to sharing CPU and GPU cycles. In the big
picture, though, he sees it as another resource available to be harnessed.

When it comes to resources, organizations of all sizes might benefit from exploring just what capturing unused CPU cycles might do for their operations and potentially their bottom line. Maor offers that most people only
actually use about 30% of the processing power available in their computers,
and that represents investment that isn’t realizing a return.