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:
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
|
|