Welcome to the MeGraphs Trac Home

The MeGraphs software package provides a front-end to graphs and vectors residing on special-purpose computing resources. It allows these data objects to be instantiated, destroyed, and manipulated. A variety of primitives needed for typical graph analyses are provided. An example program illustrating how MeGraphs can be used to implement a PageRank computation is included in the distribution.

The MeGraphs software package is targeted towards developers of graph algorithms. Programmers using MeGraphs would write graph analysis programs in terms of high-level graph and vector operations. These computations are transparently executed on either the Cray XMT compute nodes or a many-core Linux machine.

The graph and vector operations are defined using a specification written in a custom Interface Definition Language (IDL). This is used to generate client and server bindings.

On the Cray XMT, the client code runs on the service nodes and forwards requests for graph and vector operations to a graph directory and computation engines running on the compute nodes using the Cray Lightweight User Communication library (LUC). Results are then returned to the client. On Linux systems, the requests are forward using Unix TCP sockets.