Parallel processing is one of the hot topics in computing these days, so I'm always interested when a major tools vendor introduces a new technology designed to make parallelization and concurrency simpler for the lay programmer. Most recently, Apple finalized the APIs for Grand Central this week, coinciding with the latest development build of its forthcoming "Snow Leopard" edition of Mac OS X.
Grand Central is a new set of technologies that bakes concurrency into the heart of Mac OS X. They're designed to make it easier for programmers to divide their applications into separate, atomic processing tasks, each of which can then be handed off to the OS for efficient distribution across multiple CPU cores. With Grand Central, the OS itself handles much of the low-level grunt work of supervising and routing independent tasks, freeing programmers to concentrate on user-facing issues.
This kind of assistive technology will be essential if developers hope to take full advantage of the next generation of high-performance CPUs. Cores have replaced clock speed as the new metric for processor power. If you think it's challenging to write code that runs efficiently on today's four- and eight-core systems, just wait until the average desktop PC contains 16 or 32 cores, or more.
[ Discover the challenges that multicore systems pose to application developers | See InfoWorld's tests on how Windows 7, Vista, and XP compare on multicore PCs. ]
Still, I can't help but wonder whether the industry as a whole might be running in the wrong direction. Despite years of research into grid processing and HPC (high-performance computing), efficient parallelization remains a tough nut to crack. The systems that do it well are mainly purpose-built environments that are poorly suited to the needs of your average PC user. So why not just have those systems do what they do best and leave our PCs to handle user experience and interactivity? In other words, why are we trying to re-create Google-style parallelism on our desktops when we could just have Google handle the heavy lifting for us?
This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.
Download now »Download a free 30day trial and experience how XenDesktop delivers a pristine, ondemand desktop experience to users on whatever device they choose, while cutting IT complexity and costs.
Download now »
The emergence of WLANs has created a new breed of security threats to enterprise networks.
Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation
Neil, I am embarrassed for you. You seem so far behind, I wonder how you can tell which forest Apple is in, much less which tree they bark up.
Multi-threading is not the "hot thing" any more. It is essential. Even though the various problem classes derive widely variable benefit from it, There is no other way left to increase the amount of computing done in a given increment of time. Even Gordon Moore has explained the laws of physics have halted the shrink in semiconductor geometries and that "increased chip complexity" is the surest path to extending the price/performance curve made possible by his famous "law".
Wake up and smell the coffee dude. You live at the end of an era. The speed of light is not increasing, and copper molecules are not going to shrink. Moore's Law is dead, Long live Gordo Moore! Whether or not we make serious breakthroughs in photonic computing, massive parallelism is the wave of the future. Given that, as you yourself stated, "efficient parallelization remains a tough nut to crack", Apple's approach is the classic computer scientist's approach to complexity. Push it down the stack. Derive the formulas, express the algorithms in machine terms, and encode it as a service. Shoot, in 30 or 40 years thread decomposition and reassembly ought to be in microcode. It is too important to be trusted to humans.

Sign up to receive InfoWorld Resource Alerts
