Computer architecture is an important and exciting field of computer science, which enables many other fields (eg. big-data processing, machine learning, quantum computing, and so on). For those of us who pursued computer architecture as a career, this is well understood. However, we often hear anecdotes that the number of prospective graduate students applying to computer architecture/systems is small and shrinking. Why is that? Should we be alarmed as a community? What are some ways to address the perception and the resulting reality? Below we present some thoughts on the why and one solution to address the issue.
Lack of Exposure
In most curriculums, undergrad students do not have much exposure to computer architecture. Not all computer science degree programs offer computer architecture classes to undergrads, and ones that do, may offer it as one of many electives. Naturally, this results in a paucity of knowledge when applying to graduate schools. Outreach to undergrads, when they’re deciding whether to go to grad school and in what subject can help to attract more students to the field. Demonstrating to undergrads that architecture is a broad field that interplay with other fields is important.
Although at graduate-level, architecture classes cover interesting cutting-edge research, materials taught to undergrads in computer architecture courses, pedagogically are detached from cutting-edge research (eg. a focus on RISC vs CISC). In contrast, in compiler or ML undergraduate classes, students can both learn the fundamentals and also use tools which encapsulate cutting-edge research.
Lack of Democratization
Communities in other fields have made a substantial effort towards “democratization,” where tools are not just made open source, but also accessible to everyone. For example, the existence and support of open-source frameworks such as LLVM or Tensorflow/Pytorch are an attractive element to many newcomers. This is arguably a fundamentally hard problem for computer architecture, but efforts towards open source hardware (eg. RISCV) and accessible, well-supported simulators (eg. gem5) are baby steps towards this goal.
Lack of Diversity
Computer science in general, and computer architecture in particular have been suffering from a lack of gender and racial diversity. This is problematic for many reasons, one of them being a missed opportunity to attract talented students that might have been otherwise interested. The best students have a choice of what and where to study (if they even pursue graduate school instead of diving into the industry), and the perception of how well they might fit in or be welcomed can be a deciding factor.
The Elephant in the Room (Machine Learning)
Finally, as to why students are bypassing computer architecture, the elephant in the room is Machine Learning. ML and deep learning innovations are constantly in the news. There is a perception of high growth opportunity and significant monetary rewards in the ML field. The rate of publication in ML area has already surpassed Moore’s law. This can be partially attributed to more researchers in the field and the fast turn-around time for publications. However, what many younger students may not understand is the tight coupling between computer architecture and machine learning.
Our position: if we want our community to thrive for the coming generations, these are issues that our community should actively address.
Undergraduate Outreach and the uArch Workshop
To address some of the issues mentioned above, we are organizing the first Undergrad Architect Workshop (uArch) at ISCA ‘19. uArch aims to expose late-stage undergraduate students and early-stage graduate students to cutting-edge research and career opportunities in Computer Architecture. The program will include the following:
- Technical sessions that cover past, current and future research directions in computer architecture
- Mentoring sessions that address how to be successful at graduate school and how to navigate the architecture research landscape effectively
- Networking sessions that create opportunities for students to interact with graduate students and established architects in academia and industry.
If you’d like to join us, here are some ways you can get involved below:
– Sponsor uArch: We are looking for sponsors to subsidize student participation in our workshop. If you can help us secure funding for the workshop, please contact us!
– Mentor students: If you are going to be at ISCA and would like to mentor students, please let us know.
– Encourage submissions: Please encourage students to submit to our workshop. We will do our best to cover travel and attendance for a subset of students; however, we cannot cover everyone. Therefore, getting faculty, universities or companies to sponsor students would be highly beneficial.
– Feedback: If you have any ideas on how to improve uArch, please reach out to us!
– Contact: firstname.lastname@example.org
About the Authors: Newsha Ardalani is a Research Scientist at Baidu AI Lab. Her current work focuses on hardware/software co-design for extremely large-scale deep learning training. Lena Olson is a Software Engineer at Google.
Disclaimer: Newsha is a Research Scientist at Baidu and Lena is a Software Engineer at Google. This post reflects their own opinions and does not represent Google’s or Baidu’s positions, strategies or opinions. Links to third party sites are provided for convenience and unless explicitly stated, Google and Baidu are not responsible for the contents of such linked sites and no endorsement is implied. These posts are written by individual contributors to share their thoughts on the Computer Architecture Today blog for the benefit of the community. Any views or opinions represented in this blog are personal, belong solely to the blog author and do not represent those of ACM SIGARCH or its parent organization, ACM.