In this episode of the Computer Architecture Podcast, hosts Dr. Suvinay Subramanian and Dr. Lisa Hsu are joined by Professor Brandon Lucia from the Department of Electrical and Computer Engineering at Carnegie Mellon University. Professor Lucia is a distinguished researcher known for his significant contributions to enabling capable and reliable intermittent computing systems. His work spans the full hardware-software stack, from novel microarchitectures to programming models and tools, and he is a recipient of prestigious accolades including the IEEE TCCA Young Computer Architect Award and a Sloan Research Fellowship.
The discussion dives deep into the fascinating world of physically constrained computing systems. Professor Lucia shares his insights on the unique challenges and innovative solutions associated with designing systems that operate under extreme limitations, such as those with severely restricted energy, size, or computational resources. The conversation particularly focuses on two key areas: intermittent computing, where systems operate sporadically based on harvested energy, and orbital edge computing, which involves deploying computational capabilities on small satellites in space. Professor Lucia elaborates on how these constraints fundamentally alter design principles, pushing the boundaries of traditional computer architecture.
Chapters
01:08:11 — Welcoming Professor Brandon Lucia & What Gets Him Up in the Morning
02:02:698 — Navigating Research and Mentorship During the Pandemic
02:50:438 — Defining Physically Constrained Computing Systems
03:27:148 — Deep Dive into Intermittent and Orbital Edge Computing Constraints
05:48:58 — How Physically Constrained Systems Differ from Conventional Computing
06:07:788 — The "Energy First" Design Principle in Constrained Systems
07:45:598 — Challenges of Power and Computation in Orbital Satellite Systems
09:45:120 — Intersecting Energy Constraints with System Design and Specialization
11:12:80 — Specialization vs. General-Purpose Efficiency: The CGRA Approach
12:48:530 — The "Buck Knife and Duct Tape" Analogy: Designing for Extreme Constraints
13:36:332 — Handling Minimum Processing Requirements and Probabilistic Energy
15:02:670 — The Debug Cycle and Deployment Models for Satellite Systems
15:40:431 — Dynamic Software Updates and "Flat Sat" Testing for Orbital Systems
16:56:812 — Checkpointing and Recovery in Intermittent Systems: Challenges with Atomicity
19:50:262 — The Ideal vs. Current Debug Cycle and the Need for Better Energy Prediction Tools
21:49:303 — Professor Lucia's Career Trajectory: From PL to Building Real Systems
23:56:98 — Words of Wisdom: The Value of Naivete and Learning from Failure
25:34:321 — The Art of Teaching: Balancing Guidance with Letting Students "Bump Their Heads"
26:35:356 — Closing Remarks
Takeaways
Energy-First Design is Crucial: In physically constrained systems like intermittent and orbital computers, energy efficiency is paramount. Unlike traditional systems where performance might be the primary goal, here, if the system isn't extremely energy-efficient, the application simply will not work.
Predicting Energy Consumption is a Major Challenge: Accurately estimating the energy usage of code in these dynamic and constrained environments is incredibly difficult. Factors like microarchitectural state, environmental conditions, and peripheral activity make precise predictions nearly impossible, suggesting a need for probabilistic models and robust design.
System-Level Solutions are Key for Extreme Constraints: When dealing with severe physical limitations, effective solutions often go beyond microarchitectural tweaks. System-level design choices, such as employing distributed computing across multiple small satellites, become essential to overcome individual device limitations.
Debugging is "Punishing" but Evolving: The debug cycle for these systems is notoriously difficult. While current practices involve extensive benchtop testing (e.g., "flat sats") and then a degree of hope upon deployment, the field is moving towards more sophisticated approaches, including dynamic software updates for deployed systems.
Embrace Naivete and Build Real Things: Professor Lucia highlights the value of approaching new research areas with an open, "naive" mindset, being willing to make mistakes and learn from them. He also underscores the immense learning and satisfaction that comes from building and deploying real, tangible systems, even at a small scale.