We’re looking for a postdoc to fill this position! Application links coming soon.
The past decades have seen enormous improvement in computer systems’ performance. This performance improvement has come from all levels of the computing stack including improved transistor devices, computer architecture, and algorithms. In this project, you will investigate the relative impact of each of these components of the computing stack. The aim is to answer the question: how much improvement has come from improved algorithms, from improvements to devices, and how much improvement has come from the computer architecture—the focus of this project. Using cycle-level simulation, we will be able to control for algorithmic improvement and device improvement to deeply investigate the architecture component.
In this project, you will first validate that cycle-level simulation can accurately model historic computing systems. You will develop and parameterize open-source models in the gem5 simulator system (gem5.org). This part of the project will also involve selecting and preparing a suite of workloads to use for testing and a set of historical computing system for validation. Second, you will select a set of representative algorithms used across a wide range of domains and time periods to investigate the performance improvements of these algorithms on different computing systems. You will then run these algorithms on top of your validated models to discover the impact of architectural improvements.
This project is a collaboration between Dr. Neil Thompson, Director of the MIT FutureTech Research Project, and Professor Jason Lowe-Power, lead PI of UC Davis Computer Architecture Research Group. This position will involve appointments at both MIT and UC Davis. Working location can be MIT or UC Davis. You will be advised by both Professor Lowe-Power and Dr. Thompson and have to opportunity to mentor undergraduate, masters, and PhD students at UC Davis.
REQUIRED: a Ph.D. in computer science or a related field, ideally with a background that includes one or more subfields of computer architecture or computer engineering; experience with computer architecture simulation; English language proficiency; excellent software engineering and communication skills; and self-motivation. DESIRABLE: experience with the gem5 simulator, prior contributions to open-source software.
Validating that cycle-level simulation can be used to model historic computer systems
The project aims to investigate whether cycle-level computer architecture simulators can be used to accurately model historic computer systems. The research will involve using the gem5 simulator (gem5.org) and selecting a range of historic computer systems to test. The systems chosen will likely span a range of technology generations and architectures. The research team will then add new system models to gem5 for the chosen systems and compare the simulation results to the known behavior of the actual systems. This will involve running a range of tests and benchmarks on both the simulated and real systems to determine the level of accuracy achieved by the simulator. The project will also consider the limitations of using simulators to model historic systems and explore potential ways to improve the accuracy of the gem5 simulator.
All models will be released as open-source extensions to the gem5 standard library, and the results will be publicized to the computer systems community (e.g., through pre-prints and on the gem5 website).
Cycle-level computer architecture simulation has been a vital tool for computer system evaluation. However, there are few studies which have analyzed the accuracy of full system simulation across a variety of different systems. Recently, the most popular simulation software, gem5, released the “gem5 standard library” which enables standardized “boards” to be defined. Part of the goal of this project is to create a suite of “known-good” boards which accurately model specific real-world systems. The boards will be made available as open-source artifacts and their accuracy will be documented.
In addition to developing known-good boards to model hardware systems, this project will also involve selecting and preparing a suite of workloads to test the accuracy of the boards and to help tune the accuracy of the boards. These workloads will also be made available as open-source artifacts and used during gem5 regression testing.
Investigating architectural improvements
This project will use the validated models developed and a set of representative algorithms to investigate the impact of architectural improvements while keeping the technology and algorithm constant. The research will involve selecting representative algorithms from a variety of computational disciplines. With these resources, we will be able to ask the question “What would the performance be if we ran an algorithm discovered in 2020 on a computer system from 1990?” Or “Keeping the frequency constant, how much performance improvement was there for some algorithm between an architecture from 1990 and an architecture in 2010?”
It is well known that much of the improvements in our computing systems over the past decades have come from technology improvements (e.g., more, faster, and energy efficient transistors), and that there is significant room “at the top” for further performance improvement. However, there has not been a systematic study of how much of the performance improvement in the past has come from the systems’ architecture compared to the underlying technology since all real hardware is a function of both the technology and the architecture. This project is a unique opportunity to tease apart these two components and can lead to discovering potential future opportunities and limits of computer system performance.
About MIT Computer Science and Artificial Intelligence Lab (CSAIL)
CSAIL is one of the world’s top research centers for computer science and artificial intelligence (currently ranked #1). It has hosted 9 Turing awards winners (the “Nobel Prize of Computing”) and has pioneered many of the technologies that underpin computing.
About UC Davis
The University of California, Davis (UC Davis) is committed to inclusive excellence by advancing equity, diversity and inclusion in all that we do. UC Davis celebrates the multi-cultural diversity of its community by creating a welcoming and inclusive environment demonstrated through a variety of resources and programs available to academics, staff, and students. Diversity, equity, inclusion, and belonging are core values of UC Davis that are embedded within our Principles of Community and are tied with how to best serve our student population. Our excellence in research, teaching, and service can best be fully realized by members of our academic community who share our commitment to these values, which are included in our Diversity and Inclusion Strategic Vision, our strategic plan: “To Boldly Go”, our Principles of Community, the Office of Academic Affairs’ Mission Statement, and the UC Board of Regents Policy 4400: Policy on University of California Diversity Statement. UC Davis is making important progress towards our goal of achieving federal designation as a Hispanic-Serving Institution and an Asian American, Native American, and Pacific Islander-Serving Institution. The Office of Diversity, Equity, and Inclusion offers a plethora of resources on their website, and the Office of Health Equity, Diversity, and Inclusion (HEDI) has outlined similar goals in their Anti-Racism and DEI Action Plan. There are a plethora of links available on the About Us webpage where you can learn more about our Administration, Diversity and Inclusion, Rankings, Locations, Native American Land Acknowledgement, Sustainability, Visiting UC Davis, UC Davis Health, and Campus Safety.
The gem5 simulator is open-source software used in computer system research to evaluate novel hardware designs. It provides a robust API for researchers to modify and extend current models, and has enough fidelity to boot Linux and run unmodified applications. It is frequently used in academia with over 5260 citations and industry including at Google, AMD, Arm, Samsung, Rivos, and many others. The gem5 project has a vibrant community with over 200 unique contributors and over 7000 commits in the last 5 years. The gem5 project is primarily supported by the UC Davis Computer Architecture Research Group through research grants.