71 citations found. Retrieving documents...
J. T. Feo, D. C. Cann, and R. R. Oldehoeft. A Report on the Sisal Language Project. Journal of Parallel and Distributed Computing 10, 349-366 (1990).

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Haxcel: A Spreadsheet Interface to Haskell - Lisper, Malmström (2002)   (Correct)

.... data parallel languages such as Fortran 90 and HPF [15] and lisp [23] These languages are collection oriented a very good survey of such languages is found in [21] It is also interesting to compare with functional array languages, notably the classical data flow languages Id [9] and Sisal [11], as well as the later, Sisal inspired SAC [19] SAC is especially interesting since it has an array model that is inspired by APL. SAC programs can have a high degree of dimension invariance, i.e. the same program works with arrays of any dimensionality. These functional languages emphasise ....

J. T. Feo, D. C. Cann, and R. R. Oldehoeft. A report on the Sisal language project. J. Parallel Distrib. Comput., 10:349--366, 1990.


Exception Handling in the Spreadsheet Paradigm - Burnett, Agrawal, van Zee (2000)   (Correct)

....languages are in the applicative language family. Although many of the exception handling approaches devised for applicative languages have been at least partially control flow based, the error value model has also been used in various ways in some applicative and functional languages (e.g. [15, 19, 60]) However, spreadsheet languages are firstorder languages; that is, functions cannot be passed as parameters or returned as results. Hence, without fundamental changes to the evaluation model, spreadsheet languages cannot rely on higherorder functions, such as using continuation passing style ....

J. Feo, D. Cann, and R. Oldehoeft, "A Report on the Sisal Language Project," Report UCRL102440 Rev. 1, Lawrence Livermore Nat. Lab., 1990.


Exploiting Course grain Parallelism from FORTRAN by.. - Adrianos Lachanas And   (Correct)

