To main content

Testing and Evaluating the new Java Vector API in the Context of Graph Stream Processing

This research is anchored in the role of graph processing in today's data-driven landscape.

Contact persons

Ill.: SINTEF

As the Java ecosystem evolves, the new Java Vector API (currently only available as preview feature) stands out as a noteworthy tool for data processing improvements, as detailed in both niche analyses and official reports. This master thesis is set within the context of the Graph-Massivizer project [1], a European Union-backed initiative that's devoted to developing a high-performance, scalable, and sustainable platform tailored for graph data processing. Being a part of the Graph Massivizer project offers a unique academic and professional opportunity. Students can expect their work to get the attention of esteemed researchers. Additionally, the multifaceted focus of the project ensures rich interactions with industry veterans, potentially leading to future collaborations or job prospects. A comprehensive overview of the project can be accessed at the official website: Graph-Massivizer project [1].

Research topic focus

At the heart of this thesis is a thorough examination of the Java Vector API and its implications for graph stream processing. By aligning this inquiry with the goals of the Graph Massivizer project, the research aspires to identify possible synergies that could refine the project's outputs.

Expected results and learning outcome

  • Definition and selection of Basic Graph Operations: The thesis will take on the task of defining basic graph operations. Post this foundation, appropriate subsets will be picked for tangible implementation in the constructed playground. A basic graph operation could be the bedrock of complex graph algorithms or sometimes even represent standalone algorithms.
  • Development of a Graph Operations Playground: One of the key deliverables is the creation of a playground that showcases multiple prototypes, embodying "basic graph operations."
  • Holistic mastery: At the culmination of the project, participants are expected to possess a rich blend of theoretical wisdom and hands-on expertise in developing and implementing these foundational graph operations.
  • Scientific publication: We would like to help you to write a scientific paper based on your results.

Benefits of association with the Graph-Massivizer project

Engaging with the Graph-Massivizer project will grant you an opportunity to delve into avant-garde research and collaborate with a network of distinguished industry affiliates. The project, a beacon of innovation, affords a prestigious platform for both academic growth and professional outreach. Learn more about the project.

Qualifications

Candidates should exhibit enthusiasm for low-level programming and a genuine interest in graph processing. Previous experience in programming with languages like Java and C++ is very welcome.

Application process and expectations

If you decide to pursue this opportunity and apply for the master's thesis, we will be inviting shortlisted candidates for an interview. To best prepare for our conversation:

  • Java Vector API: Familiarize yourself with the basics and the overarching concepts behind the Java Vector API. While an in-depth understanding isn't mandatory, a grasp of its core ideas will be beneficial. A good starting point would be the article: Java 18 Vector API: Do We Get Free Speed Up? [2] and the official documentation on JEP 426: Vector API [3].
  • GraphBLAS library: Delve into the GraphBLAS library [4, 5]. Again, a comprehensive understanding isn't required, but being aware of its objectives, use cases, and functionalities can be advantageous.

This preparation is not just about demonstrating your commitment to the role but will also help you understand whether this project aligns with your interests and career goals.

  1. Graph-Massivizer project overview
  2. Styp, M. (2022). Java 18 Vector API: Do We Get Free Speed Up? Medium
  3. Sandoz, P. (2023). JEP 426: Vector API. OpenJDK
  4. GraphBLAS Graph Linear Algebra API
  5. GraphBlas manifesto