The Open-Source BlackParrot-BedRock Cache Coherence System
Abstract
This work introduces the open-source BlackParrot-BedRock (BP-BedRock) cache coherence system, built upon the novel BedRock protocol that utilizes canonical MOESIF states while eliminating complex transient states to simplify verification. The research evaluates three distinct directory implementations—fixed-function, microcode-programmable, and hybrid—integrated within the BlackParrot 64-bit RISC-V multicore processor. BP-BedRock ultimately demonstrates the feasibility and challenges associated with integrating highly flexible, programmable logic into the coherence mechanism of modern shared-memory systems.
Report
Key Highlights
- Open-Source System: The project, named BlackParrot-BedRock (BP-BedRock), provides a fully open-source implementation of a cache coherence system.
- BedRock Protocol: Introduces a simplified coherence protocol (BedRock) that uses the canonical MOESIF state model but reduces implementation complexity by eliminating transient coherence states.
- Programmable Coherence: The study focuses on integrating programmable logic into the cache coherence directory engine.
- Comparative Analysis: Three distinct architectures for the coherence directory are analyzed: a baseline fixed-function design, a microcode-programmable design, and a hybrid design.
- RISC-V Integration: The system is implemented and evaluated within the BlackParrot 64-bit RISC-V multicore processor.
Technical Details
- Protocol States: BedRock employs the MOESIF state set (Modified, Owned, Exclusive, Shared, Invalid, Forward).
- Protocol Simplification: Implementation burden, verification effort, and complexity are reduced by explicitly removing transient coherence states from the protocol design.
- Directory Architectures Tested: The dissertation explores the following three implementations of the BedRock protocol's coherence directory:
- Fixed-function: A standard, hardwired implementation used as a baseline for comparison regarding performance and area.
- Microcode-programmable: Demonstrates the ability to use a programmable engine to handle protocol processing while maintaining adequate performance.
- Hybrid: A blend of fixed-function components (for speed) and programmable flexibility (for customization).
- Context: The work is explicitly positioned against canonical directory-based invalidate coherence protocols for complexity analysis.
Implications
- Customizable Coherence: The successful implementation of the programmable and hybrid directories validates the concept of adaptable coherence engines, allowing for application- or system-specific protocol optimizations post-design.
- Reduced Verification Cost: The BedRock protocol’s design choice to eliminate transient states significantly lowers the concurrency and verification effort required, potentially speeding up the design cycle for new multicore chips.
- Advancing RISC-V: BP-BedRock contributes a critical open-source component (advanced cache coherence) to the rapidly expanding RISC-V ecosystem, especially important for enabling high-performance, shared-memory multicore designs based on BlackParrot.
- Research Catalyst: By demonstrating the feasibility and outlining the challenges of programmable coherence logic, the work serves as a foundational step for future research into performance benefits derived from customized coherence policies.
Technical Deep Dive Available
This public summary covers the essentials. The Full Report contains exclusive architectural diagrams, performance audits, and deep-dive technical analysis reserved for our members.