Brandon M. Lucia [My CV]
Kavčić-Moura
Professor of ECE @ Carnegie Mellon University

Office: CIC 4114
Robert Mehrabian Collaborative Innovation Center (CIC)
4720 Forbes Avenue
Pittsburgh, PA 15213
Email: blucia [ at ] andrew [ dot ] cmu [ dot ] edu
science.
music.


Hello!
I am the CEO and co-Founder of Efficient Computer Company and a Full Professor in the department of electrical and computer engineering at Carnegie Mellon University. I do research on the boundary between computer architecture, computer systems, and programming languages.

I lead the abstract research group.

I am always looking for graduate students who are excited about computer architecture, systems, and programming languages research. Apply to CMU ECE if you are an inspired, curious person and we can work together!

Here are some of my current research interests:

Defining Intermittent Computing We need to make intermittent computing devices that harvest energy from their environment, programmable, reliable, and robust to common-case power failures. These devices are really exciting because they are a great fit for sensing, medical implants, "extreme" scenarios (like outer space!) and lots of other things. Watch this video for a 3 minute overview of our work on intermittent computing.

Safe & Efficient Computing at the Edge We need better software and architectures to make parallel computers correct and efficient. At the "edge", computers need to handle the landslide of sensor data that systems must constantly process. The constraints of the edge make the problem especially interesting. How do we efficiently process a graph with a hundred billion nodes on a single machine? How do we reliably process 16 4k video streams using a constellation of highly physically-constrained nanosatellites? Watch this video for a 3 minute overview of our work on edge computing in space!

If you found me here, ignore that webpage, which never gets updated.

I am blucia0a on Twitter and github

I made the Chango. Check it out.

I was interviewed by TheSetup and Popular Science.

Our work got written up in CACM: A Battery-free Internet of Things

I got the NSF CAREER Award in 2017, the IEEE TCCA Young Computer Architect Award in 2019, and the Sloan Foundation Fellowship in 2021.

🍔🍔🍔🍔🍔



Publications
My publications are available on Google Scholar and in the list below.

Secure and Encrypted Computing

Client-Optimized Algorithms and Acceleration for Encrypted Compute Offloading
🍦🌮
McKenzie van der Hagen and Brandon Lucia
ASPLOS 2022 [paper]

A 10.33 µJ/Encryption Homomorphic Encryption Engine in 28nm CMOS with 4096-Degree 109-Bit Polynomials for Resource-Constrained IoT Clients
Siddharth Das, McKenzie van der Hagen, Swarali Patil, Cagri Erbagci, Brandon Lucia, Ken Mai
ESSDERC/ESSCIRC 2024 [paper]

Orbital Edge Computing

EagleEye: Actuation-aware Scheduling for High-coverage High-resolution Satellite Imaging Constellations
Zhuo Cheng, Bradley Denby, Brandon LUcia
ASPLOS 2024 [paper]

Kodan: Addressing the Computational Bottleneck in Space
Bradley Denby, Krishna Chintalapudi, Ranveer Chandra, Brandon Lucia, Shadi Noghabi
ASPLOS 2023 [paper]

Tartan Artibeus: A Batteryless, Computational Satellite Research Platform
Bradley Denby, Emily Ruppel, Vaibhav Singh, Shize Che, Chad Taylor, Fayyaz Zaidi, Swarun Kumar, Zac Manchester, Brandon Lucia
36th Annual Small Satellite Conference (SmallSat) 2022 [paper]

Computer Architecture Research in Space
Brandon Lucia
ACM SIGARCH Blog [blog post]

Computational Nanosatellite Constellations: Opportunities and Challenges
Brandon Lucia, Bradley Denby, Zachary Manchester, Harsh Desai, Emily Ruppel, Alexei Colin
ACM GetMobile: Mobile Computing and Communications, Volume 25, Issue 1 [paper]

Orbital Edge Computing: Nanosatellite Constellations as a New Class of Computing System
Bradley Denby and Brandon Lucia
ASPLOS 2020 [paper][website][music (c/o nc)]
ASPLOS 2020 Best Paper Award

Orbital Edge Computing: Data Processing on Nanosatellites
Bradley Denby and Brandon Lucia
Computer Architecture Letters March 2019 [paper]
Selected for Best of CAL in 2019
Featured in IEEE Computer 2020.04 "Spotlight on Transactions"

Intermittent Computing

Energy-minimal Computer Architecture

