Skip to content
Snippets Groups Projects
Xuechen Zhang's avatar
xuechen.zhang authored
ca85c21d
History

*** Assume that all node id > 0 ***

1)) Using [edgeToAdjList.py] to convert from edgelist input format into adjacencylist format

<> src dst weight 1 2 0.12 1 3 0.13 1 5 0.15 2 4 0.24 3 1 0.31 3 5 0.35 4 1 0.41 5 2 0.52 5 4 0.54

<> src dst weight dst weight dst weight 1 2 0.12 3 0.13 5 0.15 2 4 0.24 3 1 0.31 5 0.35 4 1 0.41 5 2 0.52 4 0.54

2)) Using [llama/utils/my-snap-to-xs0.cpp] convert from adjacencylist format into binary format (we named it xs0) similar to xs1 [llama/utils/snap-to-xs1.cpp]

Note: <> struct xs1 { unsigned tail; unsigned head; float weight; }

<<xs0 format>>
struct xs0 {
  uint32_t tail;
  float weight;
}

<> srcA dummyValue xs0 xs0 xs0 srcB dummyValue xs0 xs0 ... This example is equivalent to above data in binary format. 1 7.3 {2 0.12} {3 0.13} {5 0.15} 2 7.3 {4 0.24} 3 7.3 {1 0.31} {5 0.35} 4 7.3 {1 0.41} 5 7.3 {2 0.52} {4 0.54}

3)) An evolving network analysis engine leverageing the non-volatile byte-addressable memory (NVBM) and DRAM to acheive both scalability and data persistency. This project is inspired by LLAMA project.

Note: Input: there are 3 files at each snapshot except snapshot 0, no duplicated edge, sorted in ascending order based on source and destination SnapShot 0: 000_AAmemtype.txt // node to be stored on dram #node_id 1 2 3 4 5 SnapShot 0: 000_modify_FILENAME.xs0 SnapShot 1 and up will have the same input files information: 001_modify_FILENAME.xs0 SnapShot 2: 002_modify_FILENAME.xs0

Example of the total input list for 10 snapshot: 
000_AAmemtype.txt
000_modify_FILENAME.xs0 						
001_modify_FILENAME.xs0
002_modify_FILENAME.xs0
003_modify_FILENAME.xs0
004_modify_FILENAME.xs0
005_modify_FILENAME.xs0
006_modify_FILENAME.xs0
007_modify_FILENAME.xs0
008_modify_FILENAME.xs0
009_modify_FILENAME.xs0

4)) To build and run nvgraph and there are 2 directories: 1) singleSnapShot: supports single snapshot input. 2) multiSnapShot: supports multiple snapshot input. Note: NVgraph needs input dir with files in xs0 binary format and one memory type file while is the top 30% nodes that the highest eigenvalue. To get eigenvalue, use Snap-3.0/examples/centrality/ $ cd nvgraph/ $ make $ ./nvgraph

5)) to build and run llama, please follow the readme in llama home dir