2012 ACM SIGPLAN X10 Workshop, Thursday June 14

 9:00-10:00:  Keynote: David Grove (IBM Research).
              A tutorial on X10 and its implementation [Slides] [Video]

10:00-10:30:  Break

10:30-12:00:  Session 2: Language Design and Implementation

Fast Method Dispatch and Effective Use of Primitives for Reified Generics in Managed X10, 
by  Mikio Takeuchi, Salikh Zakirov, Kiyokuni Kawachiya, and Tamiya Onodera (IBM Research - Tokyo)
[Paper]  [Slides]
  Distributed Garbage Collection for Managed X10, by
  Kiyokuni Kawachiya, Mikio Takeuchi, Salikh Zakirov, and Tamiya Onodera
  (IBM Research - Tokyo)
[Paper]  [Slides]

  StreamX10: A Stream Programming Framework on X10, by
  Haitao Wei, Hong Tan, Xiaoxian Liu, and Junqing Yu
  (Huazhong University of Science and Technology)
[Paper]  [Slides]

12:00- 1:30:  Lunch.

 1:30- 3:00:  Session 3: Applications

  Invited speaker: David Cunningham (IBM Research).
  M3R: Increased Performance for In-Memory Hadoop Jobs  [Slides] [Video]
  X10-based Massive Parallel Large-Scale Traffic Flow Simulation, by
  Toyotaro Suzumura (IBM Research/Tokyo Institute of Technology) and Mikio Takeuchi, Sei Kato, Takashi Imamichi, Hiroki Kanezashi, Tsuyoshi Ide, and Tamiya Onodera (IBM Research - Tokyo)
[Paper]  [Slides]

  Characterization of Smith-Waterman Sequence Database Search in X10,
by Yingsheng Ji, Liu Li, and Guangwen Yang (Tsinghua University, Beijing)
[Paper]  [Slides]

 3:00- 3:30:  Break.

 3:30- 5:00:  Session 4: New Directions

  Introducing ScaleGraph : An X10 Library for Billion Scale Graph Analytics,
  by Miyuru Dayarathna and Charuwat Houngkaew (Tokyo Institute of Technology) and Toyotaro Suzumura (Tokyo Institute of Technology/IBM Research - Tokyo)
[Paper]  [Slides]

  Lightning talks.  Sign up during the workshop!

  Invited speaker: David Grove (IBM Research).  X10 future plans. 
[Slides] [Video]




Speaker: David Grove (IBM Research)

Two talks:
  - A tutorial on X10 and its implementation.
  - X10 future plans.

Bio: David Grove currently co-leads the X10 project at IBM Research.
His primary research interests include the analysis and optimization
of object-oriented languages, virtual machine design and implementation,
JIT compilation, online feedback-directed optimization, and garbage collection.
He played a leading role in IBM's Jalapeno project and has been a member
of the Jikes RVM steering committee and core team since Jalapeno went
open source in 2001.  From 2004 to 2008 he was a member of the Metronome
project and made significant contributions to the implementation of the
Metronome GC in IBM's WebSphere Real Time Java product.  He has been
a Research Staff Member at IBM Research since 1998.  He received his Ph.D.
from the University of Washington in 1998 and a B.S from Yale in 1992



Speaker:   David Cunningham (IBM Research)
   Title:   M3R: Increased Performance for In-Memory Hadoop Jobs


  M3R is a new X10-based implementation of the Hadoop Map
  Reduce (HMR) API targeted at online analytics on high
  mean-time-to-failure clusters. It does not support resilience, and
  supports only those workloads which can fit into cluster memory.
  In return, it can run HMR jobs unchanged -- including jobs produced by
  compilers for higher-level languages such as Pig, Jaql, and SystemML
  and interactive front-ends like IBM BigSheets -- while providing
  significantly better performance than the Hadoop engine on several
  workloads (e.g. 45x on some input sizes for sparse matrix vector
  multiply). M3R also supports extensions to the HMR API which can
  enable Map Reduce jobs to run faster on the M3R engine, while not
  affecting their performance under the Hadoop engine.


David Cunningham's PhD work involved novel lock inference techniques and
correctness proofs for atomic sections in object-oriented languages
(Imperial College London, 2010).  He has been employed by IBM for 3 years
as a software engineer working with the X10 team, responsible for X10RT
(the communications runtime) and CUDA backend / runtime implementation. 
He has also participated
in general C++ backend and runtime implementation, X10 application
development, and X10 language design discussions.