Open Concurrency Challenge
Line 1: | Line 1: | ||
− | + | LaME'12 CHALLENGE PROBLEM - CALL FOR SOLUTIONS | |
− | + | 2012 International Workshop on Languages for the Multi-core Era | |
+ | http://lame.dei.uc.pt/ | ||
+ | June 13, 2012, at ECOOP 2012, Beijing, China | ||
+ | also co-located with PLDI 2012 | ||
+ | |||
+ | |||
+ | We solicit solutions to all or part of the following challenge, designed to showcase the expressiveness of different parallel language abstractions. The challenge is in two parts, one algorithmic and one engineering parallelism into a real-world context. Solutions may target either or both parts. | ||
+ | |||
+ | Solutions should include source code (ideally complete, but this is not required) as well as a short paper discussing the benefits and drawbacks of the approach. Comparisons to alternative approaches are welcome. | ||
+ | |||
+ | While the primary focus of this challenge is on expressiveness of the language, library or other abstractions used in the solution, evaluations showing the scalability and performance of the proposed approach are encouraged to show the performance that can be achieved with the approach. | ||
+ | |||
+ | The paper should be at most 4 pages. Code and papers will not be formally published, but will be archived on the LaME website. Solutions to the challenge problem will be presented and discussed at a workshop session. | ||
+ | |||
+ | |||
+ | Important dates: | ||
+ | |||
+ | Challenge Problem Submission: May 20, 2012 | ||
+ | (additional solutions may be accepted after this deadline | ||
+ | on a space-available basis) | ||
+ | |||
+ | Workshop: June 13, 2012 | ||
+ | |||
+ | |||
+ | PART A: PARALLEL ALGORITHMS | ||
+ | |||
+ | The first challenge involves expressing algorithms cleanly. Prospective solutions will implement one or more of the benchmarks from the Problem Based Benchmark Suite. This open source suite describes a number of common real-world problems in terms of the function they implement and not the particular algorithm or code they use, and are thus a useful way to compare different programming languages, methodologies, and algorithm designs. | ||
+ | |||
+ | A description of the problems in the benchmark suite, together with sample implementations and sample inputs, is available at: | ||
+ | |||
+ | http://www.cs.cmu.edu/~guyb/pbbs/ | ||
+ | |||
+ | |||
+ | PART B: PARALLELISM IN CONTEXT | ||
+ | |||
+ | The second challenge involves putting parallelism into a real-world context. While expressing the core of an algorithm is important, equally important is getting the data from the world, into an algorithm, and back out into the world. Desirable characteristics include code that is short, clear, and efficient. | ||
+ | |||
+ | Prospective solutions will show how to get parallel data from some public source, process it in parallel, and display the output in some meaningful way. The processing itself may be a solution to Part A or it may be any other parallel algorithm. Data sources to consider include Tim Bray's Wide Finder and Wide Finder 2 benchmarks: | ||
+ | |||
+ | http://www.tbray.org/ongoing/When/200x/2008/05/01/Wide-Finder-2 | ||
+ | |||
+ | or one of the research-quality data sets described here: | ||
+ | |||
+ | https://bitly.com/bundles/hmason/1 | ||
+ | |||
+ | However, any public data source may be used. |