MANIC: A 19 μW@4MHz, 256 MOPS/mW, RISC-V microcontroller with embedded MRAM main memory and vector-dataflow co-processor in 22nm bulk finFET CMOS
Graham Gobieski, Oguz Atli, Cagri Erbagci, Ken Mai, Nathan Beckmann, Brandon Lucia
ISCAS 2023 [paper]

Pipestitch: An Energy-Minimal Dataflow Architecture with Lightweight Threads
Nathan Serafin, Souradip Ghosh, Harsh Desai, Brandon Lucia, Nathan Beckmann
MICRO 2023 [paper]

RipTide: A programmable, energy-minimal dataflow compiler and architecture
Graham Gobieski, Souradip Ghosh, Tony Nowatzki, Todd C. Mowry, Nathan Beckmann, Brandon Lucia
MICRO 2022 []

SNAFU: An Ultra-low-power CGRA-generation Framework and Architecture
Graham Gobieski, Ahmet Oguz Atli, Kenneth Mai, Brandon Lucia, Nathan Beckmann
ISCA 2021 [paper]

The Role of Edge Offload for Hardware-Accelerated Mobile Devices
Mahadev Satyanarayanan, Nathan Beckmann, Grace A. Lewis, Brandon Lucia
HotMobile 2021 [paper ]

MANIC: An Energy-Efficient, Parallel Architecture for Ultra-Low-Power Embedded Systems
Graham Gobieski, Amolak Nagi, Nathan Serafin, Mehmet Meric Isgenc, Nathan Beckmann, and Brandon Lucia
MICRO 2019 [paper]
We taped out a MANIC [test chip]!

Architectures and Platforms for Intermittent Computing

A Hardware-Software Interface for Charge Management in Energy-Harvesting Systems
Emily Ruppel, Milijana Surbatovich, Harsh Desai, Kiwan Maeng, Brandon Lucia
MICRO 2022 []

Camaroptera: A Long-Range Image Sensor with Local Inference for Remote Sensing Applications
Harsh Desai, Matteo Nardello, Davide Brunelli, Brandon Lucia
IEEE Transactions on Embedded Computer Systems (TECS) [paper]

Power-aware Heterogeneous Architecture Scaling for Energy-harvesting computers
Harsh Desai and Brandon Lucia
Computer Architecture Letters 2020 [paper ]

Camaroptera: A Batteryless Long-Range Remote Visual Sensing System
Matteo Nardello, Harsh Desai, Davide Brunelli, Brandon Lucia
ENSsys 2019 [paper]

A Reconfigurable Energy Storage Architecture for Energy-harvesting Devices
Alexei Colin, Emily Ruppel, Brandon Lucia
ASPLOS 2018 [paper] ASPLOS 2018 Best Paper Award and IEEE MICRO Top Picks 2018 Honorable Mention

Software Systems and Programming Support for Intermittent Computing

A Type System for Safe Intermittent Computing
Milijana Surbatovich, Naomi Spargo, Limin Jia, Brandon Lucia
PLDI 2023 [paper]

Automatically Enforcing Freshness and Consistency of Inputs in Intermittent Systems
Milijana Surbatovich, Limin Jia, Brandon Lucia
PLDI 2021 [paper]

Toward a Formal Foundation for Intermittent Computing
Milijana Surbatovich, Brandon Lucia, and Limin Jia
OOPSLA 2020 [paper]

Adaptive Low-Overhead Scheduling for Periodic and Reactive Intermittent Execution
Kiwan Maeng and Brandon Lucia
PLDI 2020 [paper]

Dynamic Task-Based Intermittent Execution for Energy-Harvesting Devices
Amjad Yousef Majid, Carlo Delle Donne, Kiwan Maeng, Alexei Colin, Kasim Sinan Yldirim, Brandon Lucia, Przemełsaw Pawełczak
Transactions on Sensor Networks, January 2020 [paper]

Transactional Concurrency for Intermittent Systems
Emily Ruppel and Brandon Lucia
PLDI 2019 [paper][slides]

Supporting Peripherals in Intermittent Systems with Just-In-Time Checkpoints
Kiwan Maeng and Brandon Lucia
PLDI 2019 [paper][slides]

Intelligence Beyond the Edge: Inference on Intermittent Embedded Systems
Graham Gobieski, Brandon Lucia, and Nathan Beckmann
ASPLOS 2019 [paper][slides]

Adaptive Dynamic Checkpointing for Safe Efficient Intermittent Computing
Kiwan Maeng and Brandon Lucia
OSDI 2018 [paper][slides]

Intermittent Deep Neural Network Inference
Graham Gobieski, Nathan Beckmann, and Brandon Lucia
SysML 2018 [paper]

