Results 1 -
6 of
6
Implementation of a Portable Nested Data-Parallel Language
- Journal of Parallel and Distributed Computing
, 1994
"... This paper gives an overview of the implementation of Nesl, a portable nested data-parallel language. This language and its implementation are the first to fully support nested data structures as well as nested dataparallel function calls. These features allow the concise description of parallel alg ..."
Abstract
-
Cited by 154 (26 self)
- Add to MetaCart
This paper gives an overview of the implementation of Nesl, a portable nested data-parallel language. This language and its implementation are the first to fully support nested data structures as well as nested dataparallel function calls. These features allow the concise description of parallel algorithms on irregular data, such as sparse matrices and graphs. In addition, they maintain the advantages of data-parallel languages: a simple programming model and portability. The current Nesl implementation is based on an intermediate language called Vcode and a library of vector routines called Cvl. It runs on the Connection Machine CM-2, the Cray Y-MP C90, and serial machines. We compare initial benchmark results of Nesl with those of machine-specific code on these machines for three algorithms: least-squares line-fitting, median finding, and a sparse-matrix vector product. These results show that Nesl's performance is competitive with that of machine-specific codes for regular dense da...
ICC++ -- A C++ Dialect for High Performance Parallel Computing
- In Proceedings of the 2nd International Symposium on Object Technologies for Advanced Software
, 1996
"... ICC++ is a new C++ concurrent dialect which allows sequential/parallel program versions to be maintained with single source, the construction of concurrent data abstractions, convenient expression of irregular and fine-grained concurrency, and supports high performance implementations. ICC++ prov ..."
Abstract
-
Cited by 55 (10 self)
- Add to MetaCart
ICC++ is a new C++ concurrent dialect which allows sequential/parallel program versions to be maintained with single source, the construction of concurrent data abstractions, convenient expression of irregular and fine-grained concurrency, and supports high performance implementations. ICC++ provides annotations for potential concurrency, facilitating both sharing source with sequential programs and grain size tuning for efficient execution. ICC++ has a notion of object consistency which can be extended structurally and procedurally to implement larger data abstractions. Finally, ICC++ integrates arrays into the object system and hence the concurrency model. In short, ICC++ addresses concurrency and its relation to abstractions -- whether they are implemented by single objects, several objects, or object collections. The design of the language, its rationale, and current status are all described. Keywords concurrent object-oriented programming, concurrent languages, parallel...
Optimization of Object-oriented and Concurrent Programs
- University of Illinois at Urbana-Champaign
, 1996
"... iii To Cindy, ..."
Using Abstraction in Explicitly Parallel Programs
- Dept. of Electrical Engineering and Computer Science, MIT
, 1990
"... ion in Explicitly Parallel Programs by Katherine Anne Yelick c fl Massachusetts Institute of Technology, 1990 This report is a revised version of the author's thesis, which was submitted to the Department of Electrical Engineering and Computer Science on December 31, 1990 in partial fulfillment of ..."
Abstract
-
Cited by 8 (5 self)
- Add to MetaCart
ion in Explicitly Parallel Programs by Katherine Anne Yelick c fl Massachusetts Institute of Technology, 1990 This report is a revised version of the author's thesis, which was submitted to the Department of Electrical Engineering and Computer Science on December 31, 1990 in partial fulfillment of the requirements for the degree of Doctor of Philosophy at the Massachusetts Institute of Technology. The thesis was supervised by John V. Guttag. The author's current address is the Computer Science Division, University of California, Berkeley, CA 94720. 2 Abstract It is well-known that writing parallel programs that are both fast and correct is significantly harder than writing sequential ones. In this thesis we introduce a transition-based approach to the design and implementation of parallel programs. This approach is aimed at applications whose complex data and control structures make them hard to parallelize by conventional means. It is based on a programming model with explicit pa...
Dynamic Load Distribution on Point-to-Point Multicomputer Networks
, 1991
"... To benefit from parallel computers, programs must be partitioned into units that work in parallel. Once partitioned, these units, called processes, tasks or threads, must be assigned to specific processors for execution. On shared memory architectures, this is termed scheduling, whereas on multicom ..."
Abstract
- Add to MetaCart
To benefit from parallel computers, programs must be partitioned into units that work in parallel. Once partitioned, these units, called processes, tasks or threads, must be assigned to specific processors for execution. On shared memory architectures, this is termed scheduling, whereas on multicomputer systems, it is called load distribution, distinguishing it from any local scheduling used on individual nodes. Load distribution algorithms determine the initial placement for tasks, a precursor to the more general problem of load redistribution. We compared several load placement algorithms using both instrumented programs and synthetic program models. Salient characteristics of these program traces (e.g., total computation time, total number of messages sent and average message size) span two orders of magnitude. We simulated a modern architecture with point-to-point communication. To understand the interactions of communication network characteristics, number of processors, and wor...
© Copyright by William Clarence Wendling, Jr., 2008THAL++: A CONCURRENT LANGUAGE FOR THE THAL RUNTIME SYSTEM BY
"... THAL++ is a concurrent programming language that is a dialect of THAL. It principally di ers from THAL in two ways: it has a syntax that is a subset of Java and it has types. Since the language is a subset of Java, THAL++ is easier to learn for programmers currently familiar with Java and Java-like ..."
Abstract
- Add to MetaCart
THAL++ is a concurrent programming language that is a dialect of THAL. It principally di ers from THAL in two ways: it has a syntax that is a subset of Java and it has types. Since the language is a subset of Java, THAL++ is easier to learn for programmers currently familiar with Java and Java-like languages. Other important features of the THAL++ compiler are primitives for asynchronous communication and concurrent call return communication (CC/RC) abstractions. These primitives make programming actor systems easier by allowing the programmer to focus on the algorithm rather than the details of communication and continuation. iii To my parents, Bill and Carol Wendling. Much love! iv ACKNOWLEDGMENTS First o, this project would not have been possible without the support and patience of Prof. Gul Agha. He has been the calming force in a sometimes troubled sea. I would not have been able to complete this project without the help and support of my friends: David, who proofread this thesis and o ered advice; Geo & Lesley, who have

