课题基金 / 基金详情

Compiler and Runtime optimisations for Graph Databases

Compiler and Runtime optimisations for Graph Databases
图数据库的编译器和运行时优化
批准号:
2560814
负责人:
金额:
$0.0万
依托单位:
依托单位国家:
英国
项目类别:
Studentship
财政年份:
2017
资助国家:
英国
项目状态:
已结题
起止时间:
2017 至 --

项目摘要

项目成果

相似基金

相关文献

中文摘要
翻译
在过去十年中,随着社交媒体、物联网、人工智能等大数据处理的爆炸式增长,图形数据库(gdb)获得了极大的关注。虽然用户不断要求更快地访问大容量数据,但数据分析和预测分析只会增加数据访问需求。特别是,基于java的gdb的主要挑战之一是它们受到系统性能的影响。由于运行时环境(RTE)的限制,例如库、进程、虚拟机(VM)等,提供更多的内存并不能自动转化为更好的性能。这个项目的主要贡献是关注硬件/软件交互方法,以解决Java图形数据库的可伸缩性问题,特别是在非统一内存访问(NUMA)架构上。该项目的主要目标是:1)研究系统功能(numness,编译器,运行时等)如何影响图数据库的性能,2)对gdb执行有针对性的优化(编译器/运行时和内存优化等)以改善数据局地性,以及3)实现展示上述优化的自定义版本的实验平台。为了继续进行上述工作,要采取的方法是:1)实现分配内存分析器,用于检查在VM上运行的应用程序的分配模式,并描述域应用程序及其详细的性能分析。2)在VM之上实现一个工具,以便将“性能”功能包装到VM中,从而允许VM访问CPU的性能监控单元硬件计数器。3)实现numa感知的内存管理器(应用程序编程接口- API),用于堆外内存分配和访问。为了执行gdb的可伸缩性分析,将使用支持关系属性图的NoSQL数据库基准套件。该基准测试套件测试了以下三种场景:交互式:事务/查询工作负载商业智能:分析/查询工作负载图算法:图分析算法sa详细的性能分析将对实验平台的各个方面进行全面评估,以调查gdb的分配行为,对所有发生的模式进行分类,并将它们与每个基准查询的语义相关联。我们的研究将集中于VM的Garbage Collector,以及它对gdb整体性能的影响。由于Java gdb的查询语言只是另一种Java程序,因此它们属于与标准Java程序相同的优化领域。然而,许多gdb在内存子系统上的敏感性也引导了我们在GC调优和编译器优化方面的研究工作。相关研究领域:数据库、编程语言和编译器、体系结构和操作系统、软件工程
英文摘要
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)
会议论文
海外基金