Alpaca: Intermittent Execution Without Checkpoints
Kiwan Maeng, Alexei Colin, Brandon Lucia
OOPSLA 2017 [paper]

Chain: Tasks and Channels for Reliable Intermittent Programs
Alexei Colin, Brandon Lucia
OOPSLA 2016 [paper] [ press:UPI, phys.org, Energy Daily, TechDotMatrix, The Green Optimistic ]

A Simpler, Safer Programming and Execution Model for Intermittent Systems
Brandon Lucia, Benjamin Ransford
PLDI 2015[paper][Try DINO!][video abstract]

Debugging and Toolchain Support for Intermittent Systems

I/O Dependent Idempotence Bugs in Intermittent Systems
Milijana Surbatovich, Limin Jia, and Brandon Lucia
OOPSLA 2019 [paper][slides]

Termination Checking and Task Decomposition for Task-Based Intermittent Programs
Alexei Colin and Brandon Lucia
CC 2018 [paper]

An Energy-Aware Debugger for Intermittently Powered Systems
Alexei Colin, Graham Harvey, Alanson Sample, Brandon Lucia
IEEE MICRO, 2017 vol. 37 - Top Picks in Computer Architecture [paper]

An Energy-interference-free Hardware/Software Debugger for Intermittent Energy-harvesting Systems
Alexei Colin, Graham Harvey, Brandon Lucia, Alanson Sample
ASPLOS 2016 [paper][slides][press: Eurekalert, phys.org, Wireless Design Mag, Weekly Hot News]
Selected as an IEEE Micro Top Picks 2016 Paper

Graph Processing and Machine Learning

Improving Locality of Irregular Updates with Hardware Assisted Propagation Blocking
Vignesh Balaji and Brandon Lucia
HPCA 2022 [paper][slides]

Understanding and Improving Failure Tolerant Training for Deep Learning Recommendation with Partial Recovery
Kiwan Maeng, Shivam Bharuka, Isabel Gao, Mark Jeffrey, Vikram Saraph, Bor-Yiing Su, Caroline Trippel, Jiyan Yang, Mike Rabbat, Brandon Lucia, Carole-Jean Wu
MLSys 2021 [paper][slides]

P-OPT: Practical Optimal Cache Replacement for Graph Structured Data
Vignesh Balaji, Neal Crago, Aamer Jaleel, Brandon Lucia
HPCA 2021 [paper][slides]

Combining Data Duplication and Graph Reordering to Accelerate Parallel Graph Processing
Vignesh Balaji and Brandon Lucia
HPDC 2019 [paper][slides]

When is Graph Reordering an Optimization?
Studying the effect of lightweight graph reordering across applications and input graphs
Vignesh Balaji and Brandon Lucia
IISWC 2018 [paper][slides] IISWC 2018 Best Paper Award

Parallel Memory Consistency Models

Architectural Support for Avoiding Failures with Fail-Stop Memory Consistency
Rui Zhang, Swarnendu Biswas, Vignesh Balaji, Michael Bond, Brandon Lucia
ASPLOS 2020 [paper]

CoNDA: Enabling Efficient Near-Data Accelerator Communication by Optimizing Data Movement
Amirali Boroumand, Saugata Ghose, Minesh Patel, Rachata Ausavarungnirun, Hasan Hassan, Brandon Lucia, Kevin Hsieh, Nastaran Hajinazar, Krishna T. Mallad, Hongzhong Zheng, Onur Mutlu
ISCA 2019 [paper]

Rethinking Support for Region Conflict Exceptions
Swarnendu Biswas, Rui Zhang, Michael Bond, Brandon Lucia
IPDPS 2019 [paper]

SOFRITAS: Serializable Ordering-Free Regions for Increasing Thread Atomicity Scalably
Christian Delozier, Ariel Eizenberg, Brandon Lucia, Joseph Devietti
ASPLOS 2018 [paper]

LazyPIM: An Efficient Cache Coherence Mechanism for Processing-in-Memory Amirali Boroumand, Saugata Ghose, Minesh Patel, Hasan Hassan, Kevin Hsieh, Brandon Lucia, Krishna Malladi, Hongzhong Zheng, and Onur Mutlu
Computer Architecture Letters, 2016.[paper]

Valor: Efficient, Software-Only Region Conflict Exceptions
Swarnendu Biswas, Minjia Zhang, Michael D. Bond, Brandon Lucia
OOPSLA 2015[paper][Try Valor!][ECE News][Lazowska-Net]
Awarded the OOPSLA'15 Distinguished Paper Award
Awarded the OOPSLA'15 Distinguished Artifact Award

