Gtimer Architecture Overview

A diagram of the architecture of Gtimer is shown in the figure below. Gtimer is implemented in C/C++ as a group of header files, and users only need to include the necessary base classes and implement the application logic in their subclasses. A Gtimer application program is compiled using MPIC++, preferably with -O2 option enabled. Click here to see how to run a Gtimer program in your cluster.

 

 

Gtimer communicates with HDFS (e.g. for graph loading and result dumping) through libhdfs, a JNI based C API for HDFS. Each computing unit (or, worker) of Gtimer is simply an MPI process and communications are implemented using MPI communication primitives. One may deploy Gtimer with any Hadoop and MPI version, such as Hadoop 1.2.1 and MPICH 3.1.3.

Gtimer has new storage structure and indexes to support efficient and scalable operations on a large temporal graph. Gtimer supports a set of fundamental operators for processing temporal graphs, which hide (from users) the low-level details of how operations specific to a temporal graph should be performed. Gtimer also allows users to develop their own user-defined APIs. Finally, Gtimer supports efficient update maintenance as a temporal graph keeps updating over time.