Matt Sinclair, an assistant professor at the University of Wisconsin-Madison Computer Sciences Department, is an advocate for open source project development. A native Wisconsinite, Sinclair was inspired to go into the field of computer science after taking AP Computer Science in high school. He was thrilled by the challenge provided by the class. Now a premier scholar in the field of computer architecture, Sinclair uses his expertise to study computer architecture, a constantly evolving field offering unique opportunities for both researchers and industry professionals.
Computer architecture is the study of computer systems. This research field dissects the interactions between all aspects of a computer, analyzing how hardware components like the CPU or GPU interact with the system’s stored data. Researchers like Sinclair work to optimize the interactions between these systems.
“We have been approaching a point where we’re becoming very power constrained. The United States’ power grid literally will not have enough power to run everything we need it to in the next few years” Sinclair said, describing the importance of his work, “My group works to maximize the performance of workloads with a smaller than ideal power budget.”
To design newer, stronger computer systems, Sinclair and his Heterogeneous Architectures Lab (HAL) rely on open source software. Sinclair’s biggest project right now is gem5, an open-source modeling program that simulates the interactions of parts within a constructed computer. People from around the world collaborate on this project, expanding on its code and increasing its accuracy.
The gem5 project is one of the most widely used computer simulators within both academic research and the computer industry. The open source nature of gem5 has kept the large-scale project advancing at a steady pace. Projects as large as gem5 would not be possible without support from open source code.
“When we get to this scale, collaboration is mandatory,” Sinclair explained.
Open source code and its collaborative nature have allowed Sinclair to focus his efforts on the memory optimization component. As he works on his portion, researchers from around the world can focus on their own areas of expertise. This development model ensures accuracy in every aspect of the simulation.
“The folks at AMD are experts in GPU design. The folks at Microsoft Research are experts in what we call an interconnect,” Sinclair said, “As we’re trying to build high fidelity, state of the art representative models, leveraging that expertise collectively allows us to make more progress.”
Working with such a large group of people has led to challenges, of course. Gem5’s main issue is one of long distance collaboration.
“Gem5 is a living piece of software. Earlier today, someone at a different lab made a change that broke the support in the middle of my homework assignment.”
Although it was a problem, Sinclair found that it was an easy fix. He and his collaborators have multiple methods of communication, allowing them to fix most problems in an efficient manner.
“We are going to meet at noon to figure it out,” the professor said, “My companions and I have a good relationship. This bug obviously wasn’t intentional- but working together helped us find it. Tackling those issues head on just leads to further advancements.”
After years of using it within his own research, Matt Sinclair has become a heavy advocate for the use of open source in all fields. Open source’s development model allows people from around the world to collaborate on a project, keeping things efficient. The world of computer science is particularly drawn to open source research. If researchers do not share their findings, then every new project will have to start from scratch.
“You know, I guess the phrase ‘it takes a village’ is an apt one here,” commented Sinclair on Open Source’s value, “If we did not share our research, we researchers would be stuck reinventing the wheel.”
Alongside his work on the gem5 project, Sinclair is a dedicated professor within the University of Wisconsin-Madison computer science department. He teaches multiple computer architecture classes, a department that has long relied on open source to progress its understanding of the field.
“The computer architecture faculty here at Wisconsin… They have a very long history of leading the efforts to develop open source tools.”
With that long history has come a heritage of excellence. Even during his undergraduate degree, open source software was being tested and created with the help of his predecessors. The research they performed was foundational to the work that Sinclair does. “The tools that have been developed here are used in somewhere between 20 and 30% of L papers that are published in our top tier conferences,” said Sinclair about his mentors. Their philosophy was one he brought with him into his PhD and subsequent research.
The field has become much more accessible since the time when Sinclair was in undergrad. Now, the only thing that can limit someone interested in open source is their motivation.
“If you’re a hobbyist who’s really motivated by something, now is a great time to get involved. There’s never been more resources, on or off campus, to enable that.”