skip to main content
10.1145/1370082acmconferencesBook PagePublication PagesicseConference Proceedingsconference-collections
IWMSE '08: Proceedings of the 1st international workshop on Multicore software engineering
ACM2008 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
ICSE '08: International Conference on Software Engineering Leipzig Germany 11 May 2008
ISBN:
978-1-60558-031-9
Published:
11 May 2008
Sponsors:
Next Conference
Bibliometrics
Skip Abstract Section
Abstract

Welcome to the International Workshop on Multicore Software Engineering (IWMSE 2008), the first workshop to focus on the software engineering challenges of chip-multiprocessors, or multi/manycore computers. With the emergence of multi/manycore, parallelism has become affordable at all levels, and software engineers now face the challenge of parallelizing performance-critical applications of all sorts, not just numeric applications.

The workshop is intended to bring together researchers and practitioners with diverse backgrounds to advance the state of the art in software engineering for multi/manycore parallel applications. It aims to establish a community interested in advancing tools and methods for the cost-effective development of a broad spectrum of parallel applications, to start and extend a significant research dialog, and to push the boundaries of multicore software.

The call for papers attracted 14 submissions from Australia, Canada, China, France, Germany, India, Russia, Sweden, United Kingdom, and the United States. The program committee accepted eight papers that cover a variety of topics, including parallel libraries, programming models and fault detection, multicore applications, and experience reports. In addition, the program includes a tutorial on Intel® Threading Building Blocks -- an open source library that was designed to simplify programming for multi-core platforms -- and a tutorial on parallel computing with X10, a language that supports a variety of concurrent programming idioms. Capturing an initial state of research and practice, we hope that these proceedings serve as a valuable reference for researchers and developers.

Skip Table Of Content Section
SESSION: Keynote & tutorials
keynote
Transactional memory: from semantics to silicon

Multi-core architectures bring parallel programming into the mainstream. Parallel programming poses many new challenges to the developer, one of which is synchronizing concurrent access to shared memory by multiple threads. Programmers have ...

tutorial
Putting intel® threading building blocks to work

Intel® Threading Building Blocks (TBB) was designed to simplify programming for multi-core platforms. By introducing a new way of expressing parallelism, developers can focus on efficient scalable parallel program design and avoid dealing with low level ...

tutorial
Parallel computing with x10

Many problems require parallel solutions and implementations and how to extract and specify parallelism has been the focus of Research during the last few decades. While there has been a significant progress in terms of (a)automatically deriving ...

SESSION: Parallel libraries
research-article
BlockLib: a skeleton library for cell broadband engine

Cell Broadband Engine is a heterogeneous multicore processor for high-performance computing and gaming. Its architecture allows for an impressive peak performance but, at the same time, makes it very hard to write efficient code. The need to ...

research-article
The GNU libstdc++ parallel mode: software engineering considerations

The C++ Standard Library implementation provided with the free GNU C++ compiler, libstdc++, provides a "parallel mode" as of version 4.3. Using this mode enables existing serial code to take advantage of many parallelized STL algorithms, an approach to ...

research-article
Software thread-level speculation: an optimistic library implementation

Software thread level speculation (TLS) solutions tend to mirror the hardware ones, in the sense that they employ one, exact dependency-tracking mechanism. Our perspective is that software-flexibility is, perhaps, better exploited by a family of lighter,...

SESSION: Programming models and fault detection
research-article
Stage: exploring erlang style concurrency in ruby

This paper introduces Stage, a Ruby implementation of Actors inspired by the concurrency support in the Erlang programming language. This implementation demonstrates how dynamic language features can be used to implement convenient and expressive ...

research-article
Finding synchronization defects in java programs: extended static analyses and code patterns

Concurrent programming is getting more and more important. Managing concurrency requires the usage of synchronization mechanisms, which is error-prone. Well-known examples for synchronization defects are deadlocks and race conditions. Detecting such ...

research-article
A case study for monitoring-oriented programming in multi-core architecture

Along with the development of the multi-core architecture, high performance computing platform is produced to satisfy users' requirement for solving large and complex problems. Multi-core architecture has become a new trend in the verification field to ...

SESSION: Applications and experience reports
research-article
Software engineering for multicore systems: an experience report

The emergence of inexpensive parallel computers powered by multicore chips combined with stagnating clock rates raises new challenges for software engineering. As future performance improvements will not come "for free" from increased clock rates, ...

research-article
Developing a concurrent service orchestration engine in ccr

As the Grid application models move towardsWeb services and the service oriented architecture (SOA), the service orchestration is becoming the key to build the large-scale system. With the significant attention, WS-BPEL is widely adopted as the standard ...

Contributors
  • Massachusetts Institute of Technology
  • Karlsruhe Institute of Technology

Recommendations