Copyright 2015
Ioannis Antoniadis
Aristotle University of Thessaloniki, Greece
Department of Electrical and Computer Engineering
Implementation of the google-pagerank algorithm
Status: Personal / university coursework archive — not actively maintained. Dependencies and tooling may be outdated.
Compile the C sources with pthreads enabled where applicable. Provide graph .txt inputs as described under Input (see SNAP / course links), then run the sequential or parallel binary per the Makefile or build instructions in the repository.
Internet can be modelled as a graph with nodes that correspond to webpages and links between them. The pagerank algorithm calculates the probability of a user being on a random webpage at a future time. The final values of the probabilities are used by search engines to rank each webpage in the final results list.
The current implementation includes both a sequential version as well as a parallel version of the algorithm using p-threads. Running the parallel version in a multi-threaded environment results in better timings, compared to the sequential version.
Input graphs as .txt files can be found here. More info at http://snap.stanford.edu/data at Web-Graphs section.