FORTRAN-M - A LANGUAGE FOR MODULAR PARALLEL PROGRAMMING

被引:39
作者
FOSTER, IT [1 ]
CHANDY, KM [1 ]
机构
[1] CALTECH, DEPT COMP SCI, PASADENA, CA 91125 USA
关键词
D O I
10.1006/jpdc.1995.1044
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
FORTRAN M is a Small set of extensions to FORTRAN 77 that supports a modular approach to the design of message-passing programs. It has the following features. (1) Modularity. Programs are constructed by using explicitly declared communication channels to plug together program modules called processes. A process can encapsulate common data, subprocesses, and internal communication. (2) Safety. Operations on channels are restricted so as to guarantee deterministic execution, even in dynamic computations that create and delete processes and channels. Channels are typed, so a compiler can check for correct usage. (3) Architecture Independence. The mapping of processes to processors can be specified with respect to a virtual computer with size and shape different from that of the target computer. Mapping is specified by annotations that influence performance but not correctness. (4) Efficiency. FORTRAN M can be compiled efficiently for uniprocessors, shared-memory computers, distributed-memory computers, and networks of workstations. Because message passing is incorporated into the language, a compiler can optimize communication as well as computation. (C) 1995 Academic Press, Inc.
引用
收藏
页码:24 / 35
页数:12
相关论文
共 34 条
[1]  
Boyle J., Butler R., Disz T., Glickfeld B., Lusk E., Overbeek R., Patterson J., Stevens R., Portable Programs for Parallel Processors., (1987)
[2]  
Carriero N., Gelernter D., How to Write Parallel Programs, (1990)
[3]  
Chandy K.M., Foster I.A., Deterministic notation for cooperating processes, IEEE Trans. Parallel Distrib. Systems
[4]  
Chandy K.M., Foster I., Kennedy K., Koelbel C., Tseng C.-W., Integrated support for task and data parallelism, Internat. J. Supercomputer Appl., 8, 2, pp. 80-98, (1994)
[5]  
Chandy K.M., Kesselman C., Compositional Parallel Programming in CC + +, (1992)
[6]  
Chandy K.M., Taylor S., An Introduction to Parallel Programming, (1991)
[7]  
Chapman B., Mehrotra P., Zima H., Vienna Fortran—A Fortran language extension for distributed memory systems, Languages, Compilers, and Runtime Environments for Distributed Memory Machines, (1992)
[8]  
Cox B., Novobilski A., Object-Oriented Programming: An Evolutionary Approach, (1991)
[9]  
Dijkstra E.W., Cooperating sequential processes, Programming Languages, (1968)
[10]  
Dongarra J., Van De Geijn R., Walker D., A look at scalable dense linear algebra libraries, Proc. 1992 Scalable High Performance Computers Conf, (1992)