58 citations found. Retrieving documents...
Sipelstein, J. M., and Blelloch, G. Collection-oriented languages. Proceedings of the IEEE 79, 4 (Apr. 1991), 504523.

 Home/Search   Document Details and Download   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)

....help visualize results of program changes faster. The array oriented programming style supported by Xarray is found in array and 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 ....

J. M. Sipelstein and G. E. Blelloch. Collection-oriented languages. Proc. IEEE, 79(4):504-- 523, Apr. 1991.


Gilgamesh: A Multithreaded Processor-In-Memory Architecture.. - Sterling, Zima (2002)   (4 citations)  (Correct)

....to deal e#ectively with locality and load balancing. The design of macroservers builds on previous work in that area and extends it in a number of new directions, including (1) the concept of distributed collections, a combination of a powerful data structuring concept originally introduced in [30] with a generalized form of distribution and alignment as pioneered in languages such as Kali, Vienna Fortran, Fortran D, HPF, and HPC [26, 9, 14, 21, 20] 2) an object based approach to distribution and alignment, and (3) a framework for handling special classes of data (such as sparse ....

....appropriate to mention here that although there does not exist a full implementation of macroservers yet the discussion in this section is supported by a strong implementation background covering many of the proposed features. 5. 1 Collections Collections, based on work by Sipelstein and Blelloch [30], are homogeneous or heterogeneous aggregates, covering a broad range of methods for structuring, naming, and accessing data. They include multidimensional dense homogeneous arrays in the sense of Fortran or C, LISP list structures, sparse data structures, and sets. In order to be able to express ....

[Article contains additional citation context not shown here]

J.M.Sipelstein,G.E.Blelloch. Collection-Oriented Languages. Proceedings of the IEEE,Vol.79,No.4,pp.504-523, April 1991. 22


Analysis of Parallelism in Recursive Functions on Recursive Data .. - Ahn, Han   (Correct)

....functions with complex data flow. 1 Introduction Data parallelism implements parallel computation by simultaneously applying the same operation to each element of a data collection. This paradigm is considered as a parallel model which can solve many difficulties of parallel programming [2, 10, 20]. A single stream of program execution guarantees easier programming and better readability. Massive parallelism can be easily obtained by distributing large data collections. In functional languages, data parallelism is expressed with the following two components. parallel data collections ....

J. Sipelstein and G. E. Blelloch. Collection-oriented languages. Proceedings of the IEEE, 79(4):504--523, April 1991.


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

....compute with indexed data structures is to explicitly loop or recurse through them. It has since long been recognized, however, that a programming model which provides operations directly on the data structures can be very convenient. This model is an instance of collection oriented programming [58]. The classical example is APL [16] which provides arrays and a rich set of operations on them. Indexed data structures are very important in high performance computing. The data parallel programming model [25] is a collection oriented paradigm for explicit parallelism, originally for SIMD ....

....define the kind of computation of implicit bounds traditionally found in array languages, and indicate how to define general mutable data fields which can be updated in place. What are the benefits of the data field approach In Sipelstein s and Blelloch s survey of collection oriented languages [58], a number of common collection oriented operations are defined and a taxonomy is introduced. All these operations can be expressed in a kernel language consisting of a minimal functional language enriched with bounds and their operations, a function constructing data fields from functions and ....

[Article contains additional citation context not shown here]

J. M. Sipelstein and G. E. Blelloch. Collection-oriented languages. Proc. IEEE, 79(4):504--523, Apr. 1991.


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

....must attempt to exploit. 2.1.3 Data parallelism Data parallelism is parallelism at the level of elements of a data set. Most of the work on parallel computing for scientific applications uses data parallelism. Sipelstein and Blelloch call data parallel languages collection oriented. In [129], they survey this class of languages and the ways in which they support data parallel computation. In a data parallel language, an operation over all elements of a data set is invoked by a single function call or language construct. In the DataParallel C language [55] for example, one would ....

