  Connected and autonomous vehicles (CAVs) have recently attracted a
significant amount of attention both from researchers and industry. Numerous
studies targeting algorithms, software frameworks, and applications on the CAVs
scenario have emerged. Meanwhile, several pioneer efforts have focused on the
edge computing system and architecture design for the CAVs scenario and
provided various heterogeneous platform prototypes for CAVs. However, a
standard and comprehensive application benchmark for CAVs is missing, hindering
the study of these emerging computing systems. To address this challenging
problem, we present CAVBench, the first benchmark suite for the edge computing
system in the CAVs scenario. CAVBench is comprised of six typical applications
covering four dominate CAVs scenarios and takes four datasets as standard
input. CAVBench provides quantitative evaluation results via application and
system perspective output metrics. We perform a series of experiments and
acquire three systemic characteristics of the applications in CAVBench. First,
the operation intensity of the applications is polarized, which explains why
heterogeneous hardware is important for a CAVs computing system. Second, all
applications in CAVBench consume high memory bandwidth, so the system should be
equipped with high bandwidth memory or leverage good memory bandwidth
management to avoid the performance degradation caused by memory bandwidth
competition. Third, some applications have worse data/instruction locality
based on the cache miss observation, so the computing system targeting these
applications should optimize the cache architecture. Last, we use the CAVBench
to evaluate a typical edge computing platform and present the quantitative and
qualitative analysis of the benchmarking results.
