Two student assistant vacancies – Performance Study on Synchronization in Graph Analytics

We are looking for two student assistants (paid job, 1 day a week) for the project

Supervisors: Ana Lucia Varbanescu (System and Network Engineering, UvA), Claudio Martella (Distributed Systems, VU).

During the last years we have seen a number of new graph-processing systems and algorithms for graph analytics. Most of these systems share the same so-called vertex-centric programming model, yet they can drastically differ in the way their computations are synchronized across computing units. The synchronization mechanism sets a number of important constraints on the design and implementation of parallel and distributed systems, and it is important to understand the requirements of graph analytics, and their applications, to make effective architectural decisions for such systems.

In this project, we will investigate the trade-offs of executing different graph algorithms on various graph-processing platforms (like GraphLab, Signal/Collect or Giraph), analysing the impact of different synchronization techniques (and the resulting architectural decisions) on performance. Conceptually, we will produce a series of guidelines on which platforms to choose for different classes of algorithms, and which architectural decisions are most effective to execute certain classes of algorithms.

The problem can be tackled from two perspectives. It can be viewed from the application perspective, hence studying the requirements, with respect to synchronization, of various classes of algorithms. Moreover, it can be view from the system perspective, hence studying the different designs and implementations of synchronization mechanisms, focusing on their performance on typical workloads of graph analytics.


We are looking for two student assistants for this project. The students will be hired for one day a week.


One assistant will focus on the development of the algorithms, while the second assistant will focus on the study of the processing systems. The two assistants will still be required to cooperate extensively to learn from the other perspective, but they will be responsible to independently construct a personal perspective of the problem.


The students should:

– be fluent with Java and/or C/C++,

– should have some experience with either concurrent and network programming, or graph processing algorithms,

– prior knowledge of Hadoop, Giraph and Big Data is a plus.


Please contact Ana Lucia Varbanescu or Claudio Martella for more details (,

Read More