Abstract
The amount of data is increasing explosively, and many in-memory-based database management systems have been developed to efficiently manage data in real time. However, these in-memory databases mainly use DRAM main memory, which raises problems due to price and energy consumption. To mitigate these problems, we propose a hybrid main memory structure based on DRAM and NAND flash that is cheaper and consumes less energy than DRAM. The proposed system incorporates a prefetching mechanism in last-level cache based on regression analysis to handle irregular memory access from the in-memory application and a migration technique based on clustering between DRAM and NAND flash to mitigate NAND flash slow access latency, which could otherwise significantly degrade system performance. We experimentally confirmed approximately 58% and 51% execution time and energy improvement compared with using DRAM alone. We also compared existing prefetching models without migration to evaluate the proposed prefetching and migration techniques and showed approximately 24% and 23% improvement for execution time and an energy consumption, respectively.
Similar content being viewed by others
References
Aye KN, Chandra R (2015) A platform for big data analytics on distributed scale-out storage system. Int J Big Data Intell 2(2):127141
Zawodny J (2015) Redis: lightweight key/value store that goes the extra mile. Linux Mag 79:2009
Qureshi MK, Srinivasan V, Rivers JA (2009) Scalable high performance main memory system using phase-change memory technology. In: Proceedings of the 36th Annual International Symposium on Computer Architecture, ACM, pp 24–33
Loh GH (2008) 3D-stacked memory architectures for multi-core processors. In: Proceedings of the 35th Annual International Symposium on Computer Architecture, ACM, pp 453–464
Hu Z, Martonosi M, Kaxiras S (2003) TCP: tag correlating prefetchers. In: Proceedings the Ninth International Symposium on High-performance Computer Architecture, IEEE, pp 317–326
Joseph D, Grunwald D (1999) Prefetching using markov predictors. IEEE Trans Comput 48(2):121–133
Kandiraju GB, Sivasubramaniam A (2002) Going the distance for TLB prefetching: an application—driven study. In: IEEE Computer Society, vol 30, no 2, IEEE, pp 195–206
Yoon S-K et al (2019) Self-learnable cluster-based prefetching method for DRAM-flash hybrid main memory architecture. ACM J Emerg Technol Comput Syst (JETC) 15(1):10
Niu N et al (2019) WIRD: an efficiency migration scheme in hybrid DRAM and PCM main memory for image processing applications. IEEE Access 7:35941–35951
Yoon S-K et al (2018) Self-adaptive filtering algorithm with PCM-based memory storage system. ACM Trans Embed Comput Syst (TECS) 17(3):69
Zhou P, Zhao B, Yang J, Zhang Y (2014) Through-put enhancement for phase change memories. IEEE Trans Comput 63(8):20802093
Lee SM et al (2018) Adaptive correlated prefetch with large-scale hybrid memory system for stream processing. J Supercomput 74(9):4746–4770
Kgil T, Roberts D, Mudge T (2008) Improving NAND flash based disk caches. In: ACM SIGARCH Computer Architecture News, vol 36. no 3, IEEE Computer Society
Park C, Seo J, Seo D, Kim S, Kim B (2003) Cost-efficient memory architecture design of nand flash memory embedded systems. In: Proceedings of the 21st International Conference on Computer Design (ICCD 03), pp 474–480
Shen Z et al (2017) DIDACache: a deep integration of device and application for flash based key-value caching. In: FAST
Yoon S-K et al (2018) Design of DRAM-NAND flash hybrid main memory and Q-learning-based prefetching method. J Supercomput 74(10):5293–5313
Fu JWC, Patel JH, Janssens BL (1992) Stride directed prefetching in scalar processors. ACM SIGMICRO Newsl 23:1–2
Nesbit KJ, Smith JE (2004) Data cache prefetching using a global history buffer. In: IEE Proceedings Software, IEEE
Mosteller F, Tukey JW (1977) Data analysis and regression: a second course in statistics. Addison-Wesley, Reading
Gelman A, Hill J (2006) Data analysis using regression and multilevel/hierarchical models. Cambridge University Press, Cambridge
Caruana R, Niculescu-Mizil A (2006) An empirical comparison of supervised learning algorithms. In: ICML, pp 161–168
Peters G, Wilkinson JH (1975) On the stability of Gauss–Jordan elimination with pivoting. Commun Assoc Comput Mach 18:2024
Schmidhuber J (2015) Deep learning in neural networks: an overview. Neural Netw 61:85–117
Kanungo T et al (2002) An efficient k-means clustering algorithm: analysis and implementation. IEEE Trans Pattern Anal Mach Intell 7:881–892
Kisilevich S, Mansmann F, Keim D (2010) P-DBSCAN: a density based clustering algorithm for exploration and analysis of attractive areas using collections of geo-tagged photos. In: Proceedings of the 1st International Conference and Exhibition on Computing for Geospatial Research and Application, ACM
Ester M et al (1996) A density-based algorithm for discovering clusters in large spatial databases with noise. In: Kdd, vol 96, no 34
MacQueen J (1967) Some methods for classification and analysis of multivariate observations. In: Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, vol 1, no 14
Bellard F (2005) QEMU, a fast and portable dynamic translator. In: USENIX Annual Technical Conference, FREENIX Track, pp 41–46
Kim Y et al (2009) Flashsim: a simulator for nand flash-based solid-state drives. In: First International Conference on Advances in System Simulation, 2009, SIMUL09, IEEE
Cooper BF, Silberstein A, Tam E, Ramakrish-nan R, Sears R (2010) Benchmarking cloud serving systems with YCSB. In: Proceedings of the 1st ACM Symposium on Cloud Computing, ACM, pp 143–154
Chen S, Gibbons PB, Nath S (2011) Rethinking database algorithms for phase change memory. In: Proceedings of CIDR
Lu G, Nam YJ, Du DHC (2012) BloomStore: bloom-filter based memory-efficient key-value store for indexing of data deduplication on flash. In: 2012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST), IEEE
Acknowledgements
This work was supported by the National Research Foundation of Korea funded by the Korea government (MSIT) (NRF-2019R1A2C1008716).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Yun, JT., Yoon, SK., Kim, JG. et al. Effective data prediction method for in-memory database applications. J Supercomput 76, 580–601 (2020). https://doi.org/10.1007/s11227-019-03050-x
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-019-03050-x