LOGIN
|
REGISTER NOW
|
SUBSCRIBE
AS OF 5/21/2013 1:30PM EST
HOME
ALL STORIES
LATEST NEWS
COLUMNS
OPINIONS
GUEST VIEWS
SHORT TAKES
LINKAPALOOZA
NEWSWIRE
SPECIAL REPORTS
ZEICHICK'S TAKE
SD TIMES 100
BE A NEWSHOUND
IPHONE APP
IPAD APP
RSS FEEDS
FACEBOOK
TWITTER
WHITE PAPERS
SPONSORED PROFILES
JOB BOARD
WEBINAR CENTER
FREE SOFTWARE
ANDROID NEWSLETTER
BIG DATA TECHREPORT
ALM
SHAREPOINT
EVENTS CALENDAR
PRINT/PDF EDITION
PRINT/PDF BACK ISSUES
SUBSCRIBE TODAY
CUSTOMER SERVICE
EDITORIAL BEATS
GUEST VIEW GUIDE
SD TIMES 100 GUIDE
EVENTS CALENDAR
ADVERTISING
ARTICLE REPRINTS
REPORT A BUG
SITE MAP
ABOUT US
BZ MEDIA NEWS
NEWS ON MONDAY
SPTECHREPORT
SPTECHWEB
SPTECHCON
IPHONE/IPAD DEVCON
ANDROID DEVCON
PRIVACY POLICY
CONTACT US
HOME
>>
COLUMNS
Under Concurrence
By
Larry O Brien
Tweet
February 15, 2006 —
(Page 1 of 3)
The software development community is about to drive into a wall. While the chip manufacturers are still adhering to the letter of Moores Law, doubling transistor density regularly, the spirit of the law, that every new machine would be at least twice as fast as its predecessor, is now only a memory. Barring truly radical changes in processor architecture, advances in desktop and laptop speed from now on will almost entirely result from parallelism, not linear improvements in throughput.
The industry has been too complacent about the implications. Too many believe that the poor performance of the network and the paging file excuses them from having to consider performance problems. Indoctrinated on the dangers of premature optimization, too many fail to consider optimization at all. In a few years, when we change from multicore machines of two and four cores to manycore hardware, easy infrastructure improvements from the operating system and the .NET Common Language Runtime will rapidly tail off.
The CLR makes the multicore era survivable with a well-defined asynchronous idiom using BeginInvoke() and EndInvoke(), a solid threading library and Monitor-based exclusion. This will not do in the manycore era. Its one thing to identify a hotspot in a program and realize, Hey, I can split up the work in this array, and another to take advantage of a world where data is routinely flowing among 8 or 16 or 32 cores.
No mainstream programming language is automatically parallelizable. This is ironic, since object-oriented programming has its roots in simulation, where concurrency is a basic concern. However, since mainstream OO languages allow state to be shared between threads, theyre fundamentally crippled. When the basic rule for thread safety is either write objects with no fields or write objects with no virtual method calls, the paradigms are clashing.
Surprisingly, the mainstream language that seems to have the most far-reaching proposal for manycore programming is C/C++. Herb Sutter, who is an architect at Microsoft and chair of the ISO C++ committee, gave the first public airing of his Concur project at last Septembers PDC. Along with emphasizing that Moores free lunch is over, Sutter proposes that existing approaches to concurrency such as OpenMP do not go far enough and that the abstractions of .NET (and Java, for that matter) are inadequate, focusing as they do on thread management, rather than the more general concept of delayed execution.
Next Page
Pages
1
2
3
Share this link:
http://sdt.bz/29126
Technorati
Digg
Reddit
Slashdot
Facebook
Friendfeed
Twitter
del.icio.us
Related Articles
GrammaTech provides static-analysis technology to universities under expanded academic program
Award-winning GrammaTech CodeSonar static-analysis tool available for classes and research
Ford, OpenXC get developers under the hood
Bug Labs and Ford are working together to build an open-source platform that can look at the data produced by cars
Under the rubble, a wireless app saves a life
When he was trapped under a collapsed building following the earthquake in Haiti, Dan Woolley was saved by an iPhone app
NEXT ARTICLE
GrammaTech provides static-analysis technology to universities under expanded academic program
Award-winning GrammaTech CodeSonar static-analysis tool available for classes and research
Read More...
 
LOADING...
News on Monday
more>>
Android Developer News
more>>
SharePoint Tech Report
more>>
Big Data TechReport
more>>
Download Current Issue
MAY 2013 PDF ISSUE
Need Back Issues?
DOWNLOAD HERE
Want to subscribe?