NEW in this release: o Support for ICC++ (compiler and runtime only) o Object optimizations o Foreign function interface (ICC++ only) COMING SOON: o SGI Power Challenge Array runtime o Additional development and simulation platforms (some possibilities: HP/Exemplar/Sun Solaris) The Concert System includes: o Compiler and Runtime (for Suns, the CM5 and the T3D) o Program Emulator for interactive program development o Performance tools o Symbolic Debugger (source level)The Concert system supports the languages Concurrent Aggregates [1,2] and ICC++ [9,10], a dialect of C++. Both are fine-grained object-oriented language based on the actor model. These languages also support aggregates (collections), multi-access abstractions, and allow both data and task parallelism to be exploited seamlessly.
Applications/Kernels for which we have achieved good speedups on distributed memory machines include: Hierarchical radiosity, Barnes-Hut, Protein Molecular dynamics, Grobner Basis, and Phylogeny. Codes under development include: volume rendering, fast multipole, and adaptive mesh refinement. Many of these applications were previously thought to require cache coherent shared memory machine to achieve high performance.
The Concert system is available from: http://www-csag.cs.uiuc.edu If you are unable to access the http server, please send email to achien@cs.uiuc.edu
The Concert System was built in the Concurrent Systems Architecture Group in the Department of Computer Science at the University of Illinois at Urbana-Champaign. Project team members include: Andrew A. Chien, Julian Dolby, Bishwaroop Ganguly, Vijay Karamcheti, John Plevyak, and Xingbin Zhang.
DISCLAIMER: The Concert system is experimental software while we believe it is robust and usable, appropriate expectations about support apply.
BACKGROUND:
The Concert System: Compiler and Runtime Support for Portable, Efficient Fine-grained Concurrent Object-oriented Programming
Concurrent object-oriented languages, particularly fine-grained approaches, manage the complexity of large scale concurrent programming by providing modularity through encapsulation, while exposing large degrees of concurrency. Fine-grained approaches allow the user to express a program using its natural grain size and exposing maximal concurrency, leaving the task of efficient execution to the compiler and runtime. Grain size tuning is used to match the execution grain size to that efficiently supported by the underlying machine.
The ultimate goal of the Concert project is to support efficient execution of a variety of concurrent object-oriented languages on a number of machines. This release consists of an optimizing compiler and a fast runtime system for Concurrent Aggregates and ICC++, a C++ dialect. they are both fine-grained object oriented languages with support for object collections (for more details about the language, see [1,2]). The optimizing compiler is capable of obtaining C-like sequential performance when data is available locally. This is accomplished through interprocedural flow analysis [8], inlining and high level transformation of locality tests and object locks [7]. The compiler also includes optimizations such as global constant propogation, strength reduction, common subexpression elimination, constant folding, etc. The high-performance runtime system supports program execution on the Thinking Machines CM5 and Cray T3D using FM (Fast Messages) [6].
Currently, support for program development is available on SPARC workstations running SunOS with a uniprocessor simulator of the CM5 execution (based on a light-weight threads package). Support for Concurrent Aggregates also includes an emulator and a symbolic debugger. Performance monitoring information is also provided which interfaces with the Pablo performance visualization package. The release also includes basic libraries for linear algebra functions, as well as a variety of data parallel operations on object collections. Several large example programs are also part of the release.
More papers and information on Concert can be obtained from http://www-csag.cs.uiuc.edu Any other questions regarding the Concert system can be addressed to concert@red-herring.cs.uiuc.edu
REFERENCES
[1] Andrew A. Chien, "Concurrent Aggregates: Supporting Modularity in Massively-Parallel Programs", MIT Press, Cambridge, MA, 1993. [2] Andrew A. Chien, Vijay Karamcheti, John Plevyak and Xingbin Zhang, "Concurrent Aggregates Language Report 2.0", September 1993, [3] Andrew Chien, Vijay Karamcheti, and John Plevyak. "The Concert System - Compiler and Runtime Support for Efficient Fine-Grained Concurrent Object-Oriented Programs". Technical Report UIUCDCS-R-93-1815, Department of Computer Science, University of Illinois, June 1993. [4] Vijay Karamcheti and Andrew Chien. "Concert - Efficient Runtime Support for Concurrent Object-Oriented Programming Languages on Stock Hardware". In Proceedings of SUPERCOMPUTING'93, November 1993. [5] John Plevyak, Vijay Karamcheti and Andrew Chien. "Analysis of Dynamic Structures for Efficient Parallel Execution". In Proceedings of the Sixth Workshop on Languages and Compilers for Parallelism, August 1993. [6] Vijay Karamcheti and Andrew A. Chien, FM - Fast Messaging on the Cray T3D Available from http://www-csag.cs.uiuc.edu/papers/t3d-fm-ma ual.ps [7] John Plevyak and Xingbin Zhang and Andrew A. Chien, Obtaining Sequential Efficiency in Concurrent Object-Oriented Programs, Proceedings of the ACM Symposium on the Principles of Programming Languages, January 1995 [8] John Plevyak and Andrew A. Chien, Precise Concrete Type Inference of Object-Oriented Programs, Proceedings of OOPSLA, 1994 [9] Andrew Chien and Uday Reddy, ICC++ Language Definition. Available from http://www-csag.cs.uiuc.edu/concert. [10] A. A. Chien, U. S. Reddy, J. Plevyak and J. Dolby, ICC++ -- A C++ Dialect for High-Performance Parallel Computation. Proceedings of ISOTAS, 1996
Objective Caml is a class-based OO language, and offers pretty much all standard features of these languages, including "self", single and multiple inheritance, "super", and binary methods, plus a number of less common features such as parametric classes.
The main limitation (due to type reconstruction) is that coercion from an object type to a supertype is not automatic, and needs to be written down explicitly. Message sending remains fully polymorphic, though.
Objective Caml is based on (and supersedes) the Caml Special Light system. It inherits from Caml Special Light a powerful module calculus, Modula-style separate compilation, a fast-turnaround bytecode compiler, and a high-performance native-code compiler. Upward compatilibity with Caml Special Light is very high.
More information on Objective Caml, including tutorials and user's manuals, is available on the Web, at http://pauillac.inria.fr/ocaml/
Objective Caml is available for Unix (source) and Windows NT/95 (binaries). The distribution resides at the usual place, ftp://ftp.inria.fr/lang/caml-light
Bug reports should be mailed to caml-light@pauillac.inria.fr. More general discussions on Objective Caml take place on the Caml mailing list (caml-list@pauillac.inria.fr, subscriptions at caml-list-request@pauillac.inria.fr) or the comp.lang.ml newsgroup.
- Xavier Leroy Didier Rimy Jirtme Vouillon
INRIA Rocquencourt, projet Cristal, B.P.105, 78153 Le Chesnay, France. caml-light@pauillac.inria.fr
Send compilers articles to compilers@iecc.com, meta-mail to compilers-request@iecc.com.
Press release: http://www.microsoft.com/internet/siwnews.htm
Source: Microsoft(R) WinNews Electronic Newsletter, Vol. 3, #16, May 6, 1996
SOURCE: Tucker Taft, Intermetrics, Inc.
Date: May 6, 1996 By: Catherine Sansum Kirkman Wilson Sonsini Goodrich & Rosati 650 Page Mill Road Palo Alto, California 94304-1050 415/493-9300 (tel) 415/493-6811 (fax) ckirkman@wsgr.comTECHNOLOGY
JavaSoft, an operating company of Sun Microsystems, Inc., announced a new licensing model for its Java technology, under which industry leaders will now embed Java directly into their operating systems. Apple Computer, Hewlett-Packard, Hitachi, IBM, Microsoft, Novell, Silicon Graphics, SunSoft, The Santa Cruz Operation and Tandem Computers all intend to embed Java into their operating systems. This paves the way for Java to become a ubiquitous feature for end users. JavaSoft will provide each operating system licensee with the Java Virtual Machine and Java Class Libraries. Each licensee will become a provider of the Java implementation for its platform and will expose Java as binaries in the operating system, providing ready access for developers. JavaSoft will still offer traditional source licensing.
Date: April 22, 1996 By: Catherine Sansum Kirkman Wilson Sonsini Goodrich & Rosati 650 Page Mill Road Palo Alto, California 94304-1050 415/493-9300 (tel) 415/493-6811 (fax) ckirkman@wsgr.comTECHNOLOGY
Netscape Communications Corp. and Borland International announced that Netscape plans to improve the speed and performance of Java applications running inside Netscape Navigator by including the Borland AppAccelerator "just-in-time" dynamic compiler for Java applications. This will enable Java applets and applications to run five-to-ten times faster than with non-enhanced versions of Netscape Navigator. Borland's AppAccelerator reads the intermediate byte code produced by Java development tools and translates it "on-the-fly" into machine-executable instructions on the local client system. Terms of the agreement were undisclosed.
http://coho.stanford.edu/~hassan/ILU/SYLU/ SYLU 2.0 is a version of Xerox PARC's ILU that is written entirely in Python.
http://coho.stanford.edu/~hassan/Jylu/ Jylu is an implementation of the ILU runtime kernel and Java language binding completely in the Java language. It is on-the-wire compatible with ILU 2.0 (e.g. any ILU 2.0 client can call methods any Jylu true object and any Jylu surrogate can call methods any ILU 2.0 true object.) Since it is written completely in Java, it can go anywhere Java can go (inside of Netscape?)
http://ring.etl.go.jp/openlab/horb/ HORB is the world's first widely available object oriented language system that changes the style of WWW programming, Internet programming and parallel programming. It alllows you to create WWW pages containing interactive objects that communicate with objects running in your server, and forget CGI programming and socket programing. HORB is compatible with Sun's Java(TM) language and the Netscape(TM) WWW browser.
libHTML is a library of classes abstracting HTML. The library is primarily used to write C++ CGI's, but it can also be used to develop basic html documents. The library was developed using an Object Oriented methodology making the interface to the library easy to understand and allowing future library evolution. You no longer need to write HTML documents with hundreds of greater-than and less-than characters surrounded by unreadable commands like 'B', 'BR', '#AAFF00', 'HREF' and 'TD'.
Twenty One Matches is a short example of a Java "applet". You can take a copy of this code to modify and experiment with. This example program plays a very simple game against the user. Starting with twenty one match sticks, the user and the computer alternate in taking away 1, 2 or 3 matches at a time. You win the game by taking the last match.
For more information try URL:http://www.sofcom.com.au/java/
For more info, check out:
At Georgia Tech School of Mathematics, Atlanta, GA, US
Think that Java is safe and secure, and that all applets are
friendly? Come see this collection of applets for a change of
mind. Please make sure all work is saved before using these
applets! (remember, this is NOT fun!)
http://www.math.gatech.edu/~mladue/HostileApplets.html
An article from JavaWorld, Vol. 1, Issue 1, March '96. Available from http://www.javaworld.com/ (just click on "Introduction to JavaScript" in the imagemap) -- sorry, but the direct URL to the article is too long and cryptic to include here.
HTML format: http://www.javasoft.com/HotJava/overview/index.html
PostScript format: http://www.javasoft.com/HotJava/1.0alpha3/doc/overview/hotjava/browser-whitepaper.ps