Programming Abstractions & Systems for Autonomous Vehicles
Sukrit Kalra
EECS Department, University of California, Berkeley
Technical Report No. UCB/EECS-2024-174
August 9, 2024
http://www2.eecs.berkeley.edu/Pubs/TechRpts/2024/EECS-2024-174.pdf
Autonomous Vehicles (AVs) have the potential to revolutionize transportation through their significant safety, environmental and mobility benefits. However, despite their benefits and significant investment spanning over a decade, AVs remain restricted to locations with favorable driving conditions, due to the complications arising from the long-tail of complex driving scenarios. Most research has sought to address this critical challenge through the design of robust algorithms and machine learning (ML) models that underpin the various decision making components of a modern AV computational pipeline. In contrast, there has been relatively little focus on the software systems that must orchestrate an efficient, real-time execution of these components on the AV’s constrained, heterogeneous hardware.
This dissertation examines the often-overlooked design of such software systems and presents a clean slate approach to developing AVs. We introduce D3, a novel programming model for AVs that enables the computation to proactively adjust to dynamically-varying deadlines and models missed deadlines as exceptions. We realize D3 in our open-source system, ERDOS, whose novel extensions to concepts from streaming data systems enable it to speculatively execute computation and enforce deadlines between an arbitrary set of events. ERDOS’s efficient execution of AV pipelines is further enabled by two key scheduling contributions of this dissertation: SuperServe and DAGSched. SuperServe unlocks a resource-efficient serving of the entire range of ML models spanning the latency-accuracy tradeoff space, enabling AV pipelines to quickly adjust to dynamically varying deadlines. In addition, DAGSched efficiently multiplexes the available compute resources in an AV amongst the decision making components, with an aim to maximize the ability of the AV pipeline to meet dynamically-varying deadlines. Finally, we address the crucial lack of AV benchmarks by providing the first completely open-source AV pipeline, Pylot, and use it to evaluate the positive effects of D3 and ERDOS on the driving safety of AVs. Together, these systems span the entire workflow of developing and evaluating AVs, and we believe are crucial to bridging the gap towards achieving “fully autonomous vehicles”.
Advisors: Ion Stoica
BibTeX citation:
@phdthesis{Kalra:EECS-2024-174, Author= {Kalra, Sukrit}, Title= {Programming Abstractions & Systems for Autonomous Vehicles}, School= {EECS Department, University of California, Berkeley}, Year= {2024}, Month= {Aug}, Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2024/EECS-2024-174.html}, Number= {UCB/EECS-2024-174}, Abstract= {Autonomous Vehicles (AVs) have the potential to revolutionize transportation through their significant safety, environmental and mobility benefits. However, despite their benefits and significant investment spanning over a decade, AVs remain restricted to locations with favorable driving conditions, due to the complications arising from the long-tail of complex driving scenarios. Most research has sought to address this critical challenge through the design of robust algorithms and machine learning (ML) models that underpin the various decision making components of a modern AV computational pipeline. In contrast, there has been relatively little focus on the software systems that must orchestrate an efficient, real-time execution of these components on the AV’s constrained, heterogeneous hardware. This dissertation examines the often-overlooked design of such software systems and presents a clean slate approach to developing AVs. We introduce D3, a novel programming model for AVs that enables the computation to proactively adjust to dynamically-varying deadlines and models missed deadlines as exceptions. We realize D3 in our open-source system, ERDOS, whose novel extensions to concepts from streaming data systems enable it to speculatively execute computation and enforce deadlines between an arbitrary set of events. ERDOS’s efficient execution of AV pipelines is further enabled by two key scheduling contributions of this dissertation: SuperServe and DAGSched. SuperServe unlocks a resource-efficient serving of the entire range of ML models spanning the latency-accuracy tradeoff space, enabling AV pipelines to quickly adjust to dynamically varying deadlines. In addition, DAGSched efficiently multiplexes the available compute resources in an AV amongst the decision making components, with an aim to maximize the ability of the AV pipeline to meet dynamically-varying deadlines. Finally, we address the crucial lack of AV benchmarks by providing the first completely open-source AV pipeline, Pylot, and use it to evaluate the positive effects of D3 and ERDOS on the driving safety of AVs. Together, these systems span the entire workflow of developing and evaluating AVs, and we believe are crucial to bridging the gap towards achieving “fully autonomous vehicles”.}, }
EndNote citation:
%0 Thesis %A Kalra, Sukrit %T Programming Abstractions & Systems for Autonomous Vehicles %I EECS Department, University of California, Berkeley %D 2024 %8 August 9 %@ UCB/EECS-2024-174 %U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2024/EECS-2024-174.html %F Kalra:EECS-2024-174