Résumé
So far, the relentless scaling of CMOS technology has been the primary driver behind the increase in computational efficiency over the last decades. Transistor density has essentially doubled every two years, a trend known as Moore’s Law. However, as CMOS scaling approaches fundamental limitations, there is a desperate need for new paradigms to continue advancing computational efficiency. I believe that a significant amount of optimization potential remains hidden within the design abstractions developed during Moore’s Law era.In my research, I am contributing to the effort of revisiting computational abstractions from two different fronts. Depending on the purpose of the targeted computation, I differentiate between (1) domain-specific computing and (2) general-purpose computing. Domain-specific computing covers a narrow functionality within a particular application domain, in my case, machine learning. Domain-specific computing is more amenable to complete vertical integration, allowing optimization across the main design abstractions: from the application down to the device layer. In contrast, general-purpose computing has become so complex that such a complete refactorization seems unrealistic. To increase the efficiency of general-purpose computing, I focus on data storage and movement, fundamental bottleneck in modern computing systems affecting performance, energy efficiency, and security. By narrowing the focus to the memory system architecture, I explore optimization opportunities across neighboring abstractions, including the run-time, architecture, and device layers.In this document, I describe my past and current research activities within the context of sustainable computing systems, and I also discuss future prospects and research challenges.