MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Object-oriented concurrent programming ABCL/1
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Toward a dataflow/von Neumann hybrid architecture
ISCA '88 Proceedings of the 15th Annual International Symposium on Computer architecture
Two fundamental issues in multiprocessing
4th International DFVLR Seminar on Foundations of Engineering Sciences on Parallel Computing in Science and Engineering
Programming languages for distributed computing systems
ACM Computing Surveys (CSUR)
ABCL: an object-oriented concurrent system
ABCL: an object-oriented concurrent system
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
The C++ programming language (2nd ed.)
The C++ programming language (2nd ed.)
Making pure object-oriented languages practical
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Compiler-controlled multithreading for lenient parallel languages
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
Active messages: a mechanism for integrated communication and computation
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
Low-latency message communication support for the AP1000
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
ICS '92 Proceedings of the 6th international conference on Supercomputing
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
CHARM++: a portable concurrent object oriented system based on C++
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
Type-theoretic foundations for concurrent object-oriented programing
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Elimination trees and the construction of pools and stacks: preliminary version
Proceedings of the seventh annual ACM symposium on Parallel algorithms and architectures
Efficient support of location transparency in concurrent object-oriented programming languages
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
OMPI: optimizing MPI programs using partial evaluation
Supercomputing '96 Proceedings of the 1996 ACM/IEEE conference on Supercomputing
Evaluating the performance limitations of MPMD communication
SC '97 Proceedings of the 1997 ACM/IEEE conference on Supercomputing
Efficient parallel global garbage collection on massively parallel computers
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
Implementing Concurrent Object-Oriented Languages on Multicomputers
IEEE Parallel & Distributed Technology: Systems & Technology
Evaluating a Multithreaded Runtime System for Concurrent Object-Oriented Languages
ISCOPE '98 Proceedings of the Second International Symposium on Computing in Object-Oriented Parallel Environments
A scalable lock-free stack algorithm
Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures
A scalable lock-free stack algorithm
Journal of Parallel and Distributed Computing
A dynamic elimination-combining stack algorithm
OPODIS'11 Proceedings of the 15th international conference on Principles of Distributed Systems
Elimination Trees and the Construction of Pools and Stacks
Theory of Computing Systems
Hi-index | 0.00 |
Several novel techniques for efficient implementtion of concurrent object-oriented languages on general purpose, stock multicomputers are presented. These techniques have been developed in implementing our concurrent object-oriented language ABCL on a Fujitsu Laboratory's experimental multicomputer AP1000 consisting of 512 SPARC chips. The propsed intra-node scheduling mechanism reduces the cost of local message passing. The cost of intra-node asynchronous message passing is about 20 SPARC instructions in the bst case, including locality checking, dynamic method lookup, and scheduling. The minimum latency of asynchronous internode message passing is about 9&mgr;s, or about 120 instructions, employing the self-dispatching mechanism independently proposed by Eicken et al. A large scale benchmark which involves 9,000,000 message passings shows 440 times speedup on the 512 nodes system compared to the sequential version of the same algorithm. We rely on simple hardware support for message passing and use no specialized architectural supports for object-oriented computing. Thus, we are able to enjoy the benefits of future progress in standard processor technology. Our result shows that concurrent object-oriented languages can be implemented efficiently on conventional multicomputers.