Author_Institution :
Dept. of Comput. Sci., Coll. of William & Mary, Williamsburg, VA
Abstract :
Summary form only given. Multicore processor technologies, which appear to dominate the processor design landscape, require a shift of paradigm in the development of programming models and supporting environments for scientific and engineering applications. System software for multicore processors needs to exploit fine-grain concurrent execution capabilities and cope with deep, non- uniform memory hierarchies. Software adaptation to multicore technologies needs to happen even as hardware platforms change underneath the software. Last but not least, due to the extremely high compute density of chip multiprocessing components, system software needs to increase its energy-awareness and treat energy and temperature distribution as first-class optimization targets. Unfortunately, energy awareness is most often at odds with high performance. In the first part of this talk, the author discusses some of the major challenges of software adaptation to multicore technologies and motivate the use of autonomic, self-optimizing system software, as a vehicle for both high performance portability and energy-efficient program execution. In the second part of the talk, the author presents ongoing research in runtime environments for dense parallel systems built from multicore and SMT components, and focus on two topics, polymorphic multithreading, and power-aware concurrency control with quality-of-service guarantees. In the same context, the author discusses enabling technologies for improved software autonomy via dynamic runtime optimization, including continuous hardware profilers, and online power-efficiency predictors
Keywords :
concurrency control; microprocessor chips; multi-threading; optimisation; parallel processing; software portability; systems software; SMT component; autonomic system software; chip multiprocessing component; continuous hardware profiler; dense parallel system; dynamic runtime optimization; energy awareness; energy-efficient program execution; hardware platform; high performance portability; multicore processor technology; online power-efficiency predictor; polymorphic multithreading; power-aware concurrency control; quality-of-service; self-optimizing system software; software autonomy; Application software; Design engineering; Distributed computing; Hardware; Multicore processing; Process design; Software performance; System software; Temperature distribution; Vehicles;