In computer science, we will focus on techniques that have immediate impact on applications
being developed for petascale machines now, as well as on techniques that will change the state
of the art for the future. Adaptive runtime systems (RTSs), including highly scalable dynamic
load balancing will be needed as the number of processors increase and applications become more
sophisticated, with adaptive techniques to handle evolving physical phenomena. New parallel
programming abstractions are necessary to broaden the user-base of parallel machines, and are
feasible as we better understand parallel programming and its usage patterns in CSE. With complex
machines with deep memory hierarchies, auto-tuning techniques for libraries are required. Finally,
to be able to debug and optimize applications at such a large scale, highly productive integrated
development environments (IDEs) are essential.
Novel Parallel Programming Languages
Performance Analysis and Debugging Tools