Visit additional Tabor Communication Publications
July 02, 2008
As Intel continues to flesh out its multicore processor roadmap, Anwar Ghuloum, principal engineer with the company's Microprocessor Technology Lab, is already encouraging software developers to begin designing applications for manycore processors -- architectures that contain tens, hundreds or thousands of cores. In his latest blog entry titled "Unwelcome Advice," he makes the case that designing apps for multicore processors is somewhat of a dead end.
If you're a mainstream programmer, you might think this puzzling. The current crop of IA processors sports 2 to 4 cores and Intel's next generation Nehalem processors, due out later this year, will support between 2 and 8. Larrabee, Intel's first manycore processor family, is a couple of years down the road, and its programming guide is still under wraps. So why commit to manycore when you're struggling to slice up your application into enough threads to give the current cores something to do?
Ghuloum's point is that manycore architecture will emerge as the enduring model in the industry, implying that the transition from "multi" to "many" will happen rather quickly. "Eventually, developers realize that the end point is on the other side of a mountain of silicon innovations," he writes. The downside, Ghuloum admits, is that designing an application for manycore is a much bigger undertaking than doing a multicore port.
The latter usually involves just breaking an application into well-defined tasks that can run concurrently. In some cases, this design may naturally be teased out of the existing code framework, where the application's major functions can be logically mapped to independent threads. A trivial example is a transactional app that inputs a data item, processes it, and outputs the transformed result -- and does this over and over. Turning this from a sequential app into one with three threads (Input, Process, Output) that carry out the tasks in parallel is often fairly straightforward. But since the application is now mapped to three cores, taking advantage of a platform with a different core count involves another dive into the application. Not only that, but for most applications there is no clear functional decomposition that can get you to tens or hundreds of cores.
Long-term scalability is easier to achieve with a manycore design mindset up front, since you're forced to deal with the built-in assumption that the ultimate number of cores is not just large, but variable. Ghuloum admits this "usually requires at least some degree of going back to the algorithmic drawing board and rethinking some of the core methods they implement." He continues (and here's the really Unwelcome Advice part): "This also presents the 'opportunity' for a major refactoring of their code base, including changes in languages, libraries, and engineering methodologies and conventions they’ve adhered to for (often) most of the their software’s existence."
Ghuloum kind of glosses over how this might actually be accomplished, but in previous blog entries he has written more extensively about Intel's adventures in fine-grained parallelism and terascale computing in general. In particular, back in January, he wrote about the company's new Ct language, a C/C++ derivative, and offered some detail about how it supports manycore architectures. In a nutshell, Ct supports both data and task parallelism and is designed to tackle fine-grained parallelism in a more generalized way than is currently being done with GPGPU environments like NVIDIA's CUDA or AMD's Brooks+. The Ct runtime insulates the programmer from the underlying hardware, creating and dispatching threads as needed.
Whether anyone will heed Ghuloum's Unwelcome Advice remains to be seen. He correctly notes that the HPC crowd is already on board with the idea of automatic application scaling, but the rest of the industry may be a harder sell. It's hard to imagine that many (non-HPC) legacy codes will migrate to manycore; a lot just don't contain enough inherent parallelism to make the trip worthwhile.
The real potential for manycore architectures and software environments like Ct is that they will provide a platform for much more intelligent (and thus valuable) types of software than exist today -- applications like image-based data miners, personal health agents, and real-time market trade analyzers. (I wrote about how Intel views this application space last year.) If developers see clear monetary opportunities in manycore applications, all advice will be welcomed.
Posted by Michael Feldman - July 01, 2008 @ 9:00 PM, Pacific Daylight Time
Michael Feldman is the editor of HPCwire.
No Recent Blog Comments
Not content to let the Tianhe-2 announcement ride alone, Intel rolled out a series of announcements around its Knights Corner and Xeon Phi products--all of which are aimed at adding some options and variety for a wider base of potential users across the HPC spectrum. Today at the International Supercomputing Conference, the company's Raj....
The Top 500 list of the world's fastest computers has just been announced. Not surprisingly, since it's been reported on prior to the official announcement, the Chinese Tianhe-2 system tops the list. And that is an understatement. We talk with Jack Dongarra, Horst Simon, Hans Meuer and others from the....
Outside of the main attractions, including the keynote sessions, vendor showdowns, Think Tank panels, BoFs, and tutorial elements, the International Supercomputing Conference has balanced its five-day agenda with some striking panels, discussions and topic areas that are worthy of some attention....
Jun 17, 2013 |
The advent of low-power mobile processors and cloud delivery models is changing the economics of computing. But just as an economy car is good at different things than a full size truck, an HPC workload still has certain computing demands that neither the fastest smartphone nor the most elastic cloud cluster can fulfill.
Jun 14, 2013 |
For all the progress we've made in IT over the last 50 years, there's one area of life that has steadfastly eluded the grasp of computers: understanding human language. Now, researchers at the Texas Advanced Computing Center (TACC) are utilizing a Hadoop cluster on its Longhorn supercomputer to move the state of the art of language processing a little bit further.
Jun 13, 2013 |
Titan, the Cray XK7 at the Oak Ridge National Lab that debuted last fall as the fastest supercomputer in the world with 17.59 petaflops of sustained computing power, will rely on its previous LINPACK test for the upcoming edition of the Top 500 list.
Jun 12, 2013 |
At 31 petaflops of sustained LINPACK capacity, the new Chinese Tianhe-2 supercomputer will be the fastest supercomputer in the world when this month's Top 500 list comes out, as we reported previously in HPCwire.
Jun 12, 2013 |
HPC system makers are lining up to announce compatibility with the new fourth generation Intel Core processor, codenamed "Haswell." The new Iris GPUs based on the Haswell architecture are giving Intel new credibility in the graphics processing department.
05/10/2013 | Cleversafe, Cray, DDN, NetApp, & Panasas | From Wall Street to Hollywood, drug discovery to homeland security, companies and organizations of all sizes and stripes are coming face to face with the challenges – and opportunities – afforded by Big Data. Before anyone can utilize these extraordinary data repositories, however, they must first harness and manage their data stores, and do so utilizing technologies that underscore affordability, security, and scalability.
04/15/2013 | Bull | “50% of HPC users say their largest jobs scale to 120 cores or less.” How about yours? Are your codes ready to take advantage of today’s and tomorrow’s ultra-parallel HPC systems? Download this White Paper by Analysts Intersect360 Research to see what Bull and Intel’s Center for Excellence in Parallel Programming can do for your codes.
Join HPCwire Editor Nicole Hemsoth and Dr. David Bader from Georgia Tech as they take center stage on opening night at Atlanta's first Big Data Kick Off Week, filmed in front of a live audience. Nicole and David look at the evolution of HPC, today's big data challenges, discuss real world solutions, and reveal their predictions. Exactly what does the future holds for HPC?
Join our webinar to learn how IT managers can migrate to a more resilient, flexible and scalable solution that grows with the data center. Mellanox VMS is future-proof, efficient and brings significant CAPEX and OPEX savings. The VMS is available today.