....very efficient vector operations. This section describes a Vector datatype implemented in Haskell, and a set of functions in Haskell that can be implemented efficiently on DSPs. These functions are typical of those present in what Sipelstein and Blelloch call collection oriented languages [129]. Appendix A lists the code for the Vector module. As for the standard prelude, I will treat this code as a semantic definition only in other words, the compiler understands the vector functions and generates efficient code for them. The key issue is avoiding laziness: if vector functions can ....

Jay M. Sipelstein and Guy E. Blelloch. Collection-oriented languages. Proceedings of the IEEE, 79(4):504--523, April 1991.


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

....must attempt to exploit. 2.1.3 Data parallelism Data parallelism is parallelism at the level of elements of a data set. Most of the work on parallel computing for scientific applications uses data parallelism. Sipelstein and Blelloch call data parallel languages collection oriented. In [129], they survey this class of languages and the ways in which they support data parallel computation. In a data parallel language, an operation over all elements of a data set is invoked by a single function call or language construct. In the DataParallel C language [55] for example, one would ....

....very efficient vector operations. This section describes a Vector datatype implemented in Haskell, and a set of functions in Haskell that can be implemented efficiently on DSPs. These functions are typical of those present in what Sipelstein and Blelloch call collection oriented languages [129]. Appendix A lists the code for the Vector module. As for the standard prelude, I will treat this code as a semantic definition only in other words, the compiler understands the vector functions and generates efficient code for them. The key issue is avoiding laziness: if vector functions can ....

Jay M. Sipelstein and Guy E. Blelloch. Collection-oriented languages. Proceedings of the IEEE, 79(4):504--523, April 1991.


On the Distributed Implementation of Aggregate Data.. - Keller, Chakravarty (1999)   (3 citations)  (Correct)

....in the implementation of nested data parallelism on distributed memory machines. 1 Introduction A collection oriented programming style is characterized by the use of operations on aggregate data structures (such as, arrays, vectors, lists, or sets) that manipulate the structure as a whole [21]. In parallel collection oriented languages, a basic set of such operations is provided, where each operation has a straight forward parallel semantics, and more complex parallel computations are realized by composition of the basic operations. Typically, the basic operations include elementwise ....

Jay M. Sipelstein and Guy E. Blelloch. Collection-oriented languages. Proceedings of the IEEE, 79(4):504--523, April 1991.


Elemental Function Overloading in Explicitly Typed Languages - Thornberg, Lisper   (Correct)

....and promotion, in particular, should also be possible to apply for other structured types like homogeneous lists. Third, these features only appear in explicitly typed monomorphic languages. Moreover, using this kind of overloading in languages with nested structures may lead to ambiguities [19]. The aim of the work reported here is to give these kinds of overloading a firm theoretical basis, in order to overcome the somewhat ad hoc nature of current approaches and to make the features more generally applicable. In particular we want to support the generalization from intrinsic ....

....function overloading in the implicitly typed language. Due to space constraints, full proofs of all properties are left out. However, they can be found in [22] 2 Related Work Although elemental intrinsic overloading, vector valued subscripts, promotion and other collection oriented features [19] have been proposed for and used in many different programming languages, most significantly, maybe, in array and data parallel languages, only a few have worked on the formal definition of these concepts and how to resolve them. For instance, the HPF specification [11] does not give any formal ....

Jay M. Sipelstein and Guy E. Blelloch. Collection-oriented languages. Proc. IEEE, 79(4):504--523, April 1991.


Development of Parallel Algorithms in Data Field Haskell - Holmerin, Lisper (2000)   (Correct)

....which is a function enumerating its elements. Binary operations u, t on bounds ( intersection , union ) The bounds all and nothing representing the universal and empty set, respectively. These operations are chosen to support the usually assumed set of collectionoriented operations [7] without revealing the inner structure of the bounds. An important derived operation is explicit restriction: f; b) # b 0 = f; b 0 u b) The theory of data fields also defines abstraction, a syntax for convenient definition of data fields which parallels abstraction for functions. See [3, ....