Conflict Exceptions: Providing Simple Parallel Language Semantics with Precise Hardware Exceptions
Brandon Lucia, Luis Ceze, Karin Strauss, Shaz Qadeer, Hans Boehm
ISCA 2010[paper]

Concurrency Debugging and Failure Avoidance

Concurrency Debugging with Differential Schedule Projections
Nuno Machado, Daniel Quinta, Brandon Lucia, Luis Rodrigues
Transactions on Software Engineering and Methodology, Volume 25 Issue 2, April 2016, Article No. 14 [paper]

Production-guided Concurrency Debugging
Nuno Machado, Luis Rodrigues, Brandon Lucia
PPoPP 2016 [paper]

Concurrency Debugging with Differential Schedule Projections
Nuno Machado, Luis Rodrigues, Brandon Lucia
PLDI 2015[paper][Try Symbiosis!]

Data Provenance Tracking for Concurrent Programs
Brandon Lucia, Luis Ceze
CGO 2015[paper][Try LWS!][talk]

Cooperative Empirical Failure Avoidance for Multithreaded Programs
Brandon Lucia, Luis Ceze
ASPLOS 2013[paper][Try Aviso!]

IFRit: Interference-Free Regions for Dynamic Data-Race Detection
Laura Effinger-Dean, Brandon Lucia, Luis Ceze, Dan Grossman, Hans-J. Boehm
OOPSLA 2012[paper]

Isolating and Understanding Concurrency Errors Using Reconstructed Execution Fragments
Brandon Lucia, Benjamin P. Wood, Luis Ceze
PLDI 2011[paper][Try Recon!]
Acknowledgements to undergrads Julian Knutsen and Zach Rait for their early contributions to this project.

ColorSafe: Architectural Support for Debugging and Dynamically Avoiding Multi-variable Atomicity Violations
Brandon Lucia, Luis Ceze, Karin Strauss
ISCA 2010[paper]

Finding Concurrency Bugs with Context-Aware Communication Graphs
Brandon Lucia, Luis Ceze
MICRO 2009[paper]

DMP: Deterministic shared-memory MultiProcessing
Joseph Devietti, Brandon Lucia, Mark Oskin, Luis Ceze
ASPLOS 2009 [paper]
Selected for IEEE Micro Top Picks '10

Atom-Aid: Surviving and Detecting Atomicity Violations
Brandon Lucia, Joseph Devietti, Karin Strauss, Luis Ceze
ISCA 2008 [paper][slides(.key),(.ppt)]
Selected for IEEE Micro Top Picks '09

Vision/Position Papers

The Computing Landscape of the 21st Century
Mahadev Satyanarayanan, Wei Gao, Brandon Lucia
HotMobile 2019 [paper]

Inter-Disciplinary Research Challenges in Computer Systems for the 2020s
Albert Cohen, Xipeng Shen, Josep Torrellas, James Tuck, Yuanyuan Zhou, Sarita Adve, Ismail Akturk, Saurabh Bagchi, Rajeev Balasubramonian, Rajkishore Barik, Micah Beck, Ras Bodik, Ali Butt, Luis Ceze, Haibo Chen, Yiran Chen, Trishul Chilimbi, Mihai Christodorescu, John Criswell, Chen Ding, Yufei Ding, Sandhya Dwarkadas, Erik Elmroth, Phil Gibbons, Xiaochen Guo, Rajesh Gupta, Gernot Heiser, Hank Hoffman, Jian Huang, Hillery Hunter, John Kim, Sam King, James Larus, Chen Liu, Shan Lu, Brandon Lucia, Saeed Maleki, Somnath Mazumdar, Iulian Neamtiu, Keshav Pingali, Paolo Rech, Michael Scott, Yan Solihin, Dawn Song, Jakub Szefer, Dan Tsafrir, Bhuvan Urgaonkar, Marilyn Wolf, Yuan Xie, Jishen Zhao, Lin Zhong, and Yuhao Zhu
2018 National Science Foundation Technical Report.[paper]

Intermittent Computing: Challenges and Opportunities
Brandon Lucia, Vignesh Balaji, Alexei Colin, Kiwan Maeng, and Emily Ruppel
SNAPL 2017 [paper] [press:AXIOS]

Audio of gibberish produced by Mumbley based on a phoneme model of my papers.

Workshop Papers

