The Open-Source BlackParrot-BedRock Cache Coherence System

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:
    1. Fixed-function: A standard, hardwired implementation used as a baseline for comparison regarding performance and area.
    2. Microcode-programmable: Demonstrates the ability to use a programmable engine to handle protocol processing while maintaining adequate performance.
    3. 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.
lock-1

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.

Read Full Report →