Hard cores: A wafer containing Intel’s Teraflops Research Chip with 80 cores.
Intel

Computing

A Tool to Make More of Many Cores

Intel's Ct software will make ordinary code work on forthcoming many-core processors.

  • Tuesday, April 21, 2009
  • By Robert X. Cringley

When it comes to writing computer software, there is a huge difference between "multi" and "many." Mere humans can write good software for the current breed of multicore processors that have two to four processing units inside a single chip, although this still requires extra skill and patience. The next step is many-core processors with sixteen to hundreds of cores--too many for any programmer to efficiently command.

That's why later this year, Intel will release from its lab a research project called Ct ("C for Throughput") that will automatically make standard C and C++ compilers work with many-core processors, starting with Intel's first new graphics processor in many years, code-named Larrabee, which is scheduled to ship in early 2010.

Ct, which will be part of Intel's Parallel Studio software-development tool kit and may have a different name by its ship date, is all about the company's new orientation toward energy efficiency. "We're investing the power budget into features people want to use," explains an Intel engineer who is not authorized to speak for the company, "so we'll have these 'eight-wide' and 'sixteen-wide' chips, but without a tool like Ct we'd be leaving three-fourths or seven-eighths or fifteen-sixteenths of that performance potential on the floor, unused. Nobody wants that."

Embracing parallelism in software has traditionally required programmers to, first, figure out which parts of their code were most easily adaptable to parallel processing, then isolate those parts in a module. But whether the language was C# or Java, the job of isolating and applying parallel code would have to begin again for each new processor family or with a large increase in numbers of cores. Ct, according to Intel, makes all that automatic, and optimizing for many-core processors of the future won't even require a recompile.

Advertisement

Unlike competing programming architectures such as nVidia's CUDA, which enable massive parallelism using large numbers of that company's graphics processors, Ct is backward compatible with the entire body of software written for Intel's long-running x86 architecture. So presumably, if you want to run your circa-1982 copy of Lotus 1-2-3 efficiently across an eight-core (or higher) processor, Ct could make that. According to the company, Ct isx86-specific, not Intel-specific, so the code will work equally well on processors from Intel's arch competitor, AMD.

Print

Related Articles

Multicore Programming

We need languages that take full advantage of multicore processing.

Parallel Universe

In an effort to move forward, Intel dusts off old supercomputing technology.

Making Multicore Fly

Before multiple-core processors can help PCs soar, the industry must solve some tricky software and hardware challenges.

Close Comments

To comment, please sign in or register

Forgot my password

richwa

1 Comment

  • 1030 Days Ago
  • 04/21/2009

Efficency or Expense

The sole logic driving the current multi-core mania is the need for Intel to sell more processors and Microsoft to sell more O/S.  As denser population chips was not feasible, the "faster, more powerful" manta was redefined from Hertz to cores.

Hardware and software decisions should be made on the basis of the task at hand. What advantages does a multi-core implementation provide to a typical user of a word processor, spreadsheet, browser, ..., that outweigh the additional hardware and software cost, not to mention the additional complexity and associated reliability problems. Will a multi-core solution and associated software make your typical application any faster or will it (as born out through history) run the same or worse?

By following the KISS principle we can truly gain efficiency through well designed and implemented software that minimize power requirements; the netbook is a step in this direction.  People are realizing that what they need to do can be done on simple systems without a narcissistic operating system designed as a toy rather than a platform for it's client applications.

Reply

Mapou

357 Comments

  • 1030 Days Ago
  • 04/21/2009

Intel Is Delusional

Anybody who thinks that the industry should retain last century’s multithreading CPU technology in the age of parallel computing should lay off the dope, in my opinion. The hard reality is that both CPU and GPU are doomed because neither (nor both together) is a solution to the parallel programming crisis. Heterogeneous processors are notoriously hard to program and neither Ct nor CUDA nor OpenCL will change that fact. What is needed is a new type of processor, a homogeneous one that is designed and built to support a universal, deterministic and easy to program parallel computing model.

Nvidia and AMD have a golden opportunity to leapfrog over Intel by taking advantage of its leaders' lack of vision. Either company can blow Intel out of the water by making the right moves. Unfortunately, these two underdogs have decided to pursue the same strategy as Intel: heterogeneous computing. It's a shame really, because it's a strategy that will certainly lead to failure. Sooner or later, an unknown startup or a true maverick will sneak up behind these squabbling old timers and steal the pot of gold. Intel, especially, has a lot to lose. Besides, being a market behemoth is no guarantee of invincibility.

How to Solve the Parallel Programming Crisis:
http://rebelscience.blogspot.com/2008/07/how-to-solve-parallel-programming.html

Reply

kmurray24

1 Comment

  • 1025 Days Ago
  • 04/26/2009

Go multicore software

This will enable a lot of unthought of functionality!  While users are sitting their blankly staring at a word processing document the computer is working in the background to analyze what is being crafted and maybe suggest better ways to do it or search the internet for examples.  so much will be done with this new tech no one knows yet what it will become.

Reply

rrowntree

1 Comment

  • 927 Days Ago
  • 08/02/2009

Commenters are not understanding Threading

The value of multicores can come in two parts, within programs/application that thread or multiple processes (program) queued up and ready to run. While many programs/applications may not be written to take advantage of multicores and parallel processing, often a users computer today has a mosaic of services running in the background that could desperately use mult-core capacities. For example, I have google desktop index, virus scanning, IE tab refreshes and word processing going on all at the same time. Often I can see that my single threaded (one of the last at my company) is maxed out, queued and waiting, essentially bottlenecked on CPU resources (I/O is another typical bottleneck). If I borrow another multi-core machine and do the exact same footprint of workloads I can see both the cores kicking in. So in my view multi-cores are of substantial value for the multi-app CPU bound case while this new Intel software acts as a bridge to, in a kludgy way, to partially improve single threaded app performance. I think the benefit of the software is, try it and see how much it helps. The real solution is threading the applications where it makes sense - not for the novice or faint of heart. And last, once you get rid of the CPU/core bottlenecks then you get potential I/O bottlenecks occurring. So for I/O intensive applications the performance improvement will be marginal. Put another way, computationally intensive app will benefit most. So it demands on the users workload footprint.

Reply

Advertisement

MAGAZINE

Can We Build Tomorrow's Breakthroughs?

Manufacturing in the United States is in trouble. That's bad news not just for the country's economy but for the future of innovation.

Sponsored Content

Technologies from National Instruments

Adding Data Logging
Log measured data to a file and open it in Microsoft Excel

> Click here for more National Instruments Videos <
Whitepaper

Temperature Measurements with Thermocouples: How-To Guide

This document is part of the “How-To Guide for Most Common Measurements” centralized resource portal. This tutorial provides a detailed guide for measurement and device considerations to take temperature measurements using thermocouples. Get an introduction to thermocouples, which are inexpensive sensing devices widely used with PC-based data acquisition systems. Also review some specific thermocouple examples and learn how thermocouples work and ways to integrate them into a data acquisition measurement system.

View full PDF > Listen to story >
Find us on Youtube

Videos

A Robot Recruit that Can Do It All

More

Advertisement

Technology Review Lists

TR50

Our list of the 50 most innovative companies, including the following:

Akamai

Netflix

Apple

Suntech

More

Advertisement

Facebook

Advertisement