Computing Reviews

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: 05/17/11

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)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy