multi-core and parallel programming: is the sky falling?

The CCC blog has published a couple of articles on the multi-core challenge, all emphasizing the difficulty of making parallel programming prevalent and, hence, the difficulty of leveraging multi-core systems in mass markets. The challenge is, indeed, significant and requires important investments in research and development; but, at UPCRC Illinois , we do not believe that the sky is falling.

Parallel programming, as currently practiced, is hard: Programs, especially shared memory programs, are prone to subtle, hard-to-find synchronization bugs and parallel performance is elusive. One can reach two possible conclusions from this situation: It is possible that parallel programming is inherently hard, in which case, indeed the sky is falling. An alternative view is that, intrinsically, parallel programming is not significantly harder than sequential programming; rather, it is hampered by the lack of adequate languages, tools and architectures.  In this alternative view, different practices, supported by the right infrastructure, can make parallel programming prevalent.

This alternative, optimistic view is based on many years of experience with parallel programming. While some concurrent code, e.g., OS code, is often hard to write and debug, there are many forms of parallelism that are relatively easy to master: Many parallel scientific codes are written by scientists with limited CS education; the time spent handling parallelism is a small fraction of the time spent developing a large parallel scientific code. Parallelism can be hidden behind an SQL interface and exploited by programmers with little difficulty. Many programmers develop GUI’s that are, in effect, parallel programs, using specialized frameworks. Parallelism can be exposed using scripted object systems such as Squeak Etoys in ways that enable young children to write parallel programs. These examples seem to indicate that it is not parallelism per se that is hard to handle; rather it is the unstructured, unconstrained interaction between concurrent threads that result in code that is hard to understand both from a correctness and performance view, hence hard to debug and tune.


What Is Encapsulation Ccc - Bookshelf

Tender is the night

Tender is the night

A story of Americans living on the French Riviera in the 1930s is a portrait of psychological disintegration as a wealthy couple supports friends and hangers-on ...

The World is Flat, a Brief History of the Twenty-First Century

The World is Flat, a Brief History of the Twenty-First Century

The New York Times columnist offers a concise and compelling history of globalization, discussing a wide range of economic and political topics and issues, from ...

Heaven is for Real, A Little Boy's Astounding Story of His Trip to Heaven and Back

Heaven is for Real, A Little Boy's Astounding Story of His Trip to Heaven and Back

Heaven Is for Real is the true story of the four-year old son of a small town Nebraska pastor who during emergency surgery slips from consciousness and enters ...

Everything is illuminated, a novel

Everything is illuminated, a novel

Hilarious, energetic, and profoundly touching, a debut novel follows a young writer as he travels to the farmlands of eastern Europe, where he embarks on a ...

U is for undertow

U is for undertow

Hired by a preppy college dropout to discern the fate of a 4-year-old girl who disappeared more than 20 years earlier, Kinsey Millhone investigates the young ...

Perfect Information Directory


encapsulation (Physical Interface)
ethernet-ccc—Use Ethernet CCC encapsulation on Ethernet interfaces that must accept ... full address match, the packet is encapsulated with an LLC/SNAP and ...

Juniper Networks :: Technical Documentation :: encapsulation ...
ethernet-ccc—Use Ethernet CCC encapsulation on Ethernet interfaces that must accept ... This encapsulation is used only on link services and voice services ...

encapsulation
atm-ccc-vc-mux—Use ATM VC multiplex encapsulation on circuit cross-connect (CCC) circuits. ... This encapsulation is used only on multilink and link services ...

Define the Encapsulation for Switching Cross-Connects
When you use CCC encapsulation, you can configure the family ccc only. ... T3 interfaces, this encapsulation type is the same as standard Frame Relay for DLCIs 0 ...

CCC del Uruguay - Medical Devices - Pacemaker
CCC is one of the oldest pacemaker manufacturer in the world. ... CCC's pacemakers are marketed in Uruguay and several countries. Pacemakers and circuits ...