Research Article
BibTex RIS Cite

Veritabanı Uygulamalarında FPGA Tabanlı Hızlandırıcı Kullanımı

Year 2021, Issue: 22, 146 - 151, 31.01.2021
https://doi.org/10.31590/ejosat.848995

Abstract

Yazılım uygulamalarının performansı, sistem düzeyindeki çeşitli özellikler ile ölçülebilir. Sistem performansı iki ana faktör tarafından belirlenir: veri hesaplama ve hareket kapasitesi. Hesaplama performansı için, merkezi işlem birimi (CPU) mimarisi en önemli faktördür. Bir CPU mimarisi, temel hesaplamaları gerçekleştirmek için aritmetik mantık birimlerini (ALU) kullanır. Bu ALU'ların karmaşıklığı, ilkel aritmetik işlemlerin basamak boyutu ile belirlenir. Bir CPU'nun hesaplama performansı, ALU mimarilerinin performansı ile sınırlıdır. Daha yüksek performans için, CPU çekirdek mimarilerinde artan sayıda ALU kullanılır. Ayrıca, CPU üreticileri, belirli bir sürede gerçekleştirilen işlemlerin sayısını artırmak için çok çekirdekli mimariler tasarlamaktadırlar. Bu iki yaklaşım hesaplama birimlerinin miktarını artırsa da, bu yine de bazı işlem-yoğun uygulamalar için yeterli değildir. Bazı problemler doğası gereği paralelleştirilemezler ve birden çok çekirdek arasında dağıtık olarak çalıştırılmaları zordur. Paralelleştirilebilir sorunlar için bile, çok çekirdekli bir çözüm, çekirdekler arasındaki veri giriş/çıkış sınırlamaları nedeniyle tüm CPU mimarisini yüksek bir yüzdeyle kullanamamaktadır. Veri hareketi için, sistemin bellek hiyeararşisinin yapısı baskın faktördür. Farklı düzeydeki önbelleklerin boyutu (L1, L2 ve L3), DDR arayüzünün bant genişliği (DDR4, DDR5, vb.) işlem-yoğun yazılım uygulamalarının performansını belirler. Özellikle veritabanı uygulamaları büyük miktarda veri içerdiğinden, hız için en önemli faktör bellek arayüzü haline gelir. FPGA mimarilerinin hızlandırıcı olarak kullanımı son zamanlarda işlem-yoğun yazılım uygulamalarında popüler hale gelmektedir. Bu makalede, bir FPGA mimarisinde uygulanan basit bir veritabanı sorgulama uygulaması sunulmuştur. Sonuçlar, büyük miktarda veriyle ilgili sorguları içeren veritabanı uygulamaları için önemli bir performans iyileştirmesi elde edilebileceğini göstermektedir.

Supporting Institution

TÜBİTAK

Project Number

118E044

Thanks

Bu çalışma, TÜBİTAK tarafından 118E044 numaralı araştırma projesi altında desteklenmiştir. TÜBİTAK'a bu konudaki desteklerinden dolayı teşekkür ederiz.

References

  • Alpern, B., Carter, L., Feig, E., & Selker, T. (1994). The uniform memory hierarchy model of computation. Algorithmica, 72.
  • Eigenmann, R., & Lilja, D. J. (1998). Von neumann computers. Wiley Encyclopedia of Electrical and Electronics Engineering, 23, 387-400.
  • Hammarlund, P., Martinez, A. J., Bajwa, A. A., Hill, D. L., Hallnor, E., Jiang, H., . . . Osborne, R. (2014). Hammarlund, Per, et al. "Haswell: The fourth-generation intel core processor. IEEE Micro, 6-20.
  • Hennessy, J. L., & Patterson, D. A. (2011). Computer architecture: a quantitative approach. Elsevier.
  • Jacobsen, M., Richmond, D., Hogains, M., & Kastner, R. (2015). RIFFA 2.1: A reusable integration framework for FPGA accelerators. ACM Transactions on Reconfigurable Technology and Systems (TRETS) 8, 1-23.
  • Jayapandian, M., & Jagadish, H. V. (2008). Automated creation of a forms-based database query interface. Proceedings of the VLDB Endowment 1.1, (s. 695-709).
  • Lam, M. D., Rothberg, E. E., & Wolf, M. E. (1991). The cache performance and optimizations of blocked algorithms. ACM SIGOPS Operating Systems Review, 63-74.
  • Lysaght, P., Blodget, B., Mason, J., Young, J., & Bridgford, B. (2006). Enhanced architectures, design methodologies and CAD tools for dynamic reconfiguration of Xilinx FPGAs. In 2006 International Conference on Field Programmable Logic and Applications (s. 1-6). IEEE.
  • Mert, A. C., Öztürk, E., & Savaş, E. (2019). esign and implementation of encryption/decryption architectures for bfv homomorphic encryption scheme. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 353-362.
  • Molka, D., Hackenberg, D., Schöne, R., & Nagel, W. E. (2015). Cache coherence protocol and memory performance of the intel haswell-ep architecture. 44th International Conference on Parallel Processing (s. 739-748). IEEE.
  • Navathe, S. B., & Elmasri, R. A. (2001). Fundamentals of Database Systems with Cdrom and Book. Addison-Wesley Longman Publishing Co., Inc.
  • XILINX. (2016). 7 Series FPGAs Configurable Logic Block - User Guide. Zazo, J. F., Lopez-Buedo, S., Audzevich, Y., & Moore, A. W. (2015). A PCIe DMA engine to support the virtualization of 40 Gbps FPGA-accelerated network appliances. In 2015 International Conference on ReConFigurable Computing and FPGAs (ReConFig) (s. 1-6). IEEE.

