HYDRA Print E-mail

Overview

HYDRA is the continuation of BP-Net layered on serial links instead of buses. It provides the same facilities and unique features, but also has a few extra features, such as virtual channels instead of physical channels, which allows traffic segregation, while maintaining the improved performance.

HYDRA is a combination of hardware and software IPs, allowing the extension of BP-Net to high-speed serial links, such as Xilinx Virtex or Altera Stratix Rocket I/Os. It is based on message passing principles, where BP-Net offers two levels of user interfacing:
  • Channel mode
  • Socket mode
It delivers extreme performance and transparently handles all of the error conditions with extremely simple high-level commands on the channel mode (create, bind, in, out). It also introduces a shared virtual channel notion for optimized throughput, as well as offers a network protocol socket base layer with an incredible low overhead (% not in order of magnitude).

Components

Hardware
HYDRA is directly layered on the RocketIO of Xilinx Virtex-II Pro, Xilinx Virtex-5 or Altera Stratix FPGAs. HYDRA consists of a set of FPGA building blocks connected with the building blocks of the CES FPGA BSP. For four links, it requires about 20% of a Xilinx Virtex-5 or Altera Stratix 130GX (ex. approximately 8000 KLuts).

Software
The message-passing model is typically used in distributed memory systems, where each processor owns private memory and is linked by an interconnection network. Each process operates exclusively in a private environment, but must cooperate with other processes in order to interact. Therefore, processes must exchange messages in order to interact with one another. This communication model is extended to the thread-level to offer a coherency in the design and programming of a distributed application.

Channel Mode

A channel library is used to program the data exchange with an API similar to the CES BP-Net API. A channel is a synchronous data pipe between two threads. It is created dynamically and without particular settings, it can be used only between two threads inside the same process.

Another improvement over CES BP-Net, is the capability to share a channel. Several threads can use the same channel to send data to a thread and several threads can use the same channel to receive data from a thread. A basic “in” or a basic “out” operation on a channel is atomic (cannot be interrupted). If several threads share the same channel, the thread’s communication call is stacked, as in a FIFO, and will occur one after the other, in the same order. A thread can lock a shared channel to ensure that several of its communications will occur successively.

Socket Mode

A socket mode with extremely low overhead, due to the HYDRA atomic structure, is also available for the network mode of operation. In this mode, all tools associated with TCP/IP (NFS, remote login, etc.) are supported.

  • Two multiprocessor RIO4-based boxes interconnected via HYDRA links, both through the front-panel for inter-chassis connections and through the backplane for intra-chassis connections. A data entry XMC is also connected through HYDRA to feed data into the system.

HYDRA Inter-Chassis Connections