.... classical source language are maintained while, the benefits of an applicative language can also be utilized in producing optimized parallel executables [3] Additionally, the compiler uses a multi language precompiler (Parafrase 2 [5] and a multi platform post compiler (Optimizing SISAL Compiler [4]) in order to simplify the translation process and to provide multi platform support [1] We are strong believers in the do not reinvent the wheel principle, so we decided to utilize existing tools as much as possible. For the front end we choose Parafrase 2 a source to source multilingual ....

....stage, the Optimizing SISAL Compiler (OSC) which performs optimizations and produces parallel executables. Since IF1 is machine independent and OSC has been implemented successfully on many major parallel computers, the final stage can generate executables for a wide range of computer platforms [4]. Our systems maps the entire Fortran 77 semantics into IF1. The only construct that is not supported yet is I O. We have tested our system with a variety of benchmarks. Our analysis have shown that there is no performance degradation from the mapping to SAS. Furthermore, the SAS allow for more ....

Feo, J. T., and Cann, D. C. "A report on the Sisal language project." Journal of Parallel and Distributed Computing, 10, (1990) 349-366.


The Design, Implementation, and Evaluation of Jade - Rinard, Lam (1998)   (Correct)

....provide the same advantages as data parallel languages. They preserve the abstraction of sequential execution by encapsulating the parallel computation inside routines invoked from a serial program. 7. 3 Functional Languages Functional languages such as Id [Arvind and Thomas 1981] and Sisal [Feo et al. 1990] support a functional model of computation. From the perspective of someone implementing Id or Sisal on a parallel machine, the important feature of these languages is that they allow programs to define the value of a variable at most once. Programs written in Id, Sisal, and other functional ....

Feo, J., Cann, D., and Oldehoeft, R. 1990. A report on the Sisal language project. J. Parallel Distrib. Comput. 10, 4 (Dec.), 349--366.


Low-Contention Depth-First Scheduling of Parallel Computations.. - Fatourou (2001)   (1 citation)  (Correct)

....of ffl as small as e GammaT 1 , the space complexity of our algorithm is at most S1 O(PT1 log(PT1 ) with probability at least 1 Gamma e GammaT 1 . These bounds include all time and space costs for both the computation and the scheduler. 1 Introduction Many parallel programming languages [3, 7, 11, 12, 14, 18, 20, 22, 28] support dynamic threads. The multithreaded model of parallel computation is a general approach to model This work was done while the author was affiliated with the MaxPlanck Institute fur Informatik, Saarbrucken, Germany and was partially supported by the IST Programme of the European Union under ....

J. Feo, D. Cann, and R. Oldehoeft. A report on the sisal language project. Journal of Parallel and Distributed Computing, 10(4):349--366, December 1990.


The Data Field Model - Lisper, Hammarlund (2001)   (Correct)

....typically demanded arrays to have the same dimensions as the processor array. This made it easier to generate efficient code for a particular machine but was less flexible from a programming point of view. Modern array languages, like Fortran 90 [7] High Performance Fortran (HPF) 24] and Sisal [17, 59], provide a less machine dependent programming model where array dimensions need not be related to machine size. This makes them more flexible with regard to programming, but it becomes harder to compile them into efficient code. Still, they are better in that regard than traditional languages ....

J. T. Feo, D. C. Cann, and R. R. Oldehoeft. A report on the Sisal language project. J. Parallel Distrib. Comput., 10:349--366, 1990.


Realtime Signal Processing - Dataflow, Visual, and Functional.. - Reekie (1995)   (Correct)

....process requires data, a process executes when it has enough input data. A process suspends whenever it attempts to read from a channel with no data; it is resumed by the operating system some time after data is written to the channel. The implementation of stream processing functions in SISAL [46] uses this technique [50] CHAPTER 3. DATAFLOW PROCESS NETWORKS 53 3.1.4 Dataflow processes Lee defines a dataflow process to be the sequence of firings of a dataflow actor [87] A dataflow process is thus a special kind of Kahn process one in which execution is broken into a series of ....

John T. Feo, David C. Cann, and Rodney R. Oldehoeft. A report on the SISAL language project. Journal of Parallel and Distributed Computing, 10:349--366, 1990.


Realtime Signal Processing - Dataflow, Visual, and Functional.. - Reekie (1995)   (Correct)

....process requires data, a process executes when it has enough input data. A process suspends whenever it attempts to read from a channel with no data; it is resumed by the operating system some time after data is written to the channel. The implementation of stream processing functions in SISAL [46] uses this technique [50] 3.1.4 Dataflow processes Lee defines a dataflow process to be the sequence of firings of a dataflow actor [87] A dataflow process is thus a special kind of Kahn process one in which execution is broken into a series of firings. Because the process is a sequence of ....

John T. Feo, David C. Cann, and Rodney R. Oldehoeft. A report on the SISAL language project. Journal of Parallel and Distributed Computing, 10:349--366, 1990.


Software Support for Distributed and Parallel Computing - Freeh (1996)   (Correct)

....made to osc to create the prototype fsc compiler. Section 6.2 discusses the performance of three programs. Section 6.3 mentions related work and Section 6.4 summarizes the chapter. 115 116 6. 1 Details of the Sisal to Filaments Compiler Sisal is a general purpose functional language [23]. It is probably best described as a dataflow language, because the order of program execution is determined not by the static ordering of expressions in the source code but rather by the availability of the data. Because an expression can be evaluated as soon as all its operands have been ....

John T. Feo, David C. Cann, and Rodney R. Oldehoeft. A report on the SISAL language project. J. of Par. and Dist. Computing, 10(4):349--366, December 1990. 133


Nepal - Nested Data-Parallelism in Haskell - Chakravarty, Keller, al. (2001)   (1 citation)  (Correct)

....of the language at all. 6. 3 Other Parallel Functional Languages Generally, there exists a wide range of parallel languages that are based on the model of functional programming as, for example, witnessed in [17] Ranging from languages that just support purely regular computations, such as Sisal [16] and SAC [30] over languages based on the idea of skeletons [13] such as [14] to control parallel languages, such as Concurrent Clean [26] The one parallel language that is closest to Nepal in terms of the parallel programming model is certainly Nesl [5] which has been the starting point ....

J. T. Feo, D. C. Cann, and R. R. Oldehoeft. A report on the Sisal language project. Journal of Parallel and Distributed Computing, December 1990.


Development and Verification of Parallel Algorithms in the.. - Lisper, Holmerin (2000)   (Correct)

....implicit intersection rule of FIDIL [19] The arrays in FIDIL resemble data fields also in other respects, for instance they can have a wider variety of shapes than traditional array bounds. Examples of functional data parallel and array languages are Connection Machine Lisp [22] Id [3] Sisal [4], NESL [2] Data Parallel Haskell [9] and pH [15] These languages are intended for direct parallel implementation whereas Data Field Haskell targets the specification phase. Haskell itself [17] has also been suggested for data parallel programming [16] FISh [11] is an imperative array language, ....

J. T. Feo, D. C. Cann, and R. R. Oldehoeft. A report on the Sisal language project. J. Parallel Distrib. Comput., 10:349--366, 1990.


A Parallel Software Infrastructure for Dynamic Block-Irregular.. - Kohn (1995)   (12 citations)  (Correct)

....by the CHAOS runtime system [60] For example, although the numerical kernel for the Split C EM3D application [57] is only about ten lines of code, EM3D would require several hundred lines of initialization code to calculate data dependencies and manage ghost cells. Applicative Languages SISAL [67] and NESL [28] are applicative programming languages which restrict functions to be free of side effects 5 , a requirement that simplifies the work of the compiler and exposes more potential parallelism. SISAL and NESL rely on 5 Applicative languages require that the value of any expression ....

J. T. Feo and D. C. Cann, A report on the SISAL language project, Journal of Parallel and Distributed Computing, 10 (1990), pp. 349--366.


A Spectral Method for Mapping Dataflow Graphs - Elling (1998)   (Correct)

....it is difficult to perform a high level analysis of the program even calling a function from another object file in a loop inhibits parallelization of that loop. Some programming languages have been developed that feature a more functional, dataflow oriented style. One example is Sisal (see [Feo90]) which was designed for high performance computing and seems to deliver performance comparable to Fortran programs. Various parallelizing Sisal compilers 13 have been developed. There is also a visual dataflow programming tool called Code (see [NB92] 1.3 Dynamic load balancing The static ....

J.T. Feo et al., A report on the SISAL language project, Journal of Parallel and Distributed Computing 10 (1990), no. 4, 349--366.


Data Field Haskell - Holmerin, Lisper (1999)   (Correct)

....positions below a forall abstraction. The arrays in FIDIL resemble data fields also in other respects, for instance they can have a wider variety of shapes than traditional array bounds. Examples of functional data parallel and array languages are Connection Machine Lisp [28] Id [4] Sisal [6], NESL [2] Data Parallel Haskell [10] and pH [21] These languages are intended for direct parallel implementation whereas Data Field Haskell targets collection oriented programming in general, with more emphasis on expressiveness than efficiency. Haskell itself [23] is to some extent ....

John T. Feo, David C. Cann, and Rodney R. Oldehoeft. A report on the Sisal language project. J. Parallel Distrib. Comput., 10:349--366, 1990.


A Formal Semantics And An Interactive Environment For Sisal - Attali, Caromel, Wendelborn (1996)   (Correct)

....using Typol inference rules within the Centaur system, a generic specification environment. Sisal is a strongly typed, applicative, single assignment language in use on a variety of parallel processors, including conventional multiprocessors, vector machines and data flow machines. Sisal 1. 2 [11] has been in use since 1984; Sisal 2.0 [3] a new language definition, is currently under development. Sisal research and use has demonstrated the effectiveness of the language and its implementation on a wide variety of applications and machines. The Optimizing Sisal Compiler (OSC) and other ....

....limited) higher order functionality, extensive overloading and polymorphism We hope to provide answers by extending this work to describe the required optimizations and transformations to efficient code. Thus, future work will include parallelizing tools for Sisal: we aim at specifying the IF1 [25, 11] and IF2 [27, 11] intermediate formats and semantics manipulations using Centaur and the Typol formalism. This includes the translations from Sisal into the intermediate formats, the transformations themselves, and the proofs (possibly interactive and interfaced with other tools if needed) ....

[Article contains additional citation context not shown here]

Feo, J.T., Cann, J.C. and Oldehoeft, R.R. "A Report on the SISAL Language Project", Journal of Parallel and Distributed Computing, December 1990.


Data-flow Synchronous Languages - Benveniste, Caspi, al. (1993)   (8 citations)  (Correct)

....the data flow approach from the theoretical point of view. As we have widely discussed, the data flow paradigm provides a natural framework for control and signal processing, and more generally, for engineering people. Many attempts have been made to use a data flow approach in Computer Science [20, 1, 13], yet not successfully 5 , for two major reasons : the composition of bounded memory data flow systems may not be bounded memory, see [11] the composition of equivalent non deterministic data flow systems may not yield equivalent systems, see [10] 6 . So far, several solutions have ....

....of the considered monoid is written multiplicatively, and is denoted by a dot . and we denote by its neutral element. The set theoretic union is written additively. Finally, for A a subset of this monoid, A = def f g A A:A : is the usual star operation. 5 except for SISAL [13] whose determinism and special control structures lead to avoid both problems. 6 Though this is not particular to data flow programmig: see for instance CCS [26] Data flow Synchronous Languages 23 Requirements Assume we want to design a programming language which allows one to define : ffl ....

J. T. Feo and D. C. Cann and R. R. Oldehoeft, A report on the Sisal language project, J. Par. Distrib. Comp, Vol. 10, 349--366, 1990


A Shared-Memory Multiprocessor Implementation of.. - Suciu, Huelsbergen (1994)   (Correct)

....follows a different approach from ours, based on flattening nested parallelism. The data parallel core P of Proteus [MNP 91, GMN 94, PP93] handles nested sequences and nested parallelism. Its implementation follows the technique of NESL, with a more algebraic flattening technique. SISAL [FC90, Ske91, Feo91] is a general purpose applicative language, featuring nested sequences with map parallelism, streams with lazy evaluation, record and union types. It is only first order. A highly optimized compiler on shared memory architectures was developed for Sisal [FC90] with performance ....

....technique. SISAL [FC90, Ske91, Feo91] is a general purpose applicative language, featuring nested sequences with map parallelism, streams with lazy evaluation, record and union types. It is only first order. A highly optimized compiler on shared memory architectures was developed for Sisal [FC90] with performance comparable to that of FORTRAN. Our implementation follows some of the ideas of SISAL, but is much simpler due to two factors: 1) SML NJ is a stack free implementation (all data is heap allocated) hence we need not distinguish between threads with a stack and threads without, ....

