[Seminar] DeNovo: A Software-Driven Rethinking of the Memory Hierarchy
IBM TJ Watson
■ 문의: 민상렬 교수(x7047, 880-7047)
As multicore systems become widespread, both software and hardware face a major challenge in efficiently exploiting and implementing parallelism. While shared-memory remains a popular programming model due to the global address space, it is plagued with undisciplined programming practices allowing implicit communication and unstructured non-determinism. Such “wild” shared-memory behavior not only makes it difficult to test and maintain software, but also complicates hardware, preventing it from scaling in a power-efficient manner. Recent research has proposed replacing the “wild” shared-memory programming models with a more disciplined approach. The DeNovo project asks the question: if software is more disciplined, can we build a more efficient memory hierarchy? Focusing on deterministic programs as a discipline to drive DeNovo, we first show that coherence and communication can be made much simpler and efficient than the current state-of-the-art. The resulting protocol is without transient states, invalidation traffic, directory sharer-lists, or false sharing – all significant sources of inefficiencies in existing protocol. Widening the software space further, we then show how DeNovo can support software with disciplined non-determinism without giving up its benefits for deterministic programs. Our software-driven approach does not stop there at simplifying coherence and consistency for deterministic and non-deterministic data accesses. We present a simple yet efficient hardware mechanism to support arbitrary synchronization, a big step towards our eventual goal of supporting legacy programs. In summary, DeNovo shows the potential for comprehensive and commercially viable shared-memory systems with higher complexity, performance, and energy-efficiency than today’s software-oblivious hardware.
Hyojin Sung is a research staff member at IBM TJ Watson research center. Her research interests are computer architecture, parallel computing, and compiler/runtime technologies. She received the Ph.D. in computer science from Illinois in 2015. She earned her bachelor’s in literature and computer science from Seoul National University and the M.S. in computer science from UC San Diego. She is a recipient of W.J. Poppelbaum memorial award in 2014 and a two time winner of the Feng Chen memorial award. Her research publications include a best paper awardee and a selection to Micro Top Picks journal.