Development of Integration of Language-Agnostic Streaming Operators to Enable GNNs-ready Stream processing
Given the mounting importance of Graph Neural Networks (GNNs) across a myriad of fields, a palpable challenge arises: integrating these networks into prevalent frameworks, especially Magma. This master's thesis is primed to tackle this challenge, with aims to pioneer the embedding of leading GNN libraries, irrespective of their programming languages, into the fabric of Magma. Concurrently, the thesis will also examine the potential of developing native GNNs within Java, further broadening the horizons of the framework. We know, however, that the latter is a very ambiguous goal and thus emphasize that “examining the potential” is enough for a successful thesis.
Research topic focus
Two central pathways form the core of this study:
- Programming language agnosticism: Crafting a strategy that facilitates the integration of prominent GNN libraries, including but not limited to, Pytorch Geometric, Deep Graph Library, Graph Nets, and Spektral into the Java-centric world of Magma. Within this domain, tools such as Apache Arrow will be evaluated to potentially aid the symbiotic functioning of different programming languages.
- Java-native GNNs exploration: Venturing into the Java landscape to discern the viability of embedding a foundational set of GNNs. This exploration, while promising, remains an additional aspiration rather than an obligatory requirement.
Expected results and learning outcome
- Magma evolution: Successful amalgamation of one or more GNN libraries within the Magma environment.
- Harmonizing programming languages: Insights into tools, notably Apache Arrow, which might bridge the gap between Java and other languages seamlessly.
- GNNs in Java: If viable, a prototype or a foundational version of a GNN conceptualized directly within Java.
- Academic enrichment: A multi-dimensional understanding of data stream-processing, ranging from Java-driven algorithms to diverse GNN libraries.
- Scientific publication: A possible outcome will be the formulation of the results into a research paper for a scientific conference or journal. We will actively support and guide you throughout the scientific writing process, providing a unique opportunity for you to author a scientific paper.
Interested candidates should bring forth a strong Java programming foundation, coupled with an affinity towards graph processing. Previous experiences or insights into neural networks, especially GNNs, would provide an edge. A genuine curiosity, combined with a willingness to navigate the complexities of marrying disparate programming paradigms, stands as an invaluable trait.
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.
Application process and expectations
Once you manifest your interest, you'll be cordially invited for a detailed discussion. To prepare:
- Shallow Dive into GNN libraries: Acquaint yourself with the nuances of libraries such as Pytorch Geometric and Deep Graph Library.
- Understand cross-language integration tools: Delve into platforms like Apache Arrow to fathom their potential in harmonizing Java with other programming dialects.
- Java proficiency: Revisit or enhance your Java skill set, especially honing in on data structures and intricate algorithms.
While an exhaustive comprehension isn't mandatory, a rudimentary understanding will be emblematic of your dedication and will align you more congruently with the project’s ambitions.