J. T. Feo and D. Cann. A report on the Sisal language project. Journal of Parallel and Distributed Computing, pages 349--365, 1990.


Efficient Scheduling of Strict Multithreaded Computations - Fatourou, Spirakis (1999)   (Correct)

.... data parallel languages like High Performance Fortran [31] and NESL [5] data ow languages like ID [21] control parallel languages with fork join constructs like CILK [8, 27] CC [19] and Proteus [40] languages with synchronization primitives like Multilisp [30] Mul T [35] COOL [20] SISAL [25], Jade [49] and various other user level thread libraries [3, 46, 53] For the execution of a multithreaded computation on a parallel computer, one should specify which processor executes which threads and when each thread should be executed. Clearly, this is not a desirable task to be ....

....for distributed memory machines) In these models there is no restriction on the pattern of synchronization that occurs during the execution of the computation. The model of parallelism with simple synchronization primitives has been employed by several parallel programming languages, like [2, 20, 25, 30, 35, 49]. Finally, there exist computations that use more complex synchronization techniques such as mutexes, semaphores, or condition variables. Although there exist a number of general purpose thread libraries [3, 46, 53] that provide such arbitrary primitives, it is usually dicult to model them through ....

[Article contains additional citation context not shown here]

J. Feo, D. Cann and R. Oldehoeft, \A Report on the Sisal Language Project," Journal of Parallel and Distributed Computing, 10(4):349-366, December 1990.


