Results 1 -
7 of
7
Temporal Concurrent Constraint Programming: Denotation, Logic and Applications
, 2002
"... The tcc model is a formalism for reactive concurrent constraint programming. We present a model of temporal concurrent constraint programming which adds to tcc the capability of modeling asynchronous and non-deterministic timed behavior. We call this tcc extension the ntcc calculus. We also give a d ..."
Abstract
-
Cited by 44 (18 self)
- Add to MetaCart
The tcc model is a formalism for reactive concurrent constraint programming. We present a model of temporal concurrent constraint programming which adds to tcc the capability of modeling asynchronous and non-deterministic timed behavior. We call this tcc extension the ntcc calculus. We also give a denotational semantics for the strongest-postcondition of ntcc processes and, based on this semantics, we develop a proof system for linear-temporal properties of these processes. The expressiveness of ntcc is illustrated by modeling cells, timed systems such as RCX controllers, multi-agent systems such as the Predator /Prey game, and musical applications such as generation of rhythms patterns and controlled improvisation. 1
Embedding dynamic dataflow in a call-by-value language
- In European Symposium on Programming
, 2006
"... Abstract. This paper describes FrTime, an extension of Scheme designed for writing interactive applications. Inspired by functional reactive programming, the language embeds dynamic dataflow within a call-by-value functional language. The essence of the embedding is to make program expressions evalu ..."
Abstract
-
Cited by 28 (4 self)
- Add to MetaCart
Abstract. This paper describes FrTime, an extension of Scheme designed for writing interactive applications. Inspired by functional reactive programming, the language embeds dynamic dataflow within a call-by-value functional language. The essence of the embedding is to make program expressions evaluate to nodes in a dataflow graph. This strategy eases importation of legacy code and permits incremental program construction. We have integrated FrTime with the DrScheme programming environment and have used it to develop several novel applications. We describe FrTime’s design and implementation in detail and present a formal semantics of its evaluation model. 1
Chapter 1 Low Pain
"... Abstract: Multicores are becoming the dominant processor technology and functional languages are theoretically well suited to exploit them. In practice, however, implementing effective high level parallel functional languages is extremely challenging. This paper is the first programming and performa ..."
Abstract
- Add to MetaCart
Abstract: Multicores are becoming the dominant processor technology and functional languages are theoretically well suited to exploit them. In practice, however, implementing effective high level parallel functional languages is extremely challenging. This paper is the first programming and performance comparison of functional multicore technologies and reports some of the first ever multicore results for two languages. As such it reflects the growing maturity of the field by systematically evaluating four parallel Haskell implementations on a common multicore architecture. The comparison contrasts the programming effort each language requires with the parallel performance delivered. The study uses 15 ’typical ’ programs to compare a ’no pain’, i.e. entirely implicit, parallel language with three ’low pain’, i.e. semi-explicit languages. The parallel Haskell implementations use different versions of GHC compiler technology, and hence the comparative performance metric is speedup which normalises against sequential performance. We ground the speedup comparisons by reporting both sequential and parallel runtimes and efficiencies for three of the languages. Our experiments focus on the number of programs improved, the absolute speedups delivered, the parallel scalability, and the program changes required to coordinate parallelism. The results are encouraging and, on occasion, surprising.
Intel Concurrent Collections for Haskell
"... Intel Concurrent Collections (CnC) is a parallel programming model in which a network of steps (functions) communicate through message-passing as well as a limited form of shared memory. This paper describes a new implementation of CnC for Haskell. Compared to existing parallel programming models fo ..."
Abstract
- Add to MetaCart
Intel Concurrent Collections (CnC) is a parallel programming model in which a network of steps (functions) communicate through message-passing as well as a limited form of shared memory. This paper describes a new implementation of CnC for Haskell. Compared to existing parallel programming models for Haskell, CnC occupies a useful point in the design space: pure and deterministic like Strategies, but more explicit about granularity and the structure of the computation, which affords the programmer greater control over parallel performance. We present results on 4, 32, and 48-core machines demonstrating parallel speedups ranging between 7X and 22X on non-trivial benchmarks.
Approved by the Graduate Council Date
"... Gregory Harold Cooper was born on New Year’s Day of 1978 in South County, Rhode Island. He has enjoyed mathematics and logic since he can remember and was addicted to computer programming by age 7. He was valedictorian of the class of 1996 at North Kingstown High School and a National Merit Scholar ..."
Abstract
- Add to MetaCart
Gregory Harold Cooper was born on New Year’s Day of 1978 in South County, Rhode Island. He has enjoyed mathematics and logic since he can remember and was addicted to computer programming by age 7. He was valedictorian of the class of 1996 at North Kingstown High School and a National Merit Scholar and Barry M. Goldwater Scholar at the University of Rhode Island. He also received an honorable mention in the National
Chapter 1 Low pain vs no pain multi-core Haskells
"... Abstract: Multi-cores are becoming the dominant processor technology and functional languages are theoretically well suited to exploit them. In practice, however, implementing effective high-level parallel functional languages is extremely challenging. This paper is the first programming and perform ..."
Abstract
- Add to MetaCart
Abstract: Multi-cores are becoming the dominant processor technology and functional languages are theoretically well suited to exploit them. In practice, however, implementing effective high-level parallel functional languages is extremely challenging. This paper is the first programming and performance comparison of functional multi-core technologies and reports some of the first ever multi-core results for two languages. As such it reflects the growing maturity of the field by systematically evaluating four parallel Haskell implementations on a common multi-core architecture. The comparison contrasts the programming effort each language requires with the parallel performance delivered. The study uses fifteen ‘typical’ programs to compare a ‘no pain’, i.e. entirely implicit, parallel language with three ‘low pain’, i.e. semi-explicit languages. The parallel Haskell implementations use different versions of GHC compiler technology, and hence the comparative performance metric is speedup which normalises against sequential performance. We ground the speedup comparisons by reporting both sequential and parallel runtimes and efficiencies for three of the languages. Our experiments focus on the number of programs improved, the absolute speedups delivered, the parallel scalability, and the program changes required to coordinate parallelism. The results are encouraging and, on occasion, surprising.
Noname manuscript No. (will be inserted by the editor) Comparing Low-Pain and No-Pain Multicore Haskells
"... the date of receipt and acceptance should be inserted later Abstract Multicore and NUMA architectures are becoming the dominant processor technology and functional languages are theoretically well suited to exploit them. In practice, however, implementing effective high level parallel functional lan ..."
Abstract
- Add to MetaCart
the date of receipt and acceptance should be inserted later Abstract Multicore and NUMA architectures are becoming the dominant processor technology and functional languages are theoretically well suited to exploit them. In practice, however, implementing effective high level parallel functional languages is extremely challenging. This paper is a systematic programming and performance comparison of four parallel Haskell implementations on a common multicore architecture. It provides a detailed analysis of the performance, and contrasts the programming effort that each language requires with the parallel performance delivered. The study uses 15 ’typical ’ programs to compare a ‘no pain’, i.e. entirely implicit, parallel implementation with three ‘low pain’, i.e. semi-explicit, language implementations. We report detailed studies comparing the parallel performance delivered. The comparative performance metric is speedup which normalises against sequential performance. We ground the speedup comparisons by reporting both sequential and parallel runtimes and efficiencies for three of the languages. To measure the programming effort

