User loginNavigation |
Parallel/DistributedActors that Unify Threads and Events
Philipp Haller and Martin Odersky also wrote Event-Based Programming without Inversion of Control which was discusssed here last year. You may also remember A Language-based Approach to Unifying Events and Threads (Li and Zdancewic). Threads in JavaScript?Threads in JavaScript? "Over your dead body," says Brendan. But Neil Mix begs to differ -- they're already there! Neil's latest blog post presents a cool hack combining JavaScript 1.7's generators with trampolined style to implement very lightweight cooperative threads. The implementation weighs in at a breathtakingly small 4k. By Dave Herman at 2007-02-14 00:43 | Implementation | Javascript | Object-Functional | Parallel/Distributed | 19 comments | other blogs | 39704 reads
The Landscape of Parallel Computing Research: A View from Berkeley(via Tim Bray)
An interesting survey by a large and multidisciplinary group of Berkeley researchers. I think it is useful background reading for programming language researchers, even if the discussion of programming models is not up to the standards of LtU... And yes, STM is mentioned (albeit briefly)... Patrick Logan on Software Transaction MemoryA detailed blog post on STM - and why it is a Bad Thing. Programming Parallel AlgorithmsProgramming Parallel Algorithms, Guy Blelloch. 1996.
IIRC, the team developing Fortress is putting nested data parallelism into Fortress. I think this is one of the most intriguing ways of getting heavy duty parallelism -- something that will grow ever more important as the number of cores in our computers grow. Programming the Greedy CAM MachineProgramming the Greedy CAM Machine. Erik Ruf. January 2007
Section 6.8 is on the suitability of LINT, the low-level intermediate language described in the paper, as a target language for the compilation of higher-level abstractions. But comments on the general issues discussed in the paper are welcome as well... By Ehud Lamm at 2007-01-27 10:17 | Implementation | Parallel/Distributed | login or register to post comments | other blogs | 5456 reads
Extending the Multilisp Sponsor Model
Extending the Multilisp Sponsor Model by Randy B. Osborne. 1993.
Speculative computing is a technique to improve the execution time of certain applications by starting some computations before it is known that the computations are required. A speculative computation will eventually become mandatory (i.e. required) or irrelevant (i.e. not required). In the absence of side effects irrelevant computations may be aborted. However, with side effects a computation which is irrelevant for the value it produces may still be relevant for the side effects it performs. One problem that can result is the "relevant synchronization" problem wherein one computation requires some side effect event (a "relevant synchronization") to be performed by another computation, which might be aborted, before the first computation can make progress. Another problem that can arise is the "preemptive delay" problem wherein a computation that will perform some awaited side effect event is preempted by a computation whose importance (e.g. priority) is less than that of computations waiting for the event. In this paper we show how the sponsor model developed for speculative computation in Multilisp can be extended to provide a novel solution to these two problems. The idea is for the computation awaiting some action, such as the production of a value or the release of a semaphore, to sponsor the computation or set of computations that will perform the awaited action. This sponsorship ensures that the awaited action executes, and executes with at least the waiter's level of importance. We show how to apply this technique to solve the above problems for several producer/consumer and semaphore applications. The idea extends naturally to other synchronization mechanisms.Old news, one may say, but why the industry is continuing to ignore this knowledge (What really happened on Mars? -- Authoritative Account)?. See also the author's previous paper containing besides other information an overview of speculative computing in general: Speculative computation in Multilisp (1990). By Andris Birkmanis at 2007-01-08 09:17 | Parallel/Distributed | 2 comments | other blogs | 5725 reads
Simon Peyton Jones: Beautiful concurrency
You can post your comments on the Haskell wiki. STM was discussed here many time before, of course. For me the original papers were easier to follow, but some may prefer the style of presentation used here. By Ehud Lamm at 2007-01-06 21:38 | Functional | Parallel/Distributed | 25 comments | other blogs | 24174 reads
Data Parallel Haskell: a status reportData Parallel Haskell: a status report. Manuel M. T. Chakravarty, Roman Leshchinskiy, Simon Peyton Jones, Gabriele Keller, and Simon Marlow.
NESL was mentioned here in the past a few times, as was data parallelism in general. By Ehud Lamm at 2006-12-23 14:26 | Functional | Parallel/Distributed | 2 comments | other blogs | 9246 reads
The Joins Concurrency LibraryThe Joins Concurrency Library. Claudio Russo.
In the Joins library, the scheduling logic that would be compiled into the corresponding Comega class receives a separate, first-class representation as an object of the special The library also supports dynamic joins, which are not available in Comega, implemented by joining arrays of channels (with the size of the array being determined at runtime). The major weakness of the Joins library is speed, since the static apporach of Comega provides more room for optimization (see the brief discussion in sec. 6). |
Browse archives
Active forum topics |
Recent comments
1 day 37 min ago
1 day 52 min ago
6 days 1 hour ago
6 days 1 hour ago
6 days 1 hour ago
3 weeks 6 days ago
4 weeks 5 days ago
4 weeks 5 days ago
4 weeks 6 days ago
4 weeks 6 days ago