Welcome to the Fourth International Workshop on Multicore Software Engineering (IWMSE 2011)! The number of cores per chip is still increasing. Currently, we have general-purpose processors with 48 cores and graphics cards with over 300 specialized cores. At the same time, there is a new trend: Heterogeneous multicore systems became available that combine general-purpose cores and graphics cores on the same chip. In the light of these developments, software needs to catch up. IWMSE 2011 is the fourth workshop in a series that continues its mission to advance the state of the art in multicore software engineering.
The call for papers attracted 18 submissions by 49 authors from all over the world. The review process was double blind. The program committee finally accepted 6 full papers and 1 position paper that cover a variety of topics, including performance engineering, programming approaches, refactoring, and case studies.
Proceeding Downloads
Mesa: automatic generation of lookup table optimizations
Scientific programmers strive constantly to meet performance demands. Tuning is often done manually, despite the significant development time and effort required. One example is lookup table (LUT) optimization, a technique that is generally applied by ...
Model-based generation of static schedules for safety critical multi-core systems in the avionics domain
Static schedules are used in safety critical systems to achieve predictable, real-time behavior. While it was possible to construct static schedules manually for simple, single-core systems, the increase in complexity introduced by multicore processors ...
Improving programmability of heterogeneous many-core systems via explicit platform descriptions
In this paper we present ongoing work towards a programming framework for heterogeneous hardware- and software environments. Our framework aims at improving programmability and portability for heterogeneous many-core systems via a Platform Description ...
Auto-tuning SkePU: a multi-backend skeleton programming framework for multi-GPU systems
SkePU is a C++ template library that provides a simple and unified interface for specifying data-parallel computations with the help of skeletons on GPUs using CUDA and OpenCL. The interface is also general enough to support other architectures, and ...
Lightweight parallel accumulators using C++ templates
The Boost.Accumulators framework provides C++ template-based support for incremental computation of many important statistical functions, such as maximum, minimum, mean, count, variance, etc. Basic accumulators can be combined to build more ...
Open language implementation
Writing multi-threaded shared variable code is notoriously difficult because a given program can result in different possible executions due to non-determinism. Observed executions may also vary depending on the specific compiler and runtime system at ...
How do programs become more concurrent: a story of program transformations
In the multi-core era, programmers need to resort to parallelism if they want to improve program performance. Thus, a major maintenance task will be to make sequential programs more concurrent. Must concurrency be designed into a program, or can it be ...