Professor of Computer Science
Associate Vice Chancellor for Research
5163 Harold Frank Hall
Hi! I am a Professor in the Department of Computer Science at UC Santa Barbara, a member of the Computer Engineering Program, and hold a courtesy appointment in Electrical and Computer Engineering department. In addition to my responsibilities in Engineering (which includes running many ongoing funded research projects through the ArchLab), I have served since 2016 as the UCSB Associate Vice Chancellor for Research and since 2014 as a co-founder to Tortuga Logic. Before joining UCSB in 2003, I received my B.S from UC Davis (1998) and my M.S. and Ph.D. from UC San Diego (2003) working with Professor Brad Calder.
UC Santa Barbara is an amazing place to work and live. I have been fortunate enough to find amazing students and collaborators here over the years eager to explore new ideas. Together we have done work engineering computers for places where security and correctness are absolutely critical; finding new ways for hand drawn sketches to be used as a mode of interaction with computers; probing the ability for new technologies such as plasmonics and 3D integration to be used to build faster, lower energy, and more secure computing; and supporting new models of computation from cryptography, to bioinformatics, to machine learning from algorithms, to system software, to hardware. I am driven by a desire to understand the nature of computation better and support the next generation with the faster, more energy efficient, and more trustworthy machines they deserve. I hope you will consider joining us!
The UCSB CS Computer Architecture Lab (ArchLab) is where my students and I work on all manner of computer science and engineering problems from the perspective of how we better "shape" computers to address our needs (e.g. to be more secure or amenable to machine learning). Computer architecture is a great field where creative thinking and careful software engineering meet crazy new hardware, surprising new algorithms, and complex new challenges. I try to keep our lab to a reasonable size so Ph.D. students get significant time directly with me one-on-one. I also try to keep a great mix of people with backgrounds and interests ranging from physics, to algorithms, to neuroscience, to hardware design, to human computer interferences. I do this because surrounding yourself with a diverse and capable pool of peers is one of the best ways to really learn and because it is a lot of fun that way. While my students and I all bring a variety of perspectives and experiences to the lab, we are also united in a common goal of doing groundbreaking and thought provoking architecture work that will help lay a foundation for the future of computing. If you are a perspective student or researcher I encourage you to consider joining us.
While the above might sound like a messy mix of things (and there is some truth to that), there is some method to the madness. The awards below are listed to provide some evidence of amazing people I have had the pleasure of working with in the past including graduate students, teaching assistants, and collaborators.
IEEE Micro Top Pick: Joseph McMahan, Michael Christensen, Lawton Nichols, Jared Roesch, Sung-Yee Guo, Ben Hardekopf, and Timothy Sherwood. An Architecture for Analysis, IEEE Micro: Micro's Top Picks from Computer Architecture Conferences, January-February 2018.
IEEE Micro Top Pick: Weilong Cui and Timothy Sherwood. Architectural Risk, IEEE Micro: Micro's Top Picks from Computer Architecture Conferences, January-February 2018.
Chair's Choice Best Paper Award: Heba Saadeldeen, Zhaoxia Deng, Timothy Sherwood, and Fred Chong. Thermal-Aware, Heterogeneous Materials for Improved Energy and Reliability in 3D PCM Architectures, International Symposium on Memory Systems (MEMSYS). October 2017
ASPLOS Most Influential Paper Award "Automatically Characterizing Large Scale Program Behavior" (aka SimPoint), Timothy Sherwood, Erez Perelman, Greg Hamerly, Brad Calder from ASPLOS 2002. Awarded April 2017.
Maurice Wilkes Award "for contributions to novel program analysis advancing architectural modeling and security". This annual award acknowledges an outstanding contribution to computer architecture made by an individual in the first 20 years of their career.
IEEE Micro Top Pick: Advait Madhavan, Timothy Sherwood, and Dmitri Strukov. Abusing Hardware Race Conditions to do Useful Computation, IEEE Micro: Micro's Top Picks from Computer Architecture Conferences, January-February 2015.
Honorable Mention for IEEE Micro Top Pick: Xun Li, Vineeth Kashyap, Jason Oberg, Mohit Tiwari, Vasanth Rajarathinam, Ryan Kastner, Timothy Sherwood, Ben Hardekopf, and Frederic Chong. Sapper: A Language for Hardware-Level Security Policy Enforcement, Named as Honorable Mention in IEEE Micro's Top Picks from Computer Architecture Conferences January-February 2015.
IEEE Micro Top Pick: Hassan Wassel, Ying Gao, Jason Oberg, Ted Huffmire, Ryan Kastner, Frederic Chong, and Timothy Sherwood. Networks-On-Chip with Provable Security Properties, IEEE Micro: Micro's Top Picks from Computer Architecture Conferences, January-February 2014.
Most Promising Paper Award: Hebatallah Saadeldeen, Diana Franklin, Guoping Long, Charlotte Hill, Aisha Browne, Dmitri Strukov, Timothy Sherwood, and Frederic Chong. Memristors for Neural Branch Prediction: A Case Study in Strict Latency and Write Endurance Challenge ACM International Conference On Computing Frontiers. May 2013, Ischia Italy.
IEEE Micro Top Pick: Jonathan Valamehr, Melissa Chase, Seny Kamara, Andrew Putnam, Dan Shumow, Vinod Vaikuntanathan, and Timothy Sherwood. Inspection Resistant Memory Architectures, IEEE Micro: Micro's Top Picks from Computer Architecture Conferences, January-February 2013.
UCSB Academic Senate Distinguished Teaching Award. This is a campus-level award given to faculty who have successfully united teaching and research and can only be won once in a career. Awarded April 2012.
IEEE Micro Top Pick: Mohit Tiwari, Xun Li, Hassan Wassel, Bita Mazloom, Shashidhar Mysore, Frederic Chong, and Timothy Sherwood. Tracking Information Flow at the Gate-Level for Secure Architectures, IEEE Micro: Micro's Top Picks from Computer Architecture Conferences January-February 2010.
Best Paper Award: Mohit Tiwari, Shashidhar Mysore, Timothy Sherwood Quantifying the Potential for Program Analysis Peripherals Parallel Architecture and Compiler Techniques (PACT), Sept 2009. Raleigh, NC
UCSB Outstanding Organization Adivsor Award. Campus-level award, as nominated by the students, for work with the UCSB Student Chapter of the ACM. Awarded 2009
Northrop Grumman Excellence in Teaching Award. This is a college-level award given to young faculty for teaching, mentoring, and service. Awarded June 2008
IEEE Micro Top Pick: Shashidhar Mysore, Banit Agrawal, Sheng-Chih Lin, Navin Srivastava, Kaustav Banerjee and Timothy Sherwood. 3D-Integration for Introspection, IEEE Micro: Micro's Top Picks from Computer Architecture Conferences January-February 2007.
Nominated for Best Paper: Banit Agrawal and Timothy Sherwood. Virtually Pipelined Network Memory, Proceedings of the International Symposium on Microarchitecture (Micro), December 2006. Orlando, FL
Best Paper Award: Shashidhar Mysore, Banit Agrawal, Timothy Sherwood, Nisheeth Shrivastava, and Subhash Suri. Profiling over Adaptive Ranges. Proceedings of the International Symposium on Code Generation and Optimization (CGO'06) March 2006. New York, New York.
IEEE Micro Top Pick: Lin Tan and Timothy Sherwood. Architectures for Bit-Split String Scanning in Intrusion Detection IEEE Micro: Micro's Top Picks from Computer Architecture Conferences, January-February 2006.
IEEE Micro Top Pick: Timothy Sherwood, Erez Perelman, Greg Hamerly, Suleyman Sair, and Brad Calder. Discovering and Exploiting Program Phases. IEEE Micro: Micro's Top Picks from Computer Architecture Conferences November-December 2003.
Georgios Tzimpragos, Advait Madhavan, Dilip Vasudevan, Dmitri Strukov, and Timothy Sherwood. Boosted Race Trees for Low Energy Classification Proceedings of the 24th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) April 2019. Providence, RI
Deeksha Dangwal, Weilong Cui, Joseph McMahan, and Timothy Sherwood. Safer Program Behavior Sharing Through Trace Wringing Proceedings of the 24th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) April 2019. Providence, RI
Weilong Cui, Yongshan Ding, Deeksha Dangwal, Adam Holmes, Joseph McMahan, Ali JavadiAbhari, Georgios Tzimpragos, Frederic T. Chong, and Timothy Sherwood. Charm: A Language for Closed-form High-level Architecture Modeling Proceedings of the International Symposium of Computer Architecture. (ISCA) June 2018. Los Angeles, Minnesota
Joseph McMahan, Michael Christensen, Lawton Nichols, Jared Roesch, Sung-Yee Guo, Ben Hardekopf, and Timothy Sherwood. An Architecture Supporting Formal and Compositional Binary Analysis Proceedings of the 22th International Conference on Architectural Support for Programming Languages and Operating Systems(ASPLOS), March 2017. Xian, China
Nestan Tsiskaridze, Lucas Bang, Joseph McMahan, Tevfik Bultan, and Timothy Sherwood. Information Leakage in Arbiter Protocols Proceedings of the International Symposium on Automated Technology for Verification and Analysis (ATVA) October 2018. Los Angeles, CA
CS160: Translation of Programming Languages
Study of the structure of compilers. Topics include: lexical analysis; syntax analysis and parsers; type checking; run-time environments; intermediate code generation; and compiler-construction tools.
CS154: Computer Architecture
The course gives an in-depth understanding of the inner-workings of modern digital computer systems and tradeoffs present at the hardware-software interface. Computer architecture is driven from the software side by user needs in terms of functionality and performance and from the hardware side by technological innovations and constraints. CS 154 introduces students to this exciting field, including the design process, performance and cost analysis, computer arithmetic, controller and data path design, input/output systems, interrupts and exceptions, pipelining and parallelism.
CS254: Advanced Computer Architecture
This class will cover many of the important aspects of modern computer architectures (how do modern caches really work, predicting future execution, techniques for speculation and instruction level parallelism) and will explore the relationship between computer architecture and other areas such as machine learning and optimization.
The capstone course sequence presents an opportunity to develop innovative solutions to real industry problems. You won't find answers to these problems in a textbook, on a message board, or in off-the-shelf software package -- because students in this class are among the first ever to be able to solve them. Working together with industry leaders, student teams take on the most challenging problems of the day with technological innovation, creativity, and boatloads of hard work. The capstone course sequence is offered over 2 quarters at UCSB with Capstone projects presented to public during the UCSB CS Summit