| The rapid production and long-term accumulation of data pose great challenges to data access performance.Indexes are an important way to support and speed up data access.The construction and use of traditional indexes require a lot of resources such as CPU,memory,and Cache,and there is a large space for performance optimization when facing large-scale data access.Recent research has proposed a "Learned Index" structure,which uses machine learning methods to obtain data features to assist index construction.Because it can fit data features well,it has better time and space performance than the traditional index structures.However,the existing learned indexes that support dynamic workloads are affected by page faults in performance on the one hand,and lack corresponding benchmarking frameworks for dynamic workloads on the other hand.In view of the above problems,this paper carries out systematic research,and the main work is as follows:(1)Aiming at the problem of page faults in the dynamic learned index ALEX,systematic experiments and theoretical analysis are carried out,and an optimization strategy based on Huge Pages is proposed on this basis.The strategy is based on the principle that Huge Pages can effectively avoid memory page switching,thereby reducing page fault interruption.By assigning ALEX internal nodes to the same Huge Pages as much as possible,the page fault interruption of internal node search is reduced;The same Huge Pages completes the expansion and compression of data nodes,reducing page fault interruptions generated by data nodes.In addition,by pre-allocation and slow release of memory resources,the overhead of frequent memory operations is effectively avoided.Experiments on multiple public datasets show that this strategy has good results and can effectively improve the throughput.(2)Aiming at the problem that the learned index benchmark framework SOSD only supports static workloads and the application scenarios are extremely limited,a DBLI learned index benchmarking framework that supports dynamic workloads such as data insertion is built.The framework provides good scalability while supporting dynamic workload benchmarking through a layered,modular design.Among them,the data processing layer realizes the data expansion capability through data loading,parsing and key generation interfaces;the workload layer realizes the application scenario expansion capability by simulating different read and write workloads;the index adaptation layer abstracts the reading and writing of different index structures.For details,a unified interface is provided upward to realize the index expansion capability.Experiments on multiple real datasets and public index structures show that the DBLI framework can well support the benchmarking of dynamic workloads,and at the same time,it has good scalability and can adapt to different application scenarios. |