This post is the first in a multi part series about performance and distributed computing strategies with KSX. First I would like to provide a little background information to help frame the problem, and the various solutions that KSX can offer. You may be familiar with Moore's law, or if not, you are familiar with its results. Basically it states that each year, the transistor density on silicon semi-conductor will double, due to improved manufacturing processes and design. For many years, this resulted in a steady increase in CPU processing speed. To get better performance from your software, you simply had to wait a year, and it would go faster as the computers sped up. After many years of steadily marching upward with CPU speed, we began to bump into a new barrier, energy requirements and heat production. Because of this, the industry shifted. Rather than use the ever growing transistor density to continue increasing processor speed, companies began creating chips with more than one processor. We started getting dual-core, quad-core, and now 8 core processors, with 16 and 32 on the very near horizon. This shift in hardware philosophy has a dramatic impact on software design. Rather than get a performance increase for free, the burden has been shifted to the programmer to take advantage of the new hardware. Not all problems can be solved in parallel, which is what multi-core offers, parallel processing. Many problems can be solved by carefully breaking them down into components that can be executed in parallel, but this certainly adds complexity to the solution. So over the next few blog posts, I plan to give some examples of how to leverage KSX in the world of multi-core processors. In the case of KSX, the parallel scaling can happen across processors on the same physical machine, or across processors in a cluster of machines, even out into the "cloud". More in part 1...