GraphChi  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Macros
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
graphchi::sharder< EdgeDataType > Class Template Reference

List of all members.

Public Member Functions

 sharder (std::string basefilename)
std::string preprocessed_name ()
bool preprocessed_file_exists ()
void start_preprocessing ()
void end_preprocessing ()
void preprocessing_add_edge (vid_t from, vid_t to, EdgeDataType val)
template<typename T >
void bwrite (int f, char *buf, char *&bufptr, T val)
int execute_sharding (std::string nshards_string)

Protected Types

typedef char dummy_t
typedef sliding_shard< int,
dummy_t > 
slidingshard_t
typedef memory_shard< int,
dummy_t > 
memshard_t

Protected Member Functions

virtual void determine_number_of_shards (std::string nshards_string)
void compute_partitionintervals ()
std::string shovel_filename (int shard)
void start_phase (int p)
void end_phase ()
void swrite (int shard, edge_t et)
void receive_edge (vid_t from, vid_t to, EdgeDataType value)
virtual void write_shards ()
void create_degree_file ()

Protected Attributes

std::string basefilename
int binfile_fd
vid_t max_vertex_id
char * prebuf
char * prebufptr
size_t bytes_preprocessed
int nshards
std::vector< std::pair< vid_t,
vid_t > > 
intervals
int phase
int * edgecounts
int vertexchunk
size_t nedges
std::string prefix
int * shovelfs
edge_t ** bufs
int * bufptrs
size_t bufsize
size_t edgedatasize
metrics m
int lastpart

Member Function Documentation

template<typename EdgeDataType>
template<typename T >
void graphchi::sharder< EdgeDataType >::bwrite ( int  f,
char *  buf,
char *&  bufptr,
val 
)
inline

Buffered write function

template<typename EdgeDataType>
virtual void graphchi::sharder< EdgeDataType >::determine_number_of_shards ( std::string  nshards_string)
inlineprotectedvirtual

Sharding. This code might be hard to read - modify very carefully!

template<typename EdgeDataType>
void graphchi::sharder< EdgeDataType >::end_preprocessing ( )
inline

Call to finish the preprocessing session.

template<typename EdgeDataType>
int graphchi::sharder< EdgeDataType >::execute_sharding ( std::string  nshards_string)
inline

Executes sharding.

Parameters:
nshards_stringthe number of shards as a number, or "auto" for automatic determination
template<typename EdgeDataType>
bool graphchi::sharder< EdgeDataType >::preprocessed_file_exists ( )
inline

Checks if the preprocessed binary temporary file of a graph already exists, so it does not need to be recreated.

template<typename EdgeDataType>
void graphchi::sharder< EdgeDataType >::preprocessing_add_edge ( vid_t  from,
vid_t  to,
EdgeDataType  val 
)
inline

Add edge to be preprocessed

template<typename EdgeDataType>
void graphchi::sharder< EdgeDataType >::start_preprocessing ( )
inline

Call to start a preprocessing session.

template<typename EdgeDataType>
virtual void graphchi::sharder< EdgeDataType >::write_shards ( )
inlineprotectedvirtual

Write the shard by sorting the shovel file and compressing the adjacency information. To support different shard types, override this function!


The documentation for this class was generated from the following file: