Next: Distributed Parallel Processing Up: Department of Computer Previous: Mathematical Foundation of

Language Processing Systems Laboratory


/ David S. L. Wei / Professor
/ Danny Krizanc / Visiting Professor

This year was the third year for the Language Processing Systems Laboratory. As such, the achievement consisted in continuing existing lines of research by each of the lab members (as exemplified in the publication and achievement list) and also continuing two group projects, namely Towards a Programming Language Designer's Workbench based on Logic Programming and Action Semantics, and Granularity Optimization and Scheduling on Massively Parallel Computer Systems, which are stated in what follows.

Towards a Programming Language Designer's Workbench based on Logic Programming and Action Semantics

Language development usually proceeds in the following stages: design, specification, prototyping, and implementation (with no strict ordering). We call it a programming language life cycle. Many programming languages have been developed based on the life cycle. However, their specifications are usually written in English: such specifications can be very misleading for both implementors and users since the designers' original intention may be misunderstood. Even when a programming language is formally specified (normally based on denotational, operational, or axiomatic semantics frameworks), it is still difficult to pass on the designer's intention to others because it rarely gives hints on how to implement the language. With this in mind, we are developing a Programming Language Designer's Workbench based on a recently developed framework, action semantics. The workbench allows a language designer to design and implement a language in one setting. Thus, the language designers can actually confirm that the designed language is in fact the one he intended. This consistency check is indeed important because it eliminates potential design errors and possible misunderstanding among designers and implementors.

The project has been carried out in three differrent directions: (1) developing theories necessary to realize programming language designer's workbench; (2) designing methodology related to actually building up the general-purpose compiler generator based on action semantics framework; (3) studying semantics of many constructs of programming languages (imperative, functional, logic, object-oriented, etc.) to see how action semantics specifications affect the understanding of semantics of programming languages as well as the design of new languages.

Granularity Optimization and Scheduling on Massively Parallel Computer Systems

Despite recent advances in massively parallel processing (MPP), resource management remains a critical issue for achieving high performance on MPP architectures. Resource management involves code and data partitioning, scheduling and control of program execution. How to manage these activities to achieve the fastest parallel execution for a single application is an important and challenging problem that so far has not been satisfactorily resolved. CASS, which stands for Clustering And Scheduling System, is a compiler optimization tool that provides facilities for automatic partitioning and scheduling of parallel programs on distributed memory architectures. Central to the design of CASS is grain-size optimization. The high communication overhead in current MPP architectures imposes a minimum grain-size (i.e., computation-to-communication ratio) below which performance degrades significantly. Using task clustering techniques, CASS restructures a parallel program to one whose grain-size matches that of the target architecture, while minimizing overall parallel execution time.

The completed work of this research in the past fiscal year includes:



Next: Distributed Parallel Processing Up: Department of Computer Previous: Mathematical Foundation of


www@u-aizu.ac.jp
December 1998