Pomset interpretations of parallel function programs
Proc. of a conference on Functional programming languages and computer architecture
A calculus for assignments in higher-order languages
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Vector models for data-parallel computing
Vector models for data-parallel computing
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Parallel algorithms for shared-memory machines
Handbook of theoretical computer science (vol. A)
Parallel hashing and integer sorting
Journal of Algorithms
An introduction to parallel algorithms
An introduction to parallel algorithms
Space-efficient scheduling of multithreaded computations
STOC '93 Proceedings of the twenty-fifth annual ACM symposium on Theory of computing
Implementation of a portable nested data-parallel language
Journal of Parallel and Distributed Computing - Special issue on data parallel algorithms and programming
A comparison of parallel algorithms for connected components
SPAA '94 Proceedings of the sixth annual ACM symposium on Parallel algorithms and architectures
Efficient compilation of high-level data parallel algorithms
SPAA '94 Proceedings of the sixth annual ACM symposium on Parallel algorithms and architectures
Fast and efficient simulations among CRCW PRAMs
Journal of Parallel and Distributed Computing
The semantics of future and its use in program optimization
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A cost calculus for parallel functional programming
Journal of Parallel and Distributed Computing
Provably efficient scheduling for languages with fine-grained parallelism
Proceedings of the seventh annual ACM symposium on Parallel algorithms and architectures
Abstract models of memory management
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Parallelism in sequential functional languages
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Programming parallel algorithms
Communications of the ACM
Developing a practical projection-based parallel Delaunay algorithm
Proceedings of the twelfth annual symposium on Computational geometry
A provably time-efficient parallel implementation of full speculation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A semantic model of reference counting and its abstraction (detailed summary)
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Storage Management in Virtual Tree Machines
IEEE Transactions on Computers
Class Notes: Programming Parallel Algorithms CS 15-840B (Fall 1992)
Class Notes: Programming Parallel Algorithms CS 15-840B (Fall 1992)
Fluent parallel computation
Space-efficient scheduling of parallelism with synchronization variables
Proceedings of the ninth annual ACM symposium on Parallel algorithms and architectures
Proceedings of the ninth annual ACM symposium on Parallel algorithms and architectures
On the runtime complexity of type-directed unboxing
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
On bounding time and space for multiprocessor garbage collection
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Provably efficient scheduling for languages with fine-grained parallelism
Journal of the ACM (JACM)
BOS is boss: a case for bulk-synchronous object systems
Proceedings of the eleventh annual ACM symposium on Parallel algorithms and architectures
A provably time-efficient parallel implementation of full speculation
ACM Transactions on Programming Languages and Systems (TOPLAS)
More types for nested data parallel programming
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
An operational semantics for parallel lazy evaluation
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Typed memory management via static capabilities
ACM Transactions on Programming Languages and Systems (TOPLAS)
Possibilities and limitations of call-by-need space improvement
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Runtime Behavior of Conversion Interpretation of Subtyping
IFL '02 Selected Papers from the 13th International Workshop on Implementation of Functional Languages
Parallel and Distributed Haskells
Journal of Functional Programming
On bounding time and space for multiprocessor garbage collection
ACM SIGPLAN Notices - Best of PLDI 1979-1999
A Framework for Measuring Supercomputer Productivity
International Journal of High Performance Computing Applications
Adaptive scheduling with parallelism feedback
Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming
Adaptive work stealing with parallelism feedback
Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming
Cost semantics for space usage in a parallel language
Proceedings of the 2007 workshop on Declarative aspects of multicore programming
Manticore: a heterogeneous parallel language
Proceedings of the 2007 workshop on Declarative aspects of multicore programming
Status report: the manticore project
ML '07 Proceedings of the 2007 workshop on Workshop on ML
Nested parallelism in transactional memory
Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
Adaptive work-stealing with parallelism feedback
ACM Transactions on Computer Systems (TOCS)
Implicitly-threaded parallelism in Manticore
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Space profiling for parallel functional programs
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
A cost semantics for self-adjusting computation
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis
Improved results for scheduling batched parallel jobs by using a generalized analysis framework
Journal of Parallel and Distributed Computing
Provably efficient two-level adaptive scheduling
JSSPP'06 Proceedings of the 12th international conference on Job scheduling strategies for parallel processing
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Language virtualization for heterogeneous parallel computing
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Programming in Manticore, a heterogenous parallel functional language
CEFP'09 Proceedings of the Third summer school conference on Central European functional programming school
Implicitly threaded parallelism in manticore
Journal of Functional Programming
Commutative set: a language extension for implicit parallel programming
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Oracle scheduling: controlling granularity in implicitly parallel languages
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Internally deterministic parallel algorithms can be fast
Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
Reasoning about data-parallel pointer programs in a modal extension of separation logic
AMAST'06 Proceedings of the 11th international conference on Algebraic Methodology and Software Technology
Work efficient higher-order vectorisation
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Towards a streaming model for nested data parallelism
Proceedings of the 2nd ACM SIGPLAN workshop on Functional high-performance computing
Æminium: A Permission-Based Concurrent-by-Default Programming Language Approach
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
In this paper we prove time and space bounds for the implementation of the programming language NESL on various parallel machine models. NESL is a sugared typed λ-calculus with a set of array primitives and an explicit parallel map over arrays. Our results extend previous work on provable implementation bounds for functional languages by considering space and by including arrays. For modeling the cost of NESL we augment a standard call-by-value operational semantics to return two cost measures: a DAG representing the sequential dependence in the computation, and a measure of the space taken by a sequential implementation. We show that a NESL program with w work (nodes in the DAG), d depth (levels in the DAG), and s sequential space can be implemented on a p processor butterfly network, hypercube, or CRCW PRAM using O(w/p + d log p) time and O(s + dp log p) reachable space.1 For programs with sufficient parallelism these bounds are optimal in that they give linear speedup and use space within a constant factor of the sequential space.