Multicore Chips Are A Series Of Tubes...

A professor at MIT has come up with a new programming language and an associated compiler to overcome the challenges presented by programming for powerful multicore chipsets. They call it StreamIt.

"Creating software is still something a lot of people can do, but if they had to deal with parallelism, it becomes much more difficult," says Amarasinghe.

In single-core machines, software code runs, for the most part, sequentially. This means that tasks--such as accessing certain chunks of memory to open a program--occur one after another, in a predictable way. In a multicore system, tasks get split up among cores. And when different tasks need to access the same chunk of memory, the tasks have to work together to carefully orchestrate--or synchronize--the accesses. If multiple tasks inadvertently access the same data without proper synchronization, the data will get corrupted, producing incorrect results or crashing the program.
Write sequentially, compile data flow with synchrony.  Read it all here.
Tags:  Core, Chip, chips, IPS, ULT, IE, IP, ICO, AR