Research Article
BibTex RIS Cite

Java Ön Bellek Gerçekleştirmelerinin Bir Performans Karşılaştırması

Year 2020, Volume: 10 Issue: 3, 844 - 852, 15.07.2020
https://doi.org/10.17714/gumusfenbil.637942

Abstract

Günümüzde bilgi sistemleri ciddi miktarda
veri ağırlıklıdır ve bu veri gitgide daha kritik hale gelmektedir. Bu tip veriye
erişimde gecikmeye toleransı olmayan sistemlerde, veriye ulaşım yöntemi çok
daha kritik hale gelmektedir. Bu tip durumlarda, ön bellek hafızası ismi
verilen ek bir veri katmanı kullanılmaktadır. Java Community Process tarafından
tanımlanan şartlara uyan gerek açık kaynak kodlu gerekse ticari çeşitli Java ön
bellek gerçekleştirmeleri mevcuttur. Bu çalışmada, en çok kullanılan Java ön
bellek gerçekleştirmeleri ihtiyaç duyduğu zaman ve bellek tüketim açısından
performans karşılaştırması yapmak üzere değerlendirilmiştir. Deneysel sonuçlar
ön bellek mimari tasarımının performans üzerine ciddi etkisi olduğunu ve tüm
veri işlemleri için en iyi performansı gösteren tek bir kazananın olmadığını
göstermiştir.

