Implement PCIe Over Fiber with SFP Modules for Enhanced Connectivity

Implement PCIe Over Fiber with SFP Modules for Enhanced Connectivity

Recent advancements in connectivity technology have made it possible to implement PCIe over fiber using SFP modules. This approach, pioneered by tech enthusiasts, allows the use of PCIe devices, like GPUs, outside traditional PCs.

Understanding PCIe Over Fiber

While commercial transceiver solutions are available for PCIe devices, they typically rely on encapsulating protocols such as Thunderbolt. The innovative project by Sylvain Munaut offers a more straightforward solution by utilizing standard PCIe in conjunction with off-the-shelf QSFP transceivers.

Challenges in Implementation

Implementing PCIe directly over fiber introduces several compatibility issues. These challenges include:

  • PCIe device detection
  • Side-channel clocking
  • Equalization training for PCIe Gen 3

These factors can complicate the connection process when using SFP links. Fortunately, much of the foundational work was conducted by Eli Billauer, who successfully made PCIe Gen 2 function over SFP+ back in 2016.

Test Setup and Configuration

The current test setup uses a Raspberry Pi 5 paired with a PCIe breakout board. It connects a PCIe card through a QSFP link, which features custom SFP module PCBs. These modules facilitate the transition between PCIe edge connectors and inexpensive USB 3.0 connectors, often used in crypto mining setups.

For this prototype, single-mode fiber is employed, allowing the establishment of a Gen 2 x1 link with minimal complications. This setup effectively demonstrates the basic principle of PCIe over fiber.

Future Prospects and Challenges

Although the Gen 2 implementation is promising, scaling this to Gen 3 and beyond presents significant challenges. Future efforts will focus on developing additional custom PCBs. With PCIe Gen 5 emerging as the new standard on motherboards, the objective is to extend this project to support higher link sizes, particularly x4 and x16, ensuring full bandwidth for external GPUs, unlike Thunderbolt solutions.

This project signifies a crucial step towards expanding the capabilities of PCIe connectivity and optimizing external GPU use.