The Cell Messaging Layer (CML) is a communication library for the Cell Broadband Engine, which many people recognize as the Playstation 3's microprocessor. CML implements a small but useable subset of the functions provided by the Messaging Passing Interface (MPI), which provides a familiar interface to programmers who are accustomed to programming parallel computers or workstation clusters.
The Cell Messaging Layer runs not only on a single Cell processor but also on compute nodes containing multiple Cell processors sharing a common memory space, clusters containing multiple Cell compute nodes, and on clusters containing Cells as accelerators for conventional processors, with the Roadrunner supercomputer being the quintessential example. Regardless of configuration, CML makes the entire system look like a homogeneous cluster of Cell vector units (known as synergistic processing elements or SPEs). Any SPE can communicate directly with any other SPE, regardless of physical location.
The Cell Messaging Layer is optimized for performance. At the time of this writing, it is the fastest messaging-passing library available for the Cell. It is designed to utilize the Cell's slow but flexible Power processor element (PPE) only for internode communication, never within a node. Collective operations are designed hierarchically so as to minimize the use not only of the PPE but also of the Broadband Interface (BIF), which connects multiple Cells within a node.Scott Pakin, firstname.lastname@example.org