Compiler and Runtime optimisations for Graph Databases
Compiler and Runtime optimisations for Graph Databases
批准号:
2560814
负责人:
金额:
$0.0万
依托单位:
依托单位国家:
英国
项目类别:
Studentship
财政年份:
2017
资助国家:
英国
项目状态:
已结题
起止时间:
2017 至 --
中文摘要
点击翻译按钮获取中文摘要
英文摘要
Graph databases (GDBs) have gained significant attention during the last decade following the explosion of Big Data processing due to social media, IoT, AI, etc. While users are constantly demanding faster access of high volume data, data analysis and predictive analytics are just going to increase the data access requirements.In particular, one of the major challenges of Java-based GDBs is the fact that they are affected by the performance of the system. Providing more memory, doesn't translate automatically to better performance, due to the limits of the Runtime Environment (RTE) they execute on, such as libraries, processes, Virtual Machine (VM) etc.The main contribution of this project is the focus on hardware/software interaction methods in order to solve the scalability problem of Java Graph databases, especially on a Non-Uniform Memory Access (NUMA) architecture.The key objectives of this project are:1) to investigate how system functionalities (NUMAness, compiler, runtime, etc.) affect the performance of a Graph Database,2) to perform targeted optimisations for GDBs (compiler/runtime and memory optimisations, etc.) to improve data locality, and3) to implement a custom version of experimental platform showcasing the aforementioned optimisations.The approach to be taken in order to proceed with the above, is:1) the implementation of an Allocation Memory Profiler for the inspection of allocation patterns of applications running on the VM and description of the domain application and its detailed performance analysis.2) the implementation of a tool on top of the VM, in order to wrap "performance" functionality into the VM and thus to allow the VM to access the CPU's performance monitoring unit hardware counters.3) the implementation of a NUMA-aware memory manager (Application Programming Interface - API), for off-heap memory allocation and accesses.To perform a scalability analysis of GDBs a benchmark suite for NoSQL Databases which supports Relational Property Graphs will be used. This benchmark suite, tests the following three scenarios:interactive: A transaction/query workloadbusiness intelligence: An analytical/query workloadgraph algorithms: Graph analysis algorithmsA detailed performance analysis will be conducted for a thorough evaluation of all aspects of the experimental platform, in order to investigate the GDBs' allocation behavior, categorise all the occurred patters and correlate them with the semantics of each benchmark's query.Our research will focus on the VM's Garbage Collector, and its effect on the overall performance ofGDBs. Since Java GDBs' querying languages are just another Java program, they fall into the same optimisation realm of standard Java programs. However, the sensitivity many GDBs have at the memory subsystem, steers our research efforts also on GC tuning and compiler optimisations.Relevant EPSRC research areas: DatabasesProgramming languages and compilers Architectures and operating systems Software engineering
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
海外基金