9/17/12: X-Stack Portfolio Kickoff Meeting

From Modelado Foundation


The Agenda is here.

The meeting includes principal investigators selected for funding in the 2012 X-Stack Funding Opportunity as well as key contributors from synergistic Exascale research efforts. Additional information and guidance about this meeting will be provided soon.

Significant contributors of each project will:

  1. Share vision and technical details of their projects;
  2. Discuss collaboration and leveraging of research deliverables of the X-Stack portfolio;
  3. Help create a complete vision for X-Stack software research;
  4. Help develop alternatives for the X-Stack architecture and interfaces.

We expect that these activities will be extended to include Exascale research efforts carried by participants who are not X-Stack awardees.


Project Handouts

Include in your project handout the URL of your project website. The requirement for your project website was communicated in your award letter. The project website should include sufficient information about your project to enable the community to clearly understand what will be accomplished, and it should include contact information for the different components of your project.

Project Posters


The parallel and panel sessions for our kickoff meeting depend on the questions that we, as a group, decide we need to address during the time allocated for these sessions. We will decide on 5-6 questions for the parallel sessions, and on 4 questions for each panel session.

For the 3 panel sessions, there are at least five panelists, each presenting four slides, one for each selected panel question. The envisioned process is the following:

  • The moderator asks three panelists to answer question 1 (about 2 minutes per panelist, 6 minutes total)
  • A 9 minute discussion among panelists, with questions from the audience follows.
  • The moderator repeats the process for question 2 – 4.

The parallel sessions are working sessions: all participants should plan to contribute to the discussions. A moderator ensures that no one dominates the discussion and that all have the opportunity to speak and contribute.

Questions submitted: Corvette, ETI Brandywine, Global View Resilience, Traleika Glacier, High Level Representations, SLEEC, XPRESS

Panel Session 1

Moderator: Dan Quinlan Roles: Milind Kulkarni, David Padua, Andrew Lumsdaine, John Shalf, Vivek Sarkar, John Bell; and Tina has agreed to be our scribe.


  1. What is the role of DSLs within Exascale and what impact does this have on vendors?
  2. Will we see language extensions or new parallel languages from the Exascale program?
  3. Where in the software stack is resilience best addressed; or need it be addressed uniformly everywhere?
  4. What is the role of correctness in the development of Exascale software?
  5. How fast will hardware change, how fast do we expect software and programming models to adapt? (the software stack?)

Panel Session 2: Runtime Systems

Moderator: Saman Amarasinghe Panelists: Andrew Chien, Vijay Saraswat, Hartmut Kaiser, Vivek Sarkar, Wilf Pinfold


  1. We first need a common vocabulary to discuss the complex runtime system, which has many components. Can you come-up with a clear set of components for a runtime system (akin to the ISO 7 layers for networking)
  2. Can you explain your runtime solution w.r.t. these components
  3. In your opinion, what components are closes to get standardized (i.e. shared across all groups) and what needs lot more research/exploration?
  4. What are the top three challenges in building a runtime system exascale?
  5. Share some of the key ideas/technology you think will address these challenges.

Panel Session 3: Low-Level Representation: Synthesis, Refinements, Transformations, Resilience

Moderator: Armando Solar-Lezama (MIT) Scribe: Tina Macaluso (SAIC) Panelists: Koushik Sen (UC Berkeley), David Padua (UIUC), Mary Hall (Utah), Milind Kulkami (Purdue), Richard Lethin (Reservoir Labs), Vijay Saraswat (IBM)


  1. How can we get the programmer involved in refinement?
  2. How do we introduce automation without losing control?
  3. How do you provide situational awareness to the programmer guiding the refinement?
  4. What features are needed in the program representation to facilitate synthesis, transformation and refinement?
  5. How do we introduce learning into the refinement process? Should we?

Parallel Session I

Roles: Kathy Yelick will moderate, Tina Macaluso will scribe, Mary Hall will report out. Presentation: X-Stack Frontend


This session will be split into two discussions, the first on the interactions with application scientists (aka X-Stack users) and the second on the languages, compilers and tools. Here are some questions:

Part 1:

  1. How should we (X-stack) interact with users? This is both a technical question of what kinds of APIs / programming models they will accept and how we should interact with them in the mean time.
  2. Are different X-Stack projects addressing different types of users?

Part 2:

  1. How should memory and network hierarchy be managed?
  2. How can we predict the importance of locality at different levels, and which things should be exposed to users? Can we "virtualize" the hierarchy using a recursive model?
  3. Can DSLs help substantially?
  4. Should we be writing programs that generate code rather than code itself, i.e., train more compiler folks or build tools that makes this easier.
  5. Are there different types of tools that should be provided for exascale users?

One of the goals of this breakout is to collect a matrix of the approaches being used by each project.

Parallel Session II

Roles: Shekhar Borkar will moderate, Wilf Pinfold will be the scribe, and Andrew Chien will report out. Presentation: Back-end Reportout


  1. Programming productivity should not be compromised. Yet, expect Exascale hardware to be simpler than today for efficiency, potentially impacting programming productivity. What is your recommendation to tradeoff %-of productivity to %-of efficiency?
  2. Resiliency has become a popular buzz-word. Could the panel discuss and define the goals of a resilient Exascale system?
  3. Operating systems are bloated with unnecessary features, making them inefficient, and we have been relying more and more on nimble runtime systems. Should X-Stack take the route of extremely light-weight system software? Maybe even lighter than the runtime?