‹Programming› 2019
Mon 1 - Thu 4 April 2019 Genoa, Italy
Tue 2 Apr 2019 12:00 - 12:30 at Michelangelo - Implementation Aspects Chair(s): Edd Barrett

The emphasis on energy efficient computing is steering hardware towards greater heterogeneity. Software must take advantage of emerging heterogeneous hardware to optimize for performance and efficiency. A question that arises is what is the right software layer to abstract the complexity of heterogeneous hardware?

Historically, the operating system (OS) is the first choice to abstract new hardware features. This benefits programmers, virtual machine developers, and language implementers, who do not need to worry about hardware details. On the other hand, the upper layers of the software stack, especially the language runtimes contain rich semantic information about user applications, unavailable to the OS. This information can be useful in better managing hardware. The drawback is that it requires changes to the runtime which makes hardware vendors depend on runtime developers. This paper discusses two case studies that show exposing hardware details to the Java runtime improves key evaluation metrics for popular Java applications. We further discuss implications for implementation complexity, programming model, and the necessary hardware and OS support.

Shoaib Akram is a Ph.D. candidate at Ghent University in Belgium. He has an M.S. in Electrical and Computer Engineering from the University of Illinois at Urbana-Champaign and a B.S. in Electrical Engineering from the University of Engineering and Technology in Pakistan. His research focuses on the intersection of programming languages, system software, and computer architecture. His current research investigates software approaches to ease the adoption of emerging memory technologies. His recent research also explores the potential of language runtimes in abstracting the complexity of heterogeneous hardware.

Tue 2 Apr
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

11:00 - 12:30: Implementation AspectsMoreVMs at Michelangelo
Chair(s): Edd BarrettKing's College London
11:00 - 11:30
Efficient Implementation of Smalltalk Activation Records in Language Implementation Frameworks
Fabio NiephausHasso Plattner Institute, University of Potsdam, Tim FelgentreffOracle Labs, Potsdam, Tobias PapeHasso Plattner Institute, Germany, Robert HirschfeldHasso-Plattner-Institut (HPI), Germany
DOI Pre-print
11:30 - 12:00
Optimization Coaching for Fork/Join Applications on the Java Virtual Machine
Eduardo RosalesUniversity of Lugano, Switzerland, Andrea RosàUniversity of Lugano, Switzerland, Walter BinderUniversity of Lugano, Switzerland
12:00 - 12:30
To expose, or not to expose, hardware heterogeneity to runtimes!
Shoaib AkramGhent University