These are exciting times for the field of computer architecture. This blog is meant to be the place for all things computer architecture. Before we can talk about all the exciting activity, we have to get something out of the way.
What is Computer Architecture?
Computer architecture can mean different things to different people. For this blog we take a “big tent” approach with a broad definition of computer architecture. Fundamentally, it is the art and science of designing computer systems (including hardware and software) to satisfy society’s insatiable appetite for computational resources. I like to use the tagline “from sub-atomic particles to data centers” to capture the many orders of magnitude in scale (~20) that influence (and are influenced by) computer architecture. Emerging technologies can create computational and storage elements with sub-nanometer dimensions, cloud computing requires reasoning about systems with hundreds of thousands of computational resources in a data center, and individual chips contain almost 10 billion transistors. Exploiting the opportunities and/or addressing challenges within and across these scales is an important aspect of computer architecture. Furthermore, application and system software (broadly defined) are intimately tied to computer system design in a symbiotic relationship. New applications/software inspires new hardware and new hardware enables new applications or systems software capabilities. However, the choice between maintaining or breaking existing abstractions creates tension in computer system design. Computer architecture guides the decision process by considering technology advances/limitations and software/application demands.
Why a SIGARCH Blog?
Now that we have that out of the way, we can get down to business. The mission of this blog is to inform the broad computing community about current activities, advances and future directions in computer architecture. This is particularly important today given the slowing of silicon scaling and increasing development of end-to-end solutions with specialized architectures (such as Google’s Tensor Processing Unit, Microsoft’s Holographic Processing Unit, etc.). As the computing world confronts this new dynamic, this blog seeks to provide a forum that brings together individuals, not just from computer architecture, but from all areas of computer science and engineering for discussion, debate, and education.
The blog will take an informal form with mostly technical content, but will also serve as a forum to discuss and debate everything about our community (e.g., issues/differences between industry and academia, review process, etc.). We plan to have posts in many different forms: summaries of interesting work, vision statements about where the field may be headed, re-posts from other blogs, debates, interviews, industry trends, rants, and whatever other form contributors find most compelling to deliver their message.
I have assembled a set of regular contributors (and continue to recruit individuals) to provide perspectives on computer architecture from within the community and from the viewpoint of some neighboring fields. Topics currently include, but are not limited to:
- general computer architecture (processor design, memory hierarchies, interconnection networks, etc.)
- emerging technology
- operating systems and distributed systems
- compilers and programming languages
- industry trends and happenings
Who is on the Blog Roll?
I want to take this opportunity to thank the regular contributors for taking time to share their opinions and perspective on things related to computer architecture, and Jayneel Gandhi for helping me out with various editorial aspects. The current (and expanding) list of contributors is below.
- Reetuparna Das (U. Michigan)
- Srilatha Manne (Cavium)
- Keshav Pingali (U. Texas)
- Jignesh Patel (U. Wisconsin)
- Simha Sethumadhavan (Columbia)
- Mark Silberstein (Technion)
- Steve Swanson (UCSD)
- Mike Taylor (UCSD)
- T. N. Vijakumar (Purdue)
- Tilman Wolf (U. Mass)
- Yuan Xie (UCSB)
- Mark Hill (U. Wisconsin..occasional re-posts from the CCC blog)
How can You Contribute?
In addition to the regular contributors, individuals can write guest posts. If you would like to contribute to Computer Architecture Today, please let us know by filling out the short form on this page, where it says “Contribute to Computer Architecture Today”. Be sure to indicate what topic you would like to write about and include contact information.
Who am I?
For those of you that don’t know me, I’m a Professor at Duke University–since 1996. Throughout my career I’ve participated in a variety of research activities across the entire computing stack. I agreed to serve as the inaugural editor of this blog because I believe that effectively communicating the breadth and depth of computer architecture as a discipline and as a way of thinking are integral to continued advances in the broad computing field. Furthermore, I think it is critical to incorporate knowledge from all areas and think about computing in a holistic manner to make significant advances. That said, you won’t see many posts from me. This is a forum for voices from the broad community, not the opinions of a single person.