How can we improve the state of the art in massive graph processing on heterogeneous, distributed systems? How can we speed up large-scale graph processing using accelerators (like GPUs, FPGAs, or dedicated devices)? How can we measure and improve the sustainability of large-scale processing on big-data such as massive graphs? How can we model such applications to provide accurate performance guarantees?
To answer some of these questions, the Computer Architecture for Embedded Systems (CAES) Chair at the University of Twente invites applications for a 4-year PhD position on the topic of "
Performance engineering for large-scale graph processing workloads on heterogeneous computing systems".
We are looking for a talented and focused researcher with some experience in parallel and/or distributed processing, algorithmic design knowledge, and experience with empirical research. Experience with graph processing, big-data analysis and analytics, GPGPU computing, heterogeneous computing, or performance engineering and modeling is welcome and appreciated, but not mandatory.
The successful applicant will be supervised by Dr. Ir. Ana-Lucia Varbanescu and will work as part of a large EU consortium including institutions from Austria, Italy, Ireland, Norway, Germany, and the Netherlands. The PhD student will have the opportunity to broaden their knowledge by joining international exchange programs, participating in national and international conferences and workshops, and visiting other research institutes and universities in the project and beyond.
This work is part of the EU project Graph-Massivizer, and focuses on WP4, which is a direct collaboration with University of Bologna and VU University Amsterdam. The Twente team will consist of a PhD student and a part-time PostDoc, to be hired in the fall of 2023.
Concretely, the project is foreseen to include the following activities:
- Analysing 5-7 case-study applications (from benchmarking suites and from the case-studies in the project), and decompose them into basic graph operations (BGOs)
- Port and/or optimize the BGOs on different heterogeneous systems (e.g., CPUs+GPUs)
- Define and calibrate performance models for BGOs and, by composing those, reconstruct a performance model of the original application.
- Define a method to combine the application model with dataset properties to provide performance guarantees for the given application on a specific system with a given input graph.
- Apply the proposed method to the applications and case-studies in the project.
These steps are expected to be disseminated in open publications and demonstrated with proof-of-concept tools, which will then be adopted by the project and integrated (with the professional help of a software integrator company) in the Graph Massivizer toolbox.