FPGA Accelerator Utilization in Database Applications

Year 2021, Issue: 22, 146 - 151, 31.01.2021
https://doi.org/10.31590/ejosat.848995

Abstract

Performance of software applications is determined by various system-level properties. System performance is determined by two major factors: data movement and computational bandwidth. For computational performance, central processing unit (CPU) architecture is the most important factor. A CPU architecture utilizes arithmetic logic units (ALU) to realize basic computations. Complexity of these ALUs is determined by the digit size of primitive arithmetic operations. Computational performance of a CPU is limited by the performance of its ALU architectures. For increased performance, CPU architectures utilize increased number of ALUs in their core architectures. Also, CPU manufacturers build multi-core architectures to increase number of operations realized in a given time. Although these two approaches increase the amount of computational units, this is still not enough for some compute-intensive applications. Some problems are inherently sequential and difficult to schedule amongst multiple cores. Even for parallelizable problems, a multi-core solution is not utilizing the entire CPU architecture with a high percentage, due to data i/o limitations between cores. For data movement, the structure of memory hieararchy of the system is the dominant factor. Size of different level caches (L1, L2 and L3), bandwidth of the DDR interface (DDR4, DDR5, etc.) determine the performance of compute-intensive software applications. Especially for database applications, since there is a large amount of data involved, the most important factor for speed becomes the memory interface. Usage of FPGA architectures as accelerators recently gained attention for compute-intensive software applications. In this paper, a simple database query application implemented on an FPGA architecture is presented. The results show that a significant performance improvement can be achieved for database applications involving queries on large amount of data. 

Project Number

118E044

References

  • Alpern, B., Carter, L., Feig, E., & Selker, T. (1994). The uniform memory hierarchy model of computation. Algorithmica, 72.
  • Eigenmann, R., & Lilja, D. J. (1998). Von neumann computers. Wiley Encyclopedia of Electrical and Electronics Engineering, 23, 387-400.
  • Hammarlund, P., Martinez, A. J., Bajwa, A. A., Hill, D. L., Hallnor, E., Jiang, H., . . . Osborne, R. (2014). Hammarlund, Per, et al. "Haswell: The fourth-generation intel core processor. IEEE Micro, 6-20.
  • Hennessy, J. L., & Patterson, D. A. (2011). Computer architecture: a quantitative approach. Elsevier.
  • Jacobsen, M., Richmond, D., Hogains, M., & Kastner, R. (2015). RIFFA 2.1: A reusable integration framework for FPGA accelerators. ACM Transactions on Reconfigurable Technology and Systems (TRETS) 8, 1-23.
  • Jayapandian, M., & Jagadish, H. V. (2008). Automated creation of a forms-based database query interface. Proceedings of the VLDB Endowment 1.1, (s. 695-709).
  • Lam, M. D., Rothberg, E. E., & Wolf, M. E. (1991). The cache performance and optimizations of blocked algorithms. ACM SIGOPS Operating Systems Review, 63-74.
  • Lysaght, P., Blodget, B., Mason, J., Young, J., & Bridgford, B. (2006). Enhanced architectures, design methodologies and CAD tools for dynamic reconfiguration of Xilinx FPGAs. In 2006 International Conference on Field Programmable Logic and Applications (s. 1-6). IEEE.
  • Mert, A. C., Öztürk, E., & Savaş, E. (2019). esign and implementation of encryption/decryption architectures for bfv homomorphic encryption scheme. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 353-362.
  • Molka, D., Hackenberg, D., Schöne, R., & Nagel, W. E. (2015). Cache coherence protocol and memory performance of the intel haswell-ep architecture. 44th International Conference on Parallel Processing (s. 739-748). IEEE.
  • Navathe, S. B., & Elmasri, R. A. (2001). Fundamentals of Database Systems with Cdrom and Book. Addison-Wesley Longman Publishing Co., Inc.
  • XILINX. (2016). 7 Series FPGAs Configurable Logic Block - User Guide. Zazo, J. F., Lopez-Buedo, S., Audzevich, Y., & Moore, A. W. (2015). A PCIe DMA engine to support the virtualization of 40 Gbps FPGA-accelerated network appliances. In 2015 International Conference on ReConFigurable Computing and FPGAs (ReConFig) (s. 1-6). IEEE.
There are 12 citations in total.

Details

Primary Language Turkish
Subjects Engineering
Journal Section Articles
Authors

Erdinç Öztürk 0000-0003-0456-9213

Project Number 118E044
Publication Date January 31, 2021
Published in Issue Year 2021 Issue: 22

Cite

APA Öztürk, E. (2021). Veritabanı Uygulamalarında FPGA Tabanlı Hızlandırıcı Kullanımı. Avrupa Bilim Ve Teknoloji Dergisi(22), 146-151. https://doi.org/10.31590/ejosat.848995