References

  • Ahn, J., Yoo, S., Mutlu, O., and Choi, K. (2015). PIM-Enabled Instructions: A Low-Overhead, Locality-Aware Processing-in-Memory Architecture. Proceedings of the 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA 2015), 336–348. https://doi.org/10.1145/2749469.2750385
  • Akbari Bengar, D., Ebrahimnejad, A., Motameni, H., and Golsorkhtabaramiri, M. (2020). A Page Replacement Algorithm based on a Fuzzy Approach to Improve Cache Memory Performance. Soft Computing, 24, 955–963. https://doi.org/10.1007/s00500-019-04624-w
  • Alghazo, J., Akaaboune, A., and Botros, N. (2004). SF-LRU Cache Replacement Algorithm. Records of the IEEE International Workshop on Memory Technology, Design and Testing, 19–24. https://doi.org/10.1109/MTDT.2004.1327979
  • Bahn, H., and Noh, S. H. (2003). Characterization of Web Reference Behavior Revisited: Evidence for Dichotomized Cache Management. Information Networking, Networking Technologies for Enhanced Internet Services International Conference 2003 (ICONN 2003), 1018–1027. https://doi.org/10.1007/978-3-540-45235-5_100
  • Carra, D., and Michiardi, P. (2014). Memory Partitioning in Memcached: An Experimental Performance Analysis. 2014 IEEE International Conference on Communications (ICC 2014), 1154–1159. https://doi.org/10.1109/ICC.2014.6883477
  • Chi, P., Li, S., Xu, C., Zhang, T., Zhao, J., Liu, Y., Wang, Y., and Xie, Y. (2016). PRIME: A Novel Processing-In-Memory Architecture for Neural Network Computation in ReRAM-Based Main Memory. Proceedings of the 2016 43rd International Symposium on Computer Architecture (ISCA 2016), 27–39. https://doi.org/10.1109/ISCA.2016.13
  • Donghee Lee, Jongmoo Choi, Jong-Hun Kim, Noh, S. H., Sang Lyul Min, Yookun Cho, and Chong Sang Kim. (2001). LRFU: A Spectrum of Policies that Subsumes the Least Recently Used and Least Frequently Used Policies. IEEE Transactions on Computers, 50(12), 1352–1361. https://doi.org/10.1109/TC.2001.970573
  • Fattahi, S., Yazdani, R., and Vahidipour, S. M. (2019). Discovery of Society Structure in a Social Network Using Distributed Cache Memory. Proceedings of the 2019 5th International Conference on Web Research (ICWR 2019), 264–269. https://doi.org/10.1109/ICWR.2019.8765289
  • Fitzpatrick, B. (2004). Distributed Caching with Memcached. Linux Journal, 2004(124), 5.
  • Hennessy, J. L., and Patterson, D. A. (1998). Computer Organization & Design, The Hardware/Software Interface. Morgan Kaufmann Publishers.
  • Hoff, T. (2009). Facebook’s Memcached Multiget Hole: More Machines != More Capacity. High Scalability. http://highscalability.com/blog/2009/10/26/facebooks-memcached-multiget-hole-more-machines-more-capacit.html
  • Jinhyuk Yoon, Sang Lyul Min, and Yookun Cho. (2002). Buffer Cache Management: Predicting the Future from the Past. Proceedings International Symposium on Parallel Architectures, Algorithms and Networks 2002 (I-SPAN’02), 105–110. https://doi.org/10.1109/ISPAN.2002.1004268
  • Johns, M. (2015). Getting Started with Hazelcast (2nd ed.). Packt Publishing.
  • Jose, J., Subramoni, H., Luo, M., Zhang, M., Huang, J., Wasi-Ur-Rahman, M., Islam, N. S., Ouyang, X., Wang, H., Sur, S., and Panda, D. K. (2011). Memcached Design on High Performance RDMA Capable Interconnects. Proceedings of the 2011 International Conference on Parallel Processing (ICPP ’11), 743–752. https://doi.org/10.1109/ICPP.2011.37
  • Lee, D., Choi, J., Kim, J.-H., Noh, S. H., Min, S. L., Cho, Y., and Kim, C. S. (1999). On the Existence of a Spectrum of Policies that Subsumes the Least Recently Used (LRU) and Least Frequently Used (LFU) Policies. Proceedings of the 1999 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS ’99), 134–143. https://doi.org/10.1145/301453.301487
  • Mark Mulcahy. (2017). Big Data - Interesting Statistics, Facts & Figures. https://www.waterfordtechnologies.com/big-data-interesting-facts/
  • Martins, A., Penny, W., Weber, M., Palomino, D., Mattos, J., Porto, M., Agostini, L., and Zatt, B. (2017). Cache Memory Energy Efficiency Exploration for the HEVC Motion Estimation. Proceedings of the 2017 VII Brazilian Symposium on Computing Systems Engineering (SBESC). https://doi.org/10.1109/SBESC.2017.11
  • Murugesan, S. (2007). Understanding Web 2.0. IT Professional, 9(4), 34–41. https://doi.org/10.1109/MITP.2007.78
  • Nai, L., Hadidi, R., Sim, J., Kim, H., Kumar, P., and Kim, H. (2017). GraphPIM: Enabling Instruction-Level PIM Offloading in Graph Computing Frameworks. Proceedings of the 2017 International Symposium on High-Performance Computer Architecture (HPCA 2017), 457–468. https://doi.org/10.1109/HPCA.2017.54
  • Panda, P., Patil, G., and Raveendran, B. (2016). A Survey on Replacement Strategies in Cache Memory for Embedded Systems. Proceedings of the 2016 IEEE International Conference on Distributed Computing, VLSI, Electrical Circuits and Robotics (DISCOVER 2016), 12–17. https://doi.org/10.1109/DISCOVER.2016.7806218
  • Petrovič, J. (2008). Using Memcached for Data Distribution in Industrial Environment. 3rd International Conference on Systems (ICONS 2008), 368–372. https://doi.org/10.1109/ICONS.2008.51
  • Sedlacek, J., and Hurka, T. (2020). VisualVM. http://visualvm.github.io
  • Swain, D., Marar, S., Motwani, N., Hiwarkar, V., and Valakunde, N. D. (2018). CWRP: An Efficient and Classical Weight Ranking Policy for Enhancing Cache Performance. Proceedings of the 2017 4th International Conference on Image Information Processing (ICIIP 2017), 394–399. https://doi.org/10.1109/ICIIP.2017.8313747
  • URL-1, The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 107. (2017). Java Community Process. https://www.jcp.org/en/jsr/detail?id=107
  • URL-2, Ehcache. (2020). http://www.ehcache.org
  • URL-3, Guava: Google Core Libraries for Java. (2020). Google. https://github.com/google/guava
  • URL-4, Benchmarks. (2020). Cache2k. https://cache2k.org/benchmarks.html
  • URL-5, Open Source In-Memory Computing Platform - Apache Ignite. (2020). Apache. https://ignite.apache.org
  • URL-6, May 2009 Stack Exchange Data Dump. (2009). Stack Exchange. https://archive.org/details/stackexchange-ea45080eab61ab465f647e6366f775bf25f69a61
  • Wang, Z., McKinley, K. S., Rosenberg, A. L., and Weems, C. C. (2002). Using the Compiler to Improve Cache Replacement Decisions. Proceedings of the 2002 International Conference on Parallel Architectures and Compilation Techniques (PACT ’02), 199.
  • Wong, W. A., and Baer, J.-L. (2000). Modified LRU Policies for Improving Second-Level Cache Behavior. Proceedings Sixth International Symposium on High-Performance Computer Architecture. HPCA-6 (Cat. No.PR00550), 49–60. https://doi.org/10.1109/HPCA.2000.824338
  • Yeung, K. H., and Ng, K. W. (1997). An Optimal Cache Replacement Algorithm for Internet Systems. Proceedings of 22nd Annual Conference on Local Computer Networks, 189–194. https://doi.org/10.1109/LCN.1997.630987

