Mmalloc: A Dynamic Memory Management on Many-core Coprocessor for the Acceleration of Storage-intensive Bioinformatics Application

Published in 2018 IEEE International Conference on Bioinformatics and Biomedicine (BIBM 2018), 2018

Recommended citation: Mmalloc: A Dynamic Memory Management on Many-core Coprocessor for the Acceleration of Storage-intensive Bioinformatics Application. Zihao Wang, Mingzhe Zhang, Jingrong Zhang, Rui Yan, Xiaohua Wan, Zhiyong Liu, Fa Zhang, Xuefeng Cui. 2018 IEEE International Conference on Bioinformatics and Biomedicine. BIBM 2018.

Abstract

In the past decades, many applications in bioinformatics have achieved great success by extracting useful information from huge amounts of data. However, when some storage-intensive applications like BWA-MEM ported to coprocessors to accelerate, they often have memory bottleneck that severely limits program performance and scalability. While dynamic memory allocation is one of the important topics in CPU and GPU, there has been relatively little work on many-core coprocessors. This paper introduces Mmalloc, a fast and highly scalable allocator that accelerates storage-intensive application on many-core coprocessor. Mmalloc is the first allocator to consider the different architecture between MIC and CPU. Mmalloc removes the global heap to reduce the long-distance on-chip coherent and communication. Mmalloc uses a binary sort interval tree to manage the memory. We also separate the header information from the data area using the logical structure to keep the locality of processed data. Our results on BWA-MEM benchmarks demonstrate that Mmalloc has a better speedup and scalability comparing with the state-of-the-art allocator for CPU like Hoard on the many-core coprocessor.