| Foster, I. and Taylor, S. 1992. \A Compiler Approach to Scalable Concurrent Program Design", Tech. Report MCS-P306-0492, Argonne National Lab. |
....constructs. We prefer the third approach, and have developed programming language support for the abstractions for both Fortran and the concurrent language PCN [6, 14] Here, we work with PCN, which is supported by a public domain compiler developed at Argonne National Laboratory and Caltech [15]. 1 The rest of the paper is as follows. In Section 2, we present the three atmospheric modeling algorithms used in programming experiments. In Sections 3 and 4, we analyze design problems in these algorithms and introduce the computational abstractions that we use to overcome these problems. In ....
Foster, I., and Taylor, S., A compiler approach to scalable concurrent program design, Technical Report, Argonne National Laboratory, 1992.
....Related work which inspired our research includes both higher order functional programming [20] and high level imperative programming environments. Data parallel languages such as NESL [6] and HPF [18] supports implicit parallelization over bulk data structures. Coordination languages like PCN [12] take a much more explicit approach than ours: tasks are composed by connecting pairs of communication ports, using primitive composition operators. Further examples are the use of programmer oriented abstractions on top of MPI in the PEMPI system at Basel University [11] and a high level ....
I. Foster and S. Taylor. A compiler approach to scalable concurrent-program design. ACM TOPLAS, 16(3):577--604, 1994.
....often imperative, while the coordination language may be more declarative in nature. Programs developed in this style have a twotier structure, with sequential processes developed using the computation language composed using the coordination language. The best known coordination languages are PCN (Foster and Taylor, 1994) and Linda (Gelernter and Carriero, 1992) Both of these adopt a much lower level approach than evaluation strategies, however. It is, of course, possible to introduce deadlock with either of these systems. PCN composes tasks by connecting pairs of communication ports, using three primitive ....
Foster, I., and Taylor, S., "A Compiler Approach to Scalable Concurrent-Program Design", ACM TOPLAS, 16(3), (1994), pp. 577--604.
.... problems, as for example in simulation, where the nature of the computation is time varying; and the difficulty of reuse [21, 34] Our most powerful tool for controlling the complexity of parallel program design, and for develop12 ing portable and yet efficient parallel programs is abstraction [22]. Writing a program in terms of a set of architecture independent abstractions, enables us to separate the design of the parallel program from decisions concerned with architecture specific issues such as decomposition, communication, synchronization, mapping, parallelism granularity, and load ....
I. Foster and S. Taylor. A Compiler Approach to Scalable Concurrent Program Design. Technical report, California Institute of Technology.
....and data to be distributed across the computers in the machine, and is supported at every stage of the program development cycle. Although the concepts are language independent, the prototype system is based on GNU C. The programming system carries the experience gained from previous experiments [12, 26, 14] into a C based system, while exploiting the special features available in the underlying architecture. The basic programming model for the system is: A computation is a collection of concurrent processes that may execute in any order or in parallel. Processes communicate and synchronize using ....
.... Program in CST The Scalable Concurrent Programming group has been involved for several years in developing portable, high performance programming systems that execute efficiently on scalable multicomputers [24] The high level programming systems that have been developed within this group [12, 26, 14], all share the same fine grain process model present in this work. An example program written in one of these languages, PCN, can be found in Figure 2.4. The mapping annotations used by PCN and MDC are identical. Unfortunately, scalable multicomputer architectures have traditionally supported ....
[Article contains additional citation context not shown here]
Foster, I., and Taylor, S., "A Compiler Approach to Scalable Concurrent Program Design", ACM Transactions on Programming Langauges and Systems (to appear).
....each new binding of coordination language to computation language: the combination of the coordination language semantics with the computation language semantics should give a precise definition of parallel program behaviour. The coordination language approach is typified by Linda [GeCa92] or PCN [FoTa94] Linda uses a shared tuple space to express communication between sequential processes written in the computation language, whereas PCN uses three composition operators to link pairs of communication ports sequentially, in parallel, or through choice. While the computation language is usually an ....
I. Foster, and S. Taylor, "A Compiler Approach to Scalable Concurrent-Program Design", ACM TOPLAS, 16(3), 1994, pp. 577--604.
....imperative, while the coordination language may be more declarative in nature. Programs developed in this style have a two tier structure, with sequential processes being written in the computation language, and composed in the coordination language. The best known coordination languages are PCN (Foster and Taylor, 1994) and Linda (Gelernter and Carriero, 1992) both of which adopt a much more explicit approach than evaluation strategies. Since both languages support fully general programming structures and unrestricted communication, it is, of course, possible to introduce deadlock with either of these systems, ....
Foster, I., and Taylor, S., "A Compiler Approach to Scalable Concurrent-Program Design", ACM TOPLAS, 16(3), (1994), pp. 577--604.
....load balancing within a cluster. Furthermore, goals can be assigned priorities, which steer load balancing in a nonstrict manner. Although functional mechanisms have been completed at ICOT, extensive evaluation has not yet been conducted. Higher level programming paradigms, such as motifs [27], have not been designed to alleviate the complexity of user development and modification of pragma. ffl meta control: pure concurrent logic languages have semantics that allow program failure as a possible execution result. This has long been recognized as a problem because user process failure ....
I. Foster and S. Taylor. A Compiler Approach to Scalable Concurrent Program Design. Technical Report MCS-P306-0492, Argonne National Laboratory, 1992.
No context found.
I. Foster and S. Taylor, `A compiler approach to scalable concurrent program design', ACM Trans. Programming Languages and Systems, to appear.
....required for the convolution problem, each on a separate set of n processors. call fft( in subarray(0,n) call fft( in subarray(n,n) The PCN extensions that support virtual computers, data distribution, and embedding have been incorporated into a PCN compiler [17]. A programmable source to source transformation system is used to translate the extended language into PCN as well as calls to a runtime library that manages virtual computers and handles requests for distributed data. This compiler has supported extensive experimentation with the language ....
I. Foster and S. Taylor, A compiler approach to scalable concurrent program design, ACM Trans. Prog. Lang. Syst. (to appear).
....approach is to define an abstract machine that defines the runtime environment. An abstract machine provides an instruction set tailored to compilation of the parallel language; the compiler translates programs into this instruction set. Examples include the Program Composition Machine (PCM) [16] and the Threaded Abstract Machine (TAM) 23] PCM was designed as a compilation target for the task parallel language PCN. It provides task creation, memory management via distributed garbage collection, synchronization via data flow variables, and data transfer functions. TAM was designed to ....
Ian Foster and Stephen Taylor. A compiler approach to scalable concurrent program design. ACM TOPLAS, 1994. to appear.
....low level form (PCN object code) An interface to the C preprocessor allows macros, conditional compilation constructs, and the like to be used in PCN programs. A programmable transformation system integrated with the compiler allows programmerspecified transformations to be applied to programs [15]. Otherwise, the compilation and runtime techniques are similar to those employed in Strand. The linker combines PCN object code (PCN compiler output) foreign object code that is called from PCN (C or Fortran compiler output) libraries, and the PCN run time system into a single executable ....
....Chandy and Taylor also developed a PCN to Strand translator that was used for early programming experiments. Subsequent development introduced extensible process mapping constructs and syntactic support for defining reusable templates, and developed implementation techniques for parallel computers [13, 15]. 5 Related Work Many parallel languages and libraries have been developed over the years with the goal of making parallel programming easier. Only a few of these systems have seen widespread use. We compare and contrast some of these approaches with Strand and PCN. One promising approach to ....
Foster, I., and Taylor, S., A compiler approach to scalable concurrent program design, ACM Trans. Prog. Lang. Syst., (to appear).
....512 computer J machine. The J Machine [1] is an architectural experiment which focuses on the evaluation of hardware mechanisms, such as the integration of messages and processes, to support concurrent programming. The programming system carries the experience gained from our previous experiments [2, 3, 4] into a C based system, while exploiting the special features available in the underlying architecture. The basic programming model for the system is: A computation is a collection of concurrent processes that may execute in any order or in parallel. Processes communicate and synchronize using ....
....Caltech, MIT and The Aerospace Corporation. The Scalable Concurrent Programming group has been involved for several years in developing portable, high performance programming systems that execute efficiently on scalable multicomputers [8] The high level programming systems that we have developed [2, 3, 4], all share the same fine grain process model present in this work. Unfortunately, scalable multicomputer architectures, such as the Intel Delta and Paragon, Thinking Machines CM5 and Symult S2010, have traditionally supported only Unix style, coarsegrain, stack based processes. Thus our previous ....
[Article contains additional citation context not shown here]
Taylor, S. and Foster, I., "A Compiler Approach to Scalable Concurrent Program Design", ACM Transactions on Programming Languages and Systems, to appear.
....variable and unpredictable latencies; and the integration of parallel computers into client server applications. Multithreading has proven useful for overlapping computation and communication or I O [7, 21] for load balancing [14] and for implementing process abstractions in parallel languages [10, 12, 25, 28, 33, 44]. A difficult issue that must be addressed if multithreading is to be used successfully in distributed memory environments is the integration of threads and communication. In singlethreaded send receive communication models, a send operation in one process is matched by a receive in another, and ....
I. Foster and S. Taylor. A compiler approach to scalable concurrent program design. ACM TOPLAS, 1994. to appear.
....constructs. We prefer the third approach, and have developed programming language support for the abstractions for both Fortran and the concurrent language PCN [6, 14] Here, we work with PCN, which is supported by a public domain compiler developed at Argonne National Laboratory and Caltech [15]. 1 The rest of the paper is as follows. In Section 2, we present the three atmospheric modeling algorithms used in programming experiments. In Sections 3 and 4, we analyze design problems in these algorithms and introduce the computational abstractions that we use to overcome these problems. In ....
Foster, I., and Taylor, S., A compiler approach to scalable concurrent program design, Technical Report, Argonne National Laboratory, 1992.
No context found.
Foster, I. and Taylor, S. 1992. \A Compiler Approach to Scalable Concurrent Program Design", Tech. Report MCS-P306-0492, Argonne National Lab.
No context found.
Ian Foster and Stephen Taylor. A Compiler Approach to Scalable ConcurrentProgram Design. ACM Transactions on Programming Languages and Systems, 16 (3):577--604, May 1994.
No context found.
Foster, I. and Taylor, S. 1992. \A Compiler Approach to Scalable Concurrent Program Design", Tech. Report MCS-P306-0492, Argonne National Lab.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC