There are No Autobahns for this Fast Machine By Pat Taylor, Proactive Technologies February 28, 2007 -- It has been more than a year-and-a-half since Intel introduced the first dual-core processor for desktop use, and dual-core for servers became available last summer. Last month saw the release of quad-core devices with four physical processors in a single CPU socket. Feel the need for speed? This exponential leap in horsepower is meaningful to those of us in the printing and publishing industry because faster RIPs mean more plates per hour and a measurable increase in productivity. But there's a catch. While dual-core processors provide compelling performance metrics, very few of our ISV (Independent Software Vendor) partners have optimized their code for this groundbreaking technology. The business world seems only conversationally aware of multithreading and has yet to take advantage of hyper-threading (which is already four years old). This is a problem; running single-threaded applications in a multi-threaded environment is akin to showing up for calculus at MIT with an abacus. And "Threading" Is? In computer science terms, "thread" is short for thread of execution. Multithreading enables a program to split itself into two or more simultaneously running tasks. This enables multiple parts of a given job to be handled at the same time so that a given task can be done far more quickly than if it were handled by a single processor which works its way through a process sequentially. Threads and processes differ from one operating system to another and programmers must design the program so that all the threads can run at the same time without interfering with each other. I’m not sure why the ISVs have failed to prepare for dual-core and multithreading. One might think a software company would leap at the chance to be first-to-market with a hyper-threaded application that runs well in a dual-core environment. In their defense, most software companies have grown comfortable with the dynamics of Moore’s Law (which states with uncanny accuracy that processor speeds double every two years); it worked well for 30 years and gave software developers a reliable target and time frame. With dual-core, however, Moore’s law in the only constant in a more complex equation wrought with variables heretofore unknown. What kind of processes benefit from the deployment of dual-core and quad-core technology? Background tasks that have been running on leftover CPU power will now have their own path to horsepower. Rendering, search indexing, security sweeps and even side bar tasks all require their own thread to operate efficiently. Media processing and playback will experience tremendous benefit in a multithreaded environment. In our industry, a dual-core platform may be able to do the job of two workflow engines; a well-written application will be able to RIP, trap and impose without “breaking a sweat”. You will get more work done with less hardware, and that will increase your profitability. There are a couple Independent Software Vendors in our industry who have introduced multithreaded applications. Artwork Systems’ portfolio of workflow products features some multithreaded components within their applications. Screen’s Trueflow is multithreaded and is scalable, so it will benefit from the introduction of quad-core processors. And GMG has done a particularly good job of optimizing their code for this new technology. I’m sure there are others that are taking full advantage of dual-core technology and multithreading, and many more will make announcements over the next year-and-a-half. Until then, however, the legacy technology that features single-core architecture will be phased out of distribution. Dual-core technology will be ‘the standard’ in every server platform you purchase (desktop and mobile computers, as well) and single-core processors will be a thing of the past. Unfortunately, there are a limited number of software packages that make purchasing dual-core technology worthwhile; not because dual-core is too expensive, but because running single-core software on a dual-core machine will be wasting a powerful tool. There just aren’t many autobahns for this really fast machine. Yet.