Dynamic Load-Balancing for Data-Parallel MPI Programs - George (1999)   (9 citations)  (Correct)

....a recent addition to DParLib and additional support routines will likely be added as we gain more experience in designing load balancing schemes for applications. The benefits of using the data parallel programming model have been studied for many years. Both languages, such as HPF [10] and SISAL [11], and machines, such as the Thinking Machines CM 2, CM 200, and CM 5, the MasPar MPP, and more recently the Cray T3E, have been designed specifically support this style of parallel programming. One of the lessons learned over the years has been that although this programming model is well suited ....

J. T. Feo, D.C. Cann, and R. R. Oldehoeft, "A report on the sisal language project," Journal of Parallel and Distributed Computing, December 1990.


Dynamic Load Balancing Issues In The Earth Runtime System - Kakulavarapu (1999)   (Correct)

....Also dynamic and irregular applications might cause excessive waste of cycles when mapped to a blocking thread model. 142 8. 2 Software Multithreaded Systems In the classical strict data flow model of computation, an instruction is enabled for execution when all its operands are available [66, 85, 63, 65, 68, 47, 155, 70, 77, 127, 130, 86, 123, 125, 12, 97, 133, 132, 124, 15, 17, 45, 57, 150, 140]. To enforce the enabling condition, the instructions that produce such operands must be able to send a synchronization signal to all the instructions that will consume the recently produced result. This model proved unyielding for the implementation of machines based on current standard ....

