home · mobile · calendar · colloquia · 2008-2009 · 

Colloquium - Sweeney

Understanding the Cost of Thread Migrations for Multi-Threaded Java Applications Running on a Multicore Platform
IBM Thomas J. Watson Research Center

Multicore systems increase the complexity of performance analysis by introducing a new source of additional costs: the migration of work between cores. Thread migration policies and the performance penalties that may result from them have been well studied. However, a central Java performance analysis question around migration and multicore systems has remained largely unanswered: how much performance in a given Java program execution was lost due to migrations among cores? This talk explores this question.

We first present a detailed analysis of the sources of migration overhead and show that they result from a combination of several factors including application behavior (data locality and working set size), OS behavior (migration frequency) and hardware characteristics (nonuniform cache sharing among cores). We also present a performance characterization of several multi-threaded Java applications. Surprisingly, our analysis shows that, although significant migration penalizes can be produced in controlled environments, Java applications do not appear to suffer from noticeable migration overhead when run in a realistic operating environment on an actual multicore platform.

Hosted by Amer Diwan.

Department of Computer Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
May 5, 2012 (14:13)