Benchmarking the Magma Framework in the Context of Abstract Data Pipelines and Graph Processing
As we venture into expanding Magma to encompass graph processing, there is an imperative need to benchmark its capabilities and performance. This master thesis sits at this juncture, aiming to provide an in-depth benchmarking analysis of Magma within the broader Graph-Massivizer EU project.
Research topic focus
The focal point of this research is a meticulous benchmarking process for the Magma framework. The study will delve into its functionalities, performance metrics, and potential areas of optimization, especially in light of its upcoming extension towards graph processing.
Expected results and learning outcome
- Thorough benchmarking: Detailed analysis of Magma's performance across a variety of use cases, encompassing its current capabilities and future extensions related to graph processing.
- Identification of optimization areas: Based on the benchmarking results, provide actionable insights on potential areas where Magma can be improved, ensuring better efficiency and performance.
- 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.
- Integrated skill set development: By the end of this thesis, you should have honed skills in benchmarking, data analytics, and scientific writing.
Benefits of association with the Graph-Massivizer project
Associating with the Graph-Massivizer project amplifies your exposure to leading-edge research and industry collaborations. The project's multidimensional focus promises rich academic and professional networking, with prospects for future endeavors. More details about the project can be found on its official website
Aspirants should have a passion for high-level programming and an understanding of data processing. Prior experience with Java, C++, or similar programming languages is a plus. Knowledge about functional programming is very welcome.
Application process and expectations
Upon application, shortlisted candidates will be invited for an interview. To prepare adequately:
- Benchmarking techniques: It would be beneficial to familiarize yourself with prevalent benchmarking methodologies and tools. Understanding the nuances of these techniques will be pivotal for the research.
- Stream-processing frameworks: Acquaint yourself with other stream-processing libraries in Java and other programming languages. This would not only give you a comparative perspective but also help in identifying the unique strengths and potential areas of improvement for Magma.
- Java benchmarking with JMH: Dive into the Java Microbenchmarking Harness (JMH) and explore its capabilities. As the study involves intensive benchmarking, understanding the intricacies of JMH will be of great value. A recommended starting point would be this guide on Baeldung.
Engaging with these resources will not only showcase your dedication and commitment to the project but will also help you gauge the compatibility of the project with your academic and professional interests. However, we understand that developing in-depth knowledge shouldn’t be a requirement for a master thesis interview. Thus, reading up on the points from above and developing a basic idea to be able to have a fruitful conversation is enough.