A Data-Driven Dynamic Execution Orchestration Architecture
Zhenyu Bai, Pranav Dangi, Rohan Juneja, Zhaoying Li, Zhanglu Yan, Huiying Lan, Tulika Mitra

TL;DR
Canon is a novel architecture that combines dynamic data-driven control with staggered SIMD execution to achieve high performance and efficiency across diverse workloads, bridging the gap between specialized and programmable architectures.
Contribution
It introduces a dynamic orchestration mechanism using programmable FSMs and a time-lapsed SIMD execution model to enhance flexibility and performance.
Findings
Achieves efficiency comparable to specialized accelerators.
Supports diverse kernels with high performance.
Retains flexibility of general-purpose architectures.
Abstract
Domain-specific accelerators deliver exceptional performance on their target workloads through fabrication-time orchestrated datapaths. However, such specialized architectures often exhibit performance fragility when exposed to new kernels or irregular input patterns. In contrast, programmable architectures like FPGAs, CGRAs, and GPUs rely on compile-time orchestration to support a broader range of applications; but they are typically less efficient under irregular or sparse data. Pushing the boundaries of programmable architectures requires designs that can achieve efficiency and high-performance on par with specialized accelerators while retaining the agility of general-purpose architectures. We introduce Canon, a parallel architecture that bridges the gap between specialized and general purpose architectures. Canon exploits data-level and instruction-level parallelism through its…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Security and Verification in Computing