John T. Feo, David C. Cann, and Rodney R. Oldehoeft. A report on the Sisal language project. J. of Parallel and Distrib. Computing, 10(4):349--366, Dec. 1990.


Program Partitioning and Scheduling for Scalable Parallel.. - Pande, Psarris   (Correct)

....program partitioning and schedule regeneration could be avoided to a certain extent in compiling for a family of systems that have the same computation costs but different communication costs. This work is implemented in the backend of the Sisal compiler (for details about Sisal project, refer to [6]) In the section 2 we introduce the formal definitions of the necessary terms. In section 3, we derive the conditions under which schedule regeneration is not necessary when compiling for scalable distributed memory systems with varying communication costs. An algorithm is also presented which ....

Feo J. T., Cann D. C., and Oldehoeft R. R., "A Report on Sisal Language Project", Journal of Parallel and Distributed Computing, Vol. 10, no. 4, October 1990, pp. 349-366.


Parallel Programming Models and Paradigms - Silva, Buyya   (Correct)

....fine grain (multiple issue) a[1] b[1] a[2] b[2] func2( func3( Task i 1 func1( Medium grain (control level) Figure 1.3 Detecting parallelism. 1.5. 2 Parallel Languages Some parallel languages, like SISAL [11] and PCN [13] have found little favor with application programmers. This is because users are not willing to learn a completely new language for parallel programming. They really would prefer to use their traditional high level languages (like C and Fortran) and try to recycle their already ....

J. Feo, D. Cann, and R. Oldehoeft. A Report on the SISAL Language Project. Journal of Parallel and Distributed Computing, vol 10, pages 349-366, 1990.


Compiling Nested Data-Parallel Programs for.. - Siddhartha.. (1993)   (3 citations)  (Correct)

....n 1=2 where half this speedup is obtained. The numbers are for twelve processors. 7 Related work The work described in this paper is related to research in the compilation of C [57] for MIMDmachines, the compilation of functional and applicative languages such as APL [39] FP [4] and Sisal [31], loop fusion techniques in Fortran compilers, optimization of series expressions, and type checking in polymorphic languages. We now discuss how our work relates to each of these. C : Quinn and Hatcher have worked on compiling C for MIMDmachines [54, 53, 36] While their work has many of the ....

....of Sisal by Sarkar [59] uses a similar approach to partitioning and scheduling. However, his work requires estimates of execution times for the nodes of the graph and does not explore the epoch structure within the clusters. A great deal of compiler technology has been developed for Sisal [31]. The parallel execution model is, however, based on macro actors rather than on loop parallelism. Fortran: The Fortran community has developed a large number of loop transformations, such as loop interchange, loop reversal, and loop skewing, to try to reduce intermediate storage and increase ....

FEO,J.T.,CANN,D.C.,AND OLDEHOEFT, R. R. A report on the Sisal language project. Journal of Parallel and Distributed Computing 10, 4 (Dec. 1990), 349--366.


Parallel Implementation - Gautier, Hong, Roch, Schreiner   (Correct)

....used in linear algebra. Pyrros [17] performs a clustering of tasks and has been used for matrix factorization; Metis [26] based on data dependency graph partitioning, is widely used for sparse matrix vector product. Those informations can be synthesized at runtime from a macro data flow analysis [14, 35, 15]. The computation of fine schedules introduces large overheads which may appear suited to only a specific class of programs. Then, various approaches are distinguished. Cilk argues for a restricted model of parallelism that enables a low overhead runtime schedule with provable performances. Most ....

....(data flow analysis, The underlying runtime support is based on operating systems tools and includes global scheduling algorithms of tasks. For most of those high level languages, dependencies between tasks (e.g. synchronizations) are synthesized at runtime from a macro data flow analysis [14, 35, 15]. Nevertheless, experiments have shown that it is difficult to have good efficiency using automatic parallelization. Therefore, code annotations have been defined in order to specify a good grain of parallelism for both data and computations. Likewise the functional idea of algorithmic ....

J.T. Feo, D.C. Cann, and R.R. Oldehoeft. A report on the SISAL language project. Journal of Parallel and Distributed Computing, 10(4):349--366, 1990.


Compiling and Optimizing Dynamic Parallel Programs - Mark Chu-Carroll Carroll   (Correct)

No context found.

J. T. Feo, D. C. Cann, and R. R. Oldehoeft. A Report on the Sisal Language Project. Journal of Parallel and Distributed Computing 10, 349-366 (1990).

First 50 documents  Next 50

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