J. M. Sipelstein and G. E. Blelloch. Collection-oriented languages. Proc. IEEE, 79(4):504--523, Apr. 1991.


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

....an error value , with algebraic properties similar to the divergent element . We define partial functions in a variation of the metalanguage for continuous functions in [23] extended with the constant . Within this language, we can now define most types of collection oriented operations [20] as higher order functions operating on partial functions [7, 14] The language, however, lacks operations which extract the domain of a function or any information pertaining to it, like the size ( information operations as defined in [20] The lack of domain information makes it impossible to ....

.... now define most types of collection oriented operations [20] as higher order functions operating on partial functions [7, 14] The language, however, lacks operations which extract the domain of a function or any information pertaining to it, like the size ( information operations as defined in [20]) The lack of domain information makes it impossible to define collective operations such as reduction, since they need to know which elements to include. A partial function f over an enumerable cpo models a data structure which contains elements f(x) exactly for those fully defined 2 x where ....

[Article contains additional citation context not shown here]

J. M. Sipelstein and G. E. Blelloch. Collection-oriented languages. Proc. IEEE, 79(4):504--523, Apr. 1991.


Optimising the Parallel Behaviour of Combinations of Program.. - To (1995)   (10 citations)  (Correct)

....(examples of which are given in the next section) 2.4 Data parallel languages The first high level explicit parallel programming approach to be studied is the data parallel approach. These languages exploit parallelism by operating over all the elements of an aggregate data type simultaneously [126]. Usually a sequential language is extended with a parallel data type and operators over this data type. These operators can either take the form of parallel loops where every loop iteration is executed in parallel or a single operator which transforms the entire data structure. This enables ....

....also a natural extension to functional languages: NESL [15] Paralation [120] a data parallel FP [135] and Sisal [45] 2.4. 1 Bulk data operators and nesting Although the syntax of the bulk data operators may differ from language to language the set of operation they provided are broadly similar [126]. The most fundamental operation is a form of apply to each (more familiarly known to functional programmers as map) This operator applies a given function to every element of the aggregate data structure. More complex operators perform reduction, scans, and permutations over the structures. One ....

[Article contains additional citation context not shown here]

J. M. Sipelstein and G. E. Blelloch. Collection-oriented languages. Proceedings of the IEEE, 79(4):504--523, April 1991.


Simplification of Sequence Expressions of Shift, Inject, Project.. - De Vito (1996)   (Correct)

....grid type is an extension of the traditional array type, without the restriction that its index set be rectangular. A grid is also a collection. A collection is a data structure that represents a set of elements as a whole [2] Collections have been advocated as a good support for data parallelism [3]. So, grids suit to supercomputer applications. The shift, project, inject and transpose operators are associated to the grid space and are defined by: 8n 2 IN ; S 2 ZZ n ; S 0 2 Sigma n ; G 2 G n ffl shift(G; S) f(p S; v) j (p; v) 2 Gg ffl inject(G; S) f(p S; v) j (p; v) 2 Gg ....

J. Sipelstein and G. E. Blelloch. Collection-oriented languages. Proc. of the IEEE, 79(4), April 1991.


A Data Parallel Java Client-Server Architecture for.. - Jean-Louis Giavitto.. (1998)   (Correct)

....constructs, evaluation mechanisms, on the fly optimizations, load balancing strategies and data field implementations. 1 Introduction Collections, Data Fields and Data Parallelism. The data parallel paradigm relies on the concept of collection: it is an aggregate of data handled as a whole [6]. A data field is a theoretically well founded abstract view of a collection as a function from a finite index set to a value domain. Higher order functions or intensional operations on these mappings correspond to data parallel operations: point wise applied operation (map) reduction (fold) ....

J. M. Sipelstein and G. Blelloch. Collection-oriented languages. Proceedings of the IEEE, 79(4):504--523, Apr. 1991. This article was processed using the L A T E X macro package with LLNCS style


Structured Parallel Programming: Theory meets Practice - Darlington, Guo, To (1995)   (2 citations)  (Correct)

....SPP(X) by adopting the use of high level functional abstractions of all relevant aspects of parallel behaviour. The techniques embodied is our approach can be seen as a synthesis and extension of the ideas embodied in several alternative approaches to parallel programming, data parallel languages [13], the co ordination notation [7] and skeletons [6] Again we contend that it is the power of functional languages that enables these approaches to be generalised and unified. With this functional abstraction of parallel behaviour, transformations can be applied to optimise all parts of a program s ....

Jay M. Sipelstein and Guy E. Blelloch. Collection-oriented languages. Proceedings of the IEEE, 79(4):504--523, April 1991. 16


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

....and explicitly parallel algorithms often use processor ID s as indices. Since the time of APL [5] it has been recognised that a programming model that provides operations directly on data structures can be very convenient. This style of programming is often called collection oriented programming [27]. Modern array and data parallel languages like Fortran 90 [3] provide support for this programming style, as do higher order functional languages, which usually offer collection oriented list operations. However, these languages typically restrict the scope of collection oriented operations to a ....

....functions conventional function types they are seen as functions that return a distinguished error value , with algebraic properties similar to , when called with an argument outside their domains. The partial function model is simple and powerful, and most types of collectionoriented operations [27] can be defined as higher order functions operating on partial functions [8, 18] However, certain operations require explicit information about the function domains. Thus, we consider entities (f; b) the data fields where f is a function and and b is a bound, a set representation that ....

[Article contains additional citation context not shown here]

Jay M. Sipelstein and Guy E. Blelloch. Collection-oriented languages. Proc. IEEE, 79(4):504--523, April 1991.


Using BSP to Optimize Data Distribution in Skeleton Programs - Zavanella, Pelagatti   (Correct)

....language in a sequential process (seq skeleton) or the iteration (loop skeleton) In the following, we will focus on the data parallel skeletons. The map skeleton expresses data parallel computations on independent sets of data. The reduce skeleton provides the usual reduce operation on vectors [2, 13] and on multi dimensional arrays. The comp skeleton expresses the composition of a sequence of data parallel skeletons. A P 3 L program consists of a set of skeleton instances (modules) combined and nested to form the global structure. As an example, consider the P 3 L data parallel program ....

J.M. Sipelstein and G.E. Blelloch. Collection-oriented languages. Proceedings of the IEEE, 79(4):504--523, April 1991.


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

....the translated programs on MIMD machines. 2.1 Data parallel languages For the sake of completeness, this subsection contains a review of the essential features of data parallel languages. For a more detailed treatment, the reader should consult the tutorial paper by Sipelstein and Blelloch [62]. 4 A data parallel language model consists of two parts: the aggregate data types it supports, and the operations it supports on the aggregate types. By implication, the operations on aggregate types must be amenable to parallel implementation for the language to qualify as data parallel. We ....

SIPELSTEIN,J.M.,AND BLELLOCH, G. E. Collection-oriented languages. Proceedings of the IEEE 79,4(Apr. 1991), 504--523.


Irregular Computations in Fortran - Expression and.. - Prins, Chatterjee..   (Correct)

.... the concept of collections (e.g. arrays) and a means to allow programmers to express parallelism through the application of an operation independently to all elements of a collection (e.g. the elementwise addition of two arrays) Sipelstein and Blelloch survey collection oriented languages in [39]. Most of the common data parallel languages, such as Fortran 9X, offer restricted data parallel capabilities: they limit collections to multidimensional rectangular arrays, limit the elements of a collection to scalar and record types, and limit the operations that can be applied in parallel. ....

J. M. Sipelstein and G. E. Blelloch. Collection-oriented languages. Proceedings of the IEEE, 79(4):504--523, Apr. 1991. 2


Amalgams: Names and Name Capture in a Declarative Framework - Michel (1998)   (Correct)

....of amalgams [20, 22] A first version has been defined in a dialect of ML [18] already enabling the definition of incremental computations, symbolic computation, an object oriented programming style. The 81 2 language manipulates intensionally [23] the notions of stream [32] and collection [29] in a uniform datastructure: the fabric. Since the notions of stream and collection are orthogonal to the definition of amalgams, fabrics are naturally added as a ground type for amalgams. Amalgams are the key to the definition of parameterized expressions allowing programs to be incrementally ....

Sipelstein, J. M., and Blelloch, G. Collectionoriented languages. Proceedings of the IEEE 79, 4 (Apr.


The Spatial Aggregation Language For Modeling And Controlling .. - Bailey-Kellogg (1999)   (1 citation)  (Correct)

....also a framework that embodies an appropriate style of programming. In particular, it shares two features common to more general purpose advanced programming languages: it is collection oriented, and objects are related through local constraint propagation rules. Collection oriented languages [72] provide operations that act on collections of objects as a whole. For example, collection oriented operations select members of, permute, form the union of, and perform operations on each element of a set. These techniques have proved useful in a number of distributed simulation environments. For ....

J. Sipelstein and G.E. Blelloch. Collection-oriented languages. Proceedings of the IEEE, 79(4):504-523, 1991.


Implementing the Recursive Definition of Abelian Group-Based.. - Giavitto, Michel   (Correct)

....a list is accessed after the first, the neighbors of a vertex V in a graph are visited after V when traveling through the graph, the state of an element i depends on the neighbors of i in a finite difference scheme, and so on. The first point leads to the development of the concept of collection [40]. The second point (together with the first) leads to the development of a functional view on arrays: fields [26] The last remark urges to make explicit the underlying space of the data structure. This paper presents an extension of the array data structure towards these three directions. This ....

.... more problem oriented than traditional arrays because they relieve the programmer from making many low level implementation decisions and from the burden of loops management (or any other enumeration mechanisms) Furthermore, collections have been advocated as a good support for data parallelism [40]. For example, collections are often used in the simulation of large dynamical systems (resolution of PDE, discrete events simulations, etc. which constitute the major part of supercomputer applications. Collections are used to represent the variation of some quantity over a bounded spatial or ....

[Article contains additional citation context not shown here]

Sipelstein, J. M., and Blelloch, G. E. Collection-oriented languages. Proceedings of the IEEE 79, 4 (Apr. 1991), 504-- 523.


Parallel Skeletons for Structured Composition - Darlington, Guo, To, Yang (1995)   (30 citations)  (Correct)

....programming. Furthermore we abandon the use of a general functional computational model for sequential computation. Thus, we do not suffer from the inefficiency of general functional programming. Data parallel languages: Data parallel languages exploit parallelism from basic aggregate data types [17]. Several examples of these for languages are the HPF standard [10] C [16] and NESL [2] We adopt data parallelism as our unit of composition. The main advantage our approach comes from the departure from the flat parallelism approach where parallel data structures cannot be nested. However, ....

J. M. Sipelstein and G. E. Blelloch. Collectionoriented languages. Proceedings of the IEEE, 79(4):504--523, April 1991.


Practical Parallel Divide-and-Conquer Algorithms - Hardwick (1997)   (1 citation)  Self-citation (Blelloch)   (Correct)

No context found.

Jay Sipelstein and Guy E. Blelloch. Collection-oriented languages. Proceedings of the IEEE, 79(4):504--523, April 1991.


Implementation of a Portable Nested Data-Parallel.. - Blelloch, Hardwick.. (1993)   (97 citations)  Self-citation (Sipelstein Blelloch)   (Correct)

No context found.

Sipelstein, J., and Blelloch, G. E. Collection-oriented languages. Proceedings of the IEEE 79, 4 (Apr. 1991), 504--523.


Amalgams: Names and Name Capture in a Declarative Framework - Michel, Giavitto (1998)   (Correct)

No context found.

Sipelstein, J. M., and Blelloch, G. Collection-oriented languages. Proceedings of the IEEE 79, 4 (Apr. 1991), 504523.

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