Migratory Trash Clouds
Emily Ruppel, Alexei Colin, and Brandon Lucia
ASPLOS "Wild and Crazy Ideas" 2018 [paper][slides]

Non-volatile Memory is a Broken Time-machine
Benjamin Ransford and Brandon Lucia
Workshop on Memory Systems Performance and Correctness 2014 (co-located with PLDI 2014)[paper]

Systems Should Automatically Specialize Code and Data
Brandon Lucia and Todd Mytkowicz
Workshop on Probabilistic and Approximate Computing 2014 (co-located with PLDI) [paper]

Playing Cupid: The IDE as a Matchmaker for Plug-Ins
Todd Schiller and Brandon Lucia
Workshop on Developing Tools as Plug-ins 2012 (co-located with ICSE) [paper]

Automatic Empirical Failure Avoidance Support for Concurrent Software
Brandon Lucia Luis Ceze
Workshop on Determinism and Correctness in Parallel Programming (WoDET) 2012 (co-located with ASPLOS) [paper]

Greedy Coherence
Emily Fortuna, Brandon Lucia, Adrian Sampson, Benjamin P. Wood, Luis Ceze
Workshop on Hardware Support for Parallel Performance and Correctness 2011 (co-located with MICRO)[paper]

Hardware Watchmachines
Nicholas Hunt, Brandon Lucia, Luis Ceze
PLDI FIT 2011[paper]

Lock Prediction
Brandon Lucia, Joseph Devietti, Tom Bergan, Luis Ceze, Dan Grossman
Usenix HotPar 2010[paper]

The Case for System Support for Concurrency Exceptions
Luis Ceze, Joseph Devietti, Brandon Lucia, Shaz Qadeer
USENIX HotPar 2009[paper]

Explicitly Parallel Programming with Shared-Memory is Insane: At Least Make it Deterministic!
Joe Devietti, Brandon Lucia, Luis Ceze and Mark Oskin
Workshop on Software and Hardware Challenges of Manycore Platforms '08 [paper ]

PoCSci (Potentially Computer Science...)

The Barnyard of Pig Data Research: A View from UW CSA
Benjamin P. Wood, Brandon Lucia, Tom Bergan, Jacob Nelson, Adrian Sampson
UW PoCSci 2013 [paper]

Dissertation

I got my Ph.D. in Computer Science and Engineering from the University of Washington in 2013. I was advised by Luis Ceze. My Ph.D. dissertation is available here.



Things I Have Built

The best place to follow stuff I've built is on GitHub

Useful for Doing Computer Science Research

Recon: A Tool for Finding and Understanding Concurrency Errors.

Legerdemain (LDM): A program instrumentation and debugging tool for Linux.

DRProbe: A library for accessing the debug/watchpoint/breakpoint registers on x86/x86-64.Written with Nick HuntDRProbe is part of the Looking Within Project

MultiCacheSim: A really simple multiprocessor cache simulator based on the SESC cache model.

Concurrency Bug Benchmarks: A set of kernel microbenchmarks and full application benchmarks that I (and others) have used for doing concurrency bug research.

Miscellaneous Computer Science Related

Tips for building mspdebug with the tilib FET430 driver on OSX

Tips for building LLVM passes that work on old broken software. I want Google to index this so others can find it.

A plot characterizing the performance of the GCC-4.7 TM implementation(benchmark)

CList: A pure C implementation of a templated list class

Mon: A curses based POSIX Memory Anomaly Monitor

Music Related

For music, go here

Mahalo: A hardware abstract layer for mac to make it easy to make creative audio programming projects

PlayData - Chromatically and rhythmically interpret any file on your file system (try for i in $(HOME); do ./PlayData $i; done).

AndroChango - An Android app version of the PhotoChango.

PhotoChango - A computer vision based tool to audiolyze video in realtime.

Mumbley: A stupid program that generates semi-convincing gibberish using a Markov model of syllables based on wikipedia text.   Also: Mumbley-made gibberish derived from a phoneme model built from the contents of all my research papers.

Chango: A musical instrument.

Audiolyzer: A tool I wrote that generates music from concurrent programs, and a composition (program) intended to be played that way.

StreamThru: A script I wrote to listen to records in a different room. Streams audio-in over the network.

Carillon: An MP3 player for Windows.

ServeMp3: A cross-platform playlist based streaming MP3 server written in Perl.

Miscellaneous

Tupac your Stocks(Tony Fader made this, not me)

Acronymizer: A tool to make your paper shorter

ParticleSystem: A physics-ish based particle system

CheezePad: A Lightweight Formattable Text Editor