Skip to main content

Advertisement

Log in

Effective data prediction method for in-memory database applications

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

References

  1. 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

    Article  Google Scholar 

  2. Zawodny J (2015) Redis: lightweight key/value store that goes the extra mile. Linux Mag 79:2009

    Google Scholar 

  3. 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

  4. 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

  5. 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

  6. Joseph D, Grunwald D (1999) Prefetching using markov predictors. IEEE Trans Comput 48(2):121–133

    Article  Google Scholar 

  7. 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

  8. 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

    Google Scholar 

  9. 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

    Article  Google Scholar 

  10. 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

    Google Scholar 

  11. Zhou P, Zhao B, Yang J, Zhang Y (2014) Through-put enhancement for phase change memories. IEEE Trans Comput 63(8):20802093

    Article  Google Scholar 

  12. Lee SM et al (2018) Adaptive correlated prefetch with large-scale hybrid memory system for stream processing. J Supercomput 74(9):4746–4770

    Article  Google Scholar 

  13. 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

  14. 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

  15. Shen Z et al (2017) DIDACache: a deep integration of device and application for flash based key-value caching. In: FAST

  16. 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

    Article  Google Scholar 

  17. Fu JWC, Patel JH, Janssens BL (1992) Stride directed prefetching in scalar processors. ACM SIGMICRO Newsl 23:1–2

    Article  Google Scholar 

  18. Nesbit KJ, Smith JE (2004) Data cache prefetching using a global history buffer. In: IEE Proceedings Software, IEEE

  19. Mosteller F, Tukey JW (1977) Data analysis and regression: a second course in statistics. Addison-Wesley, Reading

    Google Scholar 

  20. Gelman A, Hill J (2006) Data analysis using regression and multilevel/hierarchical models. Cambridge University Press, Cambridge

    Book  Google Scholar 

  21. Caruana R, Niculescu-Mizil A (2006) An empirical comparison of supervised learning algorithms. In: ICML, pp 161–168

  22. Peters G, Wilkinson JH (1975) On the stability of Gauss–Jordan elimination with pivoting. Commun Assoc Comput Mach 18:2024

    MathSciNet  MATH  Google Scholar 

  23. Schmidhuber J (2015) Deep learning in neural networks: an overview. Neural Netw 61:85–117

    Article  Google Scholar 

  24. Kanungo T et al (2002) An efficient k-means clustering algorithm: analysis and implementation. IEEE Trans Pattern Anal Mach Intell 7:881–892

    Article  Google Scholar 

  25. 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

  26. Ester M et al (1996) A density-based algorithm for discovering clusters in large spatial databases with noise. In: Kdd, vol 96, no 34

  27. 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

  28. Bellard F (2005) QEMU, a fast and portable dynamic translator. In: USENIX Annual Technical Conference, FREENIX Track, pp 41–46

  29. 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

  30. 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

  31. Chen S, Gibbons PB, Nath S (2011) Rethinking database algorithms for phase change memory. In: Proceedings of CIDR

  32. 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

Download references

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

Authors

Corresponding author

Correspondence to Shin-Dug Kim.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-019-03050-x

Keywords

Navigation