Yüzde tabanlı String Eşleme Problemi için yeni bir donanım modülü tasarımı

Bir verinin bir dizgi içerisinde veya bir gen yapısının bir DNA gen dizilimi içerisinde arama işleminin gerçekleştirilmesi için çeşitli algoritmalar kullanılmaktadır. Kullanılan bu algoritmalardan bazıları bize mutlak eşleşme olmadığı durumlarda olumsuz dönüt vermekte, bazıları ise "bunu mu arıyorsunuz" diye alternatifler sunmaktadır. Her iki algoritma da genel amaçlı PC'lerde saniyeler süren işlemler sonucunda bize dönüt verebilmektedir. Bu çalışmada bize hem mutlak eşleşmeyi hem de hedef dizgi içinde yüzdelik eşleşme oranlarının gerçekleştiği konumu veren FPGA çiplerine yönelik yüksek performanslı bir donanım modülü tasarlanmıştır. Geliştirilen modülün veri işleme hızı farklı PC'lerle karşılaştırılmış ve 2300 kata kadar daha hızlı arama gerçekleştirdiği karşılaştırma sonuçlarından elde edilen veriler ile doğrulanmıştır.

A hardware module design for percentage-based String Matching Problem

Various algorithms are used to perform search operations in an array structure or a gene in a DNA gene sequence data. Some of these algorithms provide results if there is an exact matching between the source and the target arrays while some others provide us some alternative results and ask us "Did you mean this". Both types of algorithms return results after running for seconds on general purpose computers (PC) depending on the size of the data being searched. In this study, we designed a hardware module for FPGA chips to perform both exact and percentage based string matching. In the case of percentage based matching, the module provides a location in target string on which the highest percentage of matching between the source and target occurs. The module's performance was compared to different PCs and it was observed that it can return a result up to 2300 times faster than PCs.

___

  • S. Jose, The Programmable Logic Data Book, Xilinx Inc, CA, 1994.
  • D. Knuth, The Art of Computer Programming 3 (3rd ed.), Addison-Wesley, 1997, pp. 396-408.
  • T. H. Cormen, C. E. Leiserson ve R. L. Rivest, Introduction to Algorithms, MIT Press and McGraw-Hill, 1990.
  • A. Dehon, The Density Advantage of Reconfigurable Computing, IEEE Computer, 2000, pp. 33,41-49.
  • D. Knuth, The Art of Computer Programming, volume 3, 1973, p. 506-542.
  • S. Qasim, A. S.A. ve B. Almashary, An Overview of Advanced FPGA Architectures for Optimized Computation IMPACT'09, 2009. Realization of Intensive Algorithms,
  • F. Rincon ve L. Teres, "Reconfigurable Hardware Systems", International Semiconductor Conference, 1998.
  • I. Sahin, "A Compilation Tool for Automated Mapping of Algorithms onto FPGA Based Custom Computing Machines", Raleigh-USA: NC State University, 2002.
  • I. Sahin, C. Gloster ve C. Doss, "Feasibility of Floating-Point Arithmetic in Reconfigurable Computing Systems", NASA Military and Aerospace Applications of Programmable Devices Washington, DC., 2000.
  • K. Sridharan ve T. Priya, "A Hardware Accelerator and FPGA Realization for Reduced Visibility Graph Construction Using Efficient Bit Representations", IEEE Transactions on Industrial Electronics, cilt 54, no. 3, 2007.
  • İ. Koyuncu ve İ. Şahin, "Generic Fpga Modules for Integer 2D and 3D Transformations", 12th. Conference for Computer Aided Engineering and System Modeling with Exhibition, Antalya, Turkey, 2007.
  • H. R.N., Practical fast searching in strings, Software - Practice & Experience, 1980, pp. 10(6):501-506.
  • A. Aho, Algorithms for finding patterns in strings, Handbook of Theoretical Computer Science, Elsevier, Amsterdam., 1990, pp. 255- 300.
  • K. R.M. ve R. M.O., Efficient randomized pattern-matching algorithms, IBM J. Res. Dev., 1987, pp. 31(2):249-260.