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 条
[21]  
Martin A., The torus: An exercise in constructing a processing surface, Proc. Conf. On VLSI, pp. 52-57, (1979)
[22]  
Metcalf M., Reid J., Fortran 90 Explained, (1990)
[23]  
Pancake C., Bergmark D., Do parallel languages respond to the needs of scientific programmers?, Computer, 23, 12, pp. 13-23, (1990)
[24]  
Express User Manual, (1989)
[25]  
Pamas D., On the criteria to be used in decomposing systems into modules, Comm. ACM, 15, 12, pp. 1053-1058, (1972)
[26]  
American National Standard X3.9-1978, American National Standards Institute, (1978)
[27]  
Saltz J., Berryman H., Wu J., Multiprocessors and run-time compilation, (1990)
[28]  
Seitz C.L., Multicomputers, Developments in Concurrency and Communication, (1991)
[29]  
Skjellum A., Leung A., Zipcode: A portable multicomputer communication library atop the Reactive Kernel, Proc. 5Th Distributed Memory Computer Conf, pp. 767-776, (1990)
[30]  
Sunderam V., A framework for parallel distributed computing, Concurrency: Practice and Experience, 2, pp. 315-339, (1990)