Results 1 - 10
of
18
The J-Machine Multicomputer: An Architectural Evaluation
- In Proceedings of the 20th Annual International Symposium on Computer Architecture
, 1993
"... The MIT J-Machine multicomputer has been constructed to study the role of a set of primitive mechanisms in providing efficient support for parallel computing. Each J-Machine node consists of an integrated multicomputer component, the Message-Driven Processor (MDP), and 1 MByte of DRAM. The MDP provi ..."
Abstract
-
Cited by 132 (4 self)
- Add to MetaCart
The MIT J-Machine multicomputer has been constructed to study the role of a set of primitive mechanisms in providing efficient support for parallel computing. Each J-Machine node consists of an integrated multicomputer component, the Message-Driven Processor (MDP), and 1 MByte of DRAM. The MDP provides mechanisms to support efficient communication, synchronization, and naming. A 512 node J-Machine is operational and is due to be expanded to 1024 nodes in March 1993. In this paper we discuss the design of the J-Machine and evaluate the effectiveness of the mechanisms incorporated into the MDP. We measure the performance of the communication and synchronization mechanisms directly and investigate the behavior of four complete applications. 1 Introduction Over the past 40 years, sequential von Neumann processors have evolved a set of mechanisms appropriate for supporting most sequential programming models. It is clear, however, from efforts to build concurrent machines by connecting man...
A compiler controlled Threaded Abstract Machine
- Journal of Parallel and Distributed Computing
, 1993
"... ..."
Compiler-directed Type Reconstruction for Polymorphic Languages
- In Proceedings of the ACM Conference on Functional Programming Languages and Computer Architecture
, 1993
"... ) Shail Aditya MIT Laboratory for Computer Science 545 Technology Square, Cambridge, MA 02139 shail@abp.lcs.mit.edu 1 Introduction Polymorphic programming languages provide the flexibility of code reuse by allowing objects with different types to share the same pattern of computation. But, this ..."
Abstract
-
Cited by 18 (2 self)
- Add to MetaCart
) Shail Aditya MIT Laboratory for Computer Science 545 Technology Square, Cambridge, MA 02139 shail@abp.lcs.mit.edu 1 Introduction Polymorphic programming languages provide the flexibility of code reuse by allowing objects with different types to share the same pattern of computation. But, this feature creates problems for applications like garbage collection and source debugging that need to know the exact type of every object participating in a computation at run-time. Traditionally, dynamic objects in a polymorphic language keep additional type-tags to identify themselves. But, this scheme either requires complex hardware support or costs space and time overhead in managing the tags in software. This paper [1] proposes a compiler-directed, explicit tag management scheme for Id, which is a polymorphic, stronglytyped language developed by the Computation Structures Group at MIT. The underlying memory model for Id is tagless, and the explicit tag information is automatically inser...
Evaluation of Mechanisms for Fine-Grained Parallel Programs in the J-Machine and the CM-5
, 1993
"... This paper uses an abstract machine approach to compare the mechanisms of two parallel machines: the J-Machine and the CM-5. High-level parallel programs are translated by a single optimizing compiler to a finegrained abstract parallel machine, TAM. A final compilation step is unique to each machine ..."
Abstract
-
Cited by 13 (1 self)
- Add to MetaCart
This paper uses an abstract machine approach to compare the mechanisms of two parallel machines: the J-Machine and the CM-5. High-level parallel programs are translated by a single optimizing compiler to a finegrained abstract parallel machine, TAM. A final compilation step is unique to each machine and optimizes for specifics of the architecture. By determining the cost of the primitives and weighting them by their dynamic frequency in parallel programs, we quantify the effectiveness of the followingmechanisms individuallyand in combination. Efficient processor/network coupling proves valuable. Message dispatch is found to be less valuable without atomic operations that allow the scheduling levels to cooperate. Multiple hardware contexts are of small value when the contexts cooperate and the compiler can partition the register set. Tagged memory provides little gain. Finally, the performance of the overall system is strongly influenced by the performance of the memory system and the f...
Semantics of pH: A parallel dialect of Haskell
- IN PROCEEDINGS FROM THE HASKELL WORKSHOP (AT FPCA 95
, 1995
"... The semantics of kernel pH are defined in the form of a parallel, normalizing interpreter. A description of I-structure and M-structure operators is also given within the same framework. Semantics of barriers in pH are presented by translation into the kernel language without barriers. The framework ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
The semantics of kernel pH are defined in the form of a parallel, normalizing interpreter. A description of I-structure and M-structure operators is also given within the same framework. Semantics of barriers in pH are presented by translation into the kernel language without barriers. The framework presented is also suitable for multithreaded compilation of pH.
Language and Compiler Support for Stream Programs
, 2009
"... Stream programs represent an important class of high-performance computations. Defined by their regular processing of sequences of data, stream programs appear most commonly in the context of audio, video, and digital signal processing, though also in networking, encryption, and other areas. Stream ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
Stream programs represent an important class of high-performance computations. Defined by their regular processing of sequences of data, stream programs appear most commonly in the context of audio, video, and digital signal processing, though also in networking, encryption, and other areas. Stream programs can be naturally represented as a graph of independent actors that communicate explicitly over data channels. In this work we focus on programs where the input and output rates of actors are known at compile time, enabling aggressive transformations by the compiler; this model is known as synchronous dataflow. We develop a new programming language, StreamIt, that empowers both programmers and compiler writers to leverage the unique properties of the streaming domain. StreamIt offers several new abstractions, including hierarchical single-input single-output streams, composable primitives for data reordering, and a mechanism called teleport messaging that enables precise event handling
High-Level Programming Language Abstractions for Advanced and Dynamic Parallel Computations
- DISSERTATION
, 2005
"... This thesis presents a combination of p-independent and p-dependent extensions to ZPL. ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
This thesis presents a combination of p-independent and p-dependent extensions to ZPL.
A Massively Parallel Multithreaded Architecture: DAVRID
- In Proc. Int'l Conf. on Computer Design
, 1994
"... MPAs(Massively Parallel Architectures) should address two fundamental issues for scalability: synchronization and communication latency. Dataflow architectures cause problems of excessive synchronization costs and inefficient execution of sequential programs while they offer the ability to exploit m ..."
Abstract
-
Cited by 6 (5 self)
- Add to MetaCart
MPAs(Massively Parallel Architectures) should address two fundamental issues for scalability: synchronization and communication latency. Dataflow architectures cause problems of excessive synchronization costs and inefficient execution of sequential programs while they offer the ability to exploit massive parallelism inherent in programs. In contrast, MPAs based on von Neumann computational model may suffer from inefficient synchronization mechanism and communication latencies. DAVRID(DAtaflow Von Neumann RISC hybrID) is a massively parallel multithreaded architecture which, by combining advantages of von Neumann model and dataflow model, preserves good single thread performance as well as tolerates latency and synchronization costs. In this paper, we describe the DAVRID architecture and evaluate it through simulation results over several benchmarks. 1 Introduction One of the problems which have bothered dataflow machine developers is that a dataflow machine needs special hardware and...
Execution of Dataflow Programs on General-Purpose Hardware
, 1992
"... Fine-grained programming is important to parallel computing because it covers up the un- avoidable latency occuring in large systems. Dataflow computing, where small groups of instructions can be sequentialized into threads, is an extreme of the fine-grained or multi- threading approaches. Originall ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
Fine-grained programming is important to parallel computing because it covers up the un- avoidable latency occuring in large systems. Dataflow computing, where small groups of instructions can be sequentialized into threads, is an extreme of the fine-grained or multi- threading approaches. Originally, dataflow programs were run on specialized hardware. The research described in this document unites advances in compiling dataflow programs to run on non-specialized hardware with the architectural advances of the J-Machine, a general-purpose massively-parallel computer.

