Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Implicit invocation meets safe, implicit concurrency
Long Y., Mooney S., Sondag T., Rajan H.  GPCE 2010 (Proceedings of the 9th International Conference on Generative Programming and Component Engineering, Eindhoven, the Netherlands, Oct 10-13, 2010)63-72.2010.Type:Proceedings
Date Reviewed: May 17 2011

Panini is the name of an evolving parallel programming environment being developed at Iowa State University. It is introduced as a novel technology for safe, concurrent, modular software development, specifically to run on multicore processors, offering an environment in which “implicit invocation meets safe, implicit concurrency.” The title is a mouthful, but what Long et al. describe in this paper is indeed a promising approach to the still-unresolved and hard problem of safe and easy parallel programming.

Section 2 outlines the implicitly concurrent language with its new declarations and announcements of events, extending the original Java base. Section 3 describes Panini’s compiler and runtime system, while section 4 discusses performance, partly based on measured data. Section 5 lists actual Panini examples, with sections 5 and 6 contrasting related work and suggesting future research.

The advertised advantages of Panini over prior concurrent programming solutions appear astounding. Thus, it is inconsistent that the actual code samples, contrasting Panini with earlier state-of-the-art solutions, are noticeably longer. Handler registration is too sketchy to offer the reader a thorough understanding, and the hotel reservation example in section 5--meant to demonstrate some concurrency solution--is unconvincing, since several of the steps are actually dependent on one another, thus inhibiting parallelism.

Despite these minor shortcomings, overall, the work is impressive. Panini is a concurrent language that supports modular software design that avoids race conditions and deadlocks without dumping the intellectual burden onto the programmer, while at the same time yielding efficiently running software. Anyone who is planning serious work on multicore or multiprocessor execution should first study and comprehend the approach offered in Panini. This would not be the first time when Iowa academia has achieved serious breakthroughs in computing.

Reviewer:  Herbert G. Mayer Review #: CR139063 (1112-1299)
Bookmark and Share
 
Concurrent, Distributed, And Parallel Languages (D.3.2 ... )
 
 
Concurrent Programming Structures (D.3.3 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Concurrent, Distributed, And Parallel Languages": Date
Parallel programming
Coffin M., Silicon Press, Summit, NJ, 1992. Type: Book (9780929306131)
Apr 1 1993
Tutorial: compiling concurrent languages for sequential processors
Edwards S. ACM Transactions on Design Automation of Electronic Systems 8(2): 141-187, 2003. Type: Article
Jul 18 2003
Compositional parallel programming languages
Foster I. ACM Transactions on Programming Languages and Systems 18(4): 454-476, 1996. Type: Article
Jan 1 1997
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy