Richard O. Kirk, M. Nolten, R. Kevis, T. Law, S. Maheswaran, Steven A. Wright, S. Powell, G. Mudalige, S. Jarvis
{"title":"Warwick Data Store: A Data Structure Abstraction Library","authors":"Richard O. Kirk, M. Nolten, R. Kevis, T. Law, S. Maheswaran, Steven A. Wright, S. Powell, G. Mudalige, S. Jarvis","doi":"10.1109/PMBS51919.2020.00013","DOIUrl":null,"url":null,"abstract":"With the increasing complexity of memory architectures and scientific applications, developing data structures that are performant, portable, scalable, and support developer productivity, is a challenging task. In this paper, we present Warwick Data Store (WDS), a lightweight and extensible C++ template library designed to manage these complexities and allow rapid prototyping. WDS is designed to abstract details of the underlying data structures away from the user, thus easing application development and optimisation. We show that using WDS does not significantly impact achieved performance across a variety of different scientific benchmarks and proxy-applications, compilers, and different architectures. The overheads are largely below 30% for smaller problems, with the overhead deceasing to below 10% when using larger problems. This shows that the library does not significantly impact the performance, while providing additional functionality to data structures, and the ability to optimise data structures without changing the application code.","PeriodicalId":383727,"journal":{"name":"2020 IEEE/ACM Performance Modeling, Benchmarking and Simulation of High Performance Computer Systems (PMBS)","volume":"141 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE/ACM Performance Modeling, Benchmarking and Simulation of High Performance Computer Systems (PMBS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PMBS51919.2020.00013","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
With the increasing complexity of memory architectures and scientific applications, developing data structures that are performant, portable, scalable, and support developer productivity, is a challenging task. In this paper, we present Warwick Data Store (WDS), a lightweight and extensible C++ template library designed to manage these complexities and allow rapid prototyping. WDS is designed to abstract details of the underlying data structures away from the user, thus easing application development and optimisation. We show that using WDS does not significantly impact achieved performance across a variety of different scientific benchmarks and proxy-applications, compilers, and different architectures. The overheads are largely below 30% for smaller problems, with the overhead deceasing to below 10% when using larger problems. This shows that the library does not significantly impact the performance, while providing additional functionality to data structures, and the ability to optimise data structures without changing the application code.
随着内存体系结构和科学应用程序的日益复杂,开发高性能、可移植、可伸缩并支持开发人员生产力的数据结构是一项具有挑战性的任务。在本文中,我们介绍了Warwick Data Store (WDS),这是一个轻量级和可扩展的c++模板库,旨在管理这些复杂性并允许快速原型。WDS旨在将底层数据结构的细节从用户抽象出来,从而简化应用程序的开发和优化。我们表明,在各种不同的科学基准测试和代理应用程序、编译器和不同的体系结构中,使用WDS不会显著影响已实现的性能。对于较小的问题,开销基本上低于30%,而对于较大的问题,开销降低到10%以下。这表明该库在为数据结构提供额外功能以及无需更改应用程序代码即可优化数据结构的同时,对性能没有显著影响。