Enabling Java for high-performance computing

Thilo Kielmann, Philip J. Hatcher, Luc Bougé, Henri E. Bal · Communications of the ACM · 2001

This article focuses on the use of aspect-oriented programming to improve operating system structure modularity. The authors say that key elements of operating systems crosscuts, their implementation is inherently coupled with several layers of the system. Prefetching is a crucial architectural performance optimization that amortizes the cost of going to disk by predicting and retrieving additional data with each explicit disk request. In a traditional operating system implementation, small clusters of customized prefetching code appear at both high and low levels along most execution paths that involve going to the disk. This makes prefetching difficult to reason about and change and interferes with the clarity of the primary functionality within which prefetching is embedded. Key to structuring the crosscutting implementation of prefetching is the ability to capture dynamic execution context with the control flow mechanism. Control flow supports the coordination of high-level and low-level prefetching activity along an execution path by exposing specific high-level context, such as function calls and parameters, to lower-level advice.

Read the paper · More papers on PaperTik