datasheets.com EBN.com EDN.com EETimes.com Embedded.com PlanetAnalog.com TechOnline.com  
Events
UBM Tech
UBM Tech

News & Analysis

Researchers report progress on parallel path

Rick Merritt

8/24/2009 12:01 AM EDT

Inside the code
Patterson will describe Berkeley's work on a two-level approach to scheduling parallel jobs in software. At the lowest level, the group's Tessellation OS allocates to an application a set of hardware resources such as cores, cache and bandwidth, essentially creating a logical partition for coarse-grained parallelism.

Above Tessellation, the Lithe runtime environment provides protocols for sharing resources. Lithe lets users tap into multiple parallel libraries, something that hasn't been possible to date.

The Berkeley Parallel Lab foresees many-core processors needing a nuanced software stack

Berkeley hopes to release this summer a version of Lithe working both with the Intel's Thread Building Blocks and the OpenMP libraries and running on today's operating systems. The Tessellation environment is up and running on an x86 multicore processor and is being ported both to Intel's Nehalem server CPU and to the Ramp FPGA simulator board developed at Berkeley.

In a separate project, one graduate student used new data structures to map a high-end computer vision algorithm to a multicore graphics processor, shaving the time to recognize and image from 7.8 to 2.1 seconds. The effort was one example of developing a new stack to better harness parallelism.

"Our goal is to understand what are the recurring problems in applications and come up with frameworks so the next time we parallelize code it doesn't take as much time or a graduate student to do it," said Krste Asanovic, an associate professor at Berkeley.

In a separate project, students used a method for automatically generating in the popular Python and Ruby languages C code geared for multicore environments such as OpenMP and Nvidia's CUDA. Results showed the automatically generated code could be just as fast as hand-written parallel code that requires much more time and effort.





Mapou

8/24/2009 2:40 PM EDT

Another well researched and fascinating article by Rick Meritt. Thank you, Rick. It's too bad the brainy folks at Berkeley, Urbana-Champaign and Stanford have nothing interesting to offer in the way of a solution to the parallel programming crisis. To boldly come out and declare that "there is no silver bullet" is annoyingly anti-climactic. In my considered opinion, it has all been a waste of time and money. I had high hopes for UC-Berkeley, if only because Dr. Edward Lee, the man who showed everybody that multithreading is evil, is a member of Berkeley's Parallel Labs. I was hoping that Prof. Lee would use his considerable influence to convince the industry that multithreading is not a viable parallel software model. Instead, the wise folks at Berkeley decided to kowtow to Intel's business interests. It makes sense because Intel would be in a world of trouble if the industry abandoned threads and, as we all know, Berkeley's work is partly funded by Intel. David Patterson's strategy seems to be: tell them what they want to hear, not what's good for the industry. In all, I just wanted to say that I am terribly disappointed. What a waste of time, money and brains! You people at Berkeley, Stanford and UIUC cannot say that you never saw the writing on the wall. You have no excuses, in my opinion. Google or Bing "How to Solve the Parallel Programming Crisis" to learn about the real solution to the crisis.

Sign in to Reply



CompAid

8/26/2009 9:57 PM EDT

It also turns out that hierarchical structure processing applications can be automatically parallelized dynamically at runtime with unique and full parallel processing capabilities. Hierarchical structure applications process hierarchical data structures. These hierarchical data structures automatically map the parallel processing pathways which can be automatically parallel processed. Hierarchical pathways can each support multiple data occurrences which can each also be parallel processed. This parallel processing technique does not require user assistance or a design step. It also can parallel process most of the full program pathway and utilize a very high number of multicores. This automatic hierarchical parallel processing was described in the following recent article: www.devx.com/SpecialaReports/Article/40939/1954

Sign in to Reply



CompExpert

8/28/2009 1:04 PM EDT

Thank you Mapou for taking the time to counter the smoke and mirrors of the businesses and institutions whose goal is not to make a leap forward, but to make money. Profit is fine, but not when the attitude of the businesses is to drain billions out of the economy while making no progress.

I was astonished at Rick's comment in passing that "researchers have failed to create a useful parallel programming model in the past". Parallel programming research and implementation has been going on for half a century. Tens of thousands of PhDs have been granted in the field in the U.S. alone. And "researchers have failed to create a useful parallel programming model in the past." We have a problem Redmond! Words cannot convey the depth and strength of my feelings on reading this.

Surely, Microsoft which has monopolized the software industry and controlled PC hardware development illegally should be broken up into separate entities, but even that doesn't seem to be enough.

Considering the resources and money that have been wasted resulting in - "researchers have failed to create a useful parallel programming model in the past" (I can't get over that - I just can't), our university systems need to be taken apart and those responsible for the failures removed from positions of control.

Sign in to Reply



rick.merritt

8/30/2009 11:17 PM EDT

Dear CompExpert: Can you point to any easy-to-use parallel programming model suitable for tomorrow's 64+ core x86 processors now on the drawing board?

I am well aware of the massive amount of work several decades ago from the likes of Thinking Machines and many others to create massively parallel systems and code, but most researchers I have talked to agree despite the incredible efforts, no one ever solved the problem and it got put back on the shelf for today's researchers to take up again.

Sign in to Reply



Please sign in to post comment

Navigate to related information

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)