A Performance Comparison of Java Cache Memory Implementations

Year 2020, Volume: 10 Issue: 3, 844 - 852, 15.07.2020
https://doi.org/10.17714/gumusfenbil.637942

Abstract

Nowadays the information systems are substantially data-intensive and
the data is going to be more critical than before. For these systems, which are
intolerant in terms of time latency, the way of accessing data becomes more
critical. In these situations, an additional data layer named cache memory is
used. There are various both open-source and commercial Java cache memory
implementations based on the specifications defined by Java Community Process.
In this study, the most widely used Java cache memory implementations are
evaluated in order to compare their performances in terms of elapsed time and
memory consumption. The experimental results imply that the architectural
design of cache memory has a great effect on performance and there is no winner
that provides the best performance for all data operations.

References

  • Ahn, J., Yoo, S., Mutlu, O., and Choi, K. (2015). PIM-Enabled Instructions: A Low-Overhead, Locality-Aware Processing-in-Memory Architecture. Proceedings of the 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA 2015), 336–348. https://doi.org/10.1145/2749469.2750385
  • Akbari Bengar, D., Ebrahimnejad, A., Motameni, H., and Golsorkhtabaramiri, M. (2020). A Page Replacement Algorithm based on a Fuzzy Approach to Improve Cache Memory Performance. Soft Computing, 24, 955–963. https://doi.org/10.1007/s00500-019-04624-w
  • Alghazo, J., Akaaboune, A., and Botros, N. (2004). SF-LRU Cache Replacement Algorithm. Records of the IEEE International Workshop on Memory Technology, Design and Testing, 19–24. https://doi.org/10.1109/MTDT.2004.1327979
  • Bahn, H., and Noh, S. H. (2003). Characterization of Web Reference Behavior Revisited: Evidence for Dichotomized Cache Management. Information Networking, Networking Technologies for Enhanced Internet Services International Conference 2003 (ICONN 2003), 1018–1027. https://doi.org/10.1007/978-3-540-45235-5_100
  • Carra, D., and Michiardi, P. (2014). Memory Partitioning in Memcached: An Experimental Performance Analysis. 2014 IEEE International Conference on Communications (ICC 2014), 1154–1159. https://doi.org/10.1109/ICC.2014.6883477
  • Chi, P., Li, S., Xu, C., Zhang, T., Zhao, J., Liu, Y., Wang, Y., and Xie, Y. (2016). PRIME: A Novel Processing-In-Memory Architecture for Neural Network Computation in ReRAM-Based Main Memory. Proceedings of the 2016 43rd International Symposium on Computer Architecture (ISCA 2016), 27–39. https://doi.org/10.1109/ISCA.2016.13
  • Donghee Lee, Jongmoo Choi, Jong-Hun Kim, Noh, S. H., Sang Lyul Min, Yookun Cho, and Chong Sang Kim. (2001). LRFU: A Spectrum of Policies that Subsumes the Least Recently Used and Least Frequently Used Policies. IEEE Transactions on Computers, 50(12), 1352–1361. https://doi.org/10.1109/TC.2001.970573
  • Fattahi, S., Yazdani, R., and Vahidipour, S. M. (2019). Discovery of Society Structure in a Social Network Using Distributed Cache Memory. Proceedings of the 2019 5th International Conference on Web Research (ICWR 2019), 264–269. https://doi.org/10.1109/ICWR.2019.8765289
  • Fitzpatrick, B. (2004). Distributed Caching with Memcached. Linux Journal, 2004(124), 5.
  • Hennessy, J. L., and Patterson, D. A. (1998). Computer Organization & Design, The Hardware/Software Interface. Morgan Kaufmann Publishers.
  • Hoff, T. (2009). Facebook’s Memcached Multiget Hole: More Machines != More Capacity. High Scalability. http://highscalability.com/blog/2009/10/26/facebooks-memcached-multiget-hole-more-machines-more-capacit.html
  • Jinhyuk Yoon, Sang Lyul Min, and Yookun Cho. (2002). Buffer Cache Management: Predicting the Future from the Past. Proceedings International Symposium on Parallel Architectures, Algorithms and Networks 2002 (I-SPAN’02), 105–110. https://doi.org/10.1109/ISPAN.2002.1004268
  • Johns, M. (2015). Getting Started with Hazelcast (2nd ed.). Packt Publishing.
  • Jose, J., Subramoni, H., Luo, M., Zhang, M., Huang, J., Wasi-Ur-Rahman, M., Islam, N. S., Ouyang, X., Wang, H., Sur, S., and Panda, D. K. (2011). Memcached Design on High Performance RDMA Capable Interconnects. Proceedings of the 2011 International Conference on Parallel Processing (ICPP ’11), 743–752. https://doi.org/10.1109/ICPP.2011.37
  • Lee, D., Choi, J., Kim, J.-H., Noh, S. H., Min, S. L., Cho, Y., and Kim, C. S. (1999). On the Existence of a Spectrum of Policies that Subsumes the Least Recently Used (LRU) and Least Frequently Used (LFU) Policies. Proceedings of the 1999 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS ’99), 134–143. https://doi.org/10.1145/301453.301487
  • Mark Mulcahy. (2017). Big Data - Interesting Statistics, Facts & Figures. https://www.waterfordtechnologies.com/big-data-interesting-facts/
  • Martins, A., Penny, W., Weber, M., Palomino, D., Mattos, J., Porto, M., Agostini, L., and Zatt, B. (2017). Cache Memory Energy Efficiency Exploration for the HEVC Motion Estimation. Proceedings of the 2017 VII Brazilian Symposium on Computing Systems Engineering (SBESC). https://doi.org/10.1109/SBESC.2017.11
  • Murugesan, S. (2007). Understanding Web 2.0. IT Professional, 9(4), 34–41. https://doi.org/10.1109/MITP.2007.78
  • Nai, L., Hadidi, R., Sim, J., Kim, H., Kumar, P., and Kim, H. (2017). GraphPIM: Enabling Instruction-Level PIM Offloading in Graph Computing Frameworks. Proceedings of the 2017 International Symposium on High-Performance Computer Architecture (HPCA 2017), 457–468. https://doi.org/10.1109/HPCA.2017.54
  • Panda, P., Patil, G., and Raveendran, B. (2016). A Survey on Replacement Strategies in Cache Memory for Embedded Systems. Proceedings of the 2016 IEEE International Conference on Distributed Computing, VLSI, Electrical Circuits and Robotics (DISCOVER 2016), 12–17. https://doi.org/10.1109/DISCOVER.2016.7806218
  • Petrovič, J. (2008). Using Memcached for Data Distribution in Industrial Environment. 3rd International Conference on Systems (ICONS 2008), 368–372. https://doi.org/10.1109/ICONS.2008.51
  • Sedlacek, J., and Hurka, T. (2020). VisualVM. http://visualvm.github.io
  • Swain, D., Marar, S., Motwani, N., Hiwarkar, V., and Valakunde, N. D. (2018). CWRP: An Efficient and Classical Weight Ranking Policy for Enhancing Cache Performance. Proceedings of the 2017 4th International Conference on Image Information Processing (ICIIP 2017), 394–399. https://doi.org/10.1109/ICIIP.2017.8313747
  • URL-1, The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 107. (2017). Java Community Process. https://www.jcp.org/en/jsr/detail?id=107
  • URL-2, Ehcache. (2020). http://www.ehcache.org
  • URL-3, Guava: Google Core Libraries for Java. (2020). Google. https://github.com/google/guava
  • URL-4, Benchmarks. (2020). Cache2k. https://cache2k.org/benchmarks.html
  • URL-5, Open Source In-Memory Computing Platform - Apache Ignite. (2020). Apache. https://ignite.apache.org
  • URL-6, May 2009 Stack Exchange Data Dump. (2009). Stack Exchange. https://archive.org/details/stackexchange-ea45080eab61ab465f647e6366f775bf25f69a61
  • Wang, Z., McKinley, K. S., Rosenberg, A. L., and Weems, C. C. (2002). Using the Compiler to Improve Cache Replacement Decisions. Proceedings of the 2002 International Conference on Parallel Architectures and Compilation Techniques (PACT ’02), 199.
  • Wong, W. A., and Baer, J.-L. (2000). Modified LRU Policies for Improving Second-Level Cache Behavior. Proceedings Sixth International Symposium on High-Performance Computer Architecture. HPCA-6 (Cat. No.PR00550), 49–60. https://doi.org/10.1109/HPCA.2000.824338
  • Yeung, K. H., and Ng, K. W. (1997). An Optimal Cache Replacement Algorithm for Internet Systems. Proceedings of 22nd Annual Conference on Local Computer Networks, 189–194. https://doi.org/10.1109/LCN.1997.630987
There are 32 citations in total.

Details

Primary Language English
Subjects Engineering
Journal Section Articles
Authors

Abdullah Talha Kabakuş 0000-0003-2181-4292

Publication Date July 15, 2020
Submission Date October 24, 2019
Acceptance Date June 23, 2020
Published in Issue Year 2020 Volume: 10 Issue: 3

Cite

APA Kabakuş, A. T. (2020). A Performance Comparison of Java Cache Memory Implementations. Gümüşhane Üniversitesi Fen Bilimleri Dergisi, 10(3), 844-852. https://doi.org/10.17714/gumusfenbil.637942