BRAHMS implements SystemML Links in the form of "manifolds". A manifold is a transport device with one inlet and many outlets, with each outlet attached to the inlet with an integral lag (which may be zero). The manifold as a whole has an associated lag, which is equal to the longest lag of each represented Link (inlet-outlet association).
Pushing data into the inlet is achieved by locking the inlet (permission to write) and then releasing the inlet (write complete). Pulling data out of an outlet is achieved, similarly, by locking the outlet (permission to read) and then releasing the outlet (read complete). Internally, the manifold maintains a single FIFO ring buffer which is written by the inlet and read by the outlets (at different points, depending on their individual lag).
The ring buffer generally has
Synchronisation is achieved by a pair of signals associated with each outlet-buffer combination,
|This is a documentation page for the BRAHMS Modular Execution (Simulation) Framework. For details of licensing and distribution, please click here. To advise of an error or omission, please click here.|