METHODS AND TOOLS FOR VERTICAL-PARALLEL SEARCHING OF MAXIMUM AND MINIMUM NUMBERS IN ARRAYS

2022;
: 68-77
https://doi.org/10.23939/ujit2022.01.068
Received: May 07, 2022
Accepted: May 19, 2022

Ци­ту­вання за ДСТУ: Цмоць І. Г., Анто­нів В. Я. Ме­то­ди та за­со­би верти­каль­но-па­ра­лель­но­го по­шу­ку в ма­си­вах макси­маль­них і мі­ні­маль­них чи­сел. Укра­їнсь­кий журнал інформа­ційних техно­ло­гій. 2022, т. 4, № 1. С. 68–77.

Ci­ta­ti­on APA: Tsmots, I. H., & Anto­niv, V. Ya. (2022). Methods and to­ols for verti­cal-pa­rallel se­arching of ma­xi­mum and mi­ni­mum numbers in arrays. Ukra­ini­an Jo­urnal of Informa­ti­on Techno­logy, 4(1), 68–77. https://doi.org/10.23939/ujit2022.01.0068

1
Lviv Polytechnic National University, Lviv, Ukraine
2
Lviv Polytechnic National University, Lviv, Ukraine

The current stage of development of information technology is characterized by the expansion of the applications, much of which is associated with the accumulation of large data sets and parallel data searching in real-time. Such applications include automated systems for multi-level control of technological processes and complex objects, where at the lower levels of such systems is the accumulation of large data sets and their processing in real time. The main source in these systems are different sensors and devices that generate telemetric data. That is why it is very crucial to preprocess this data in real-time for finding further issues. One of the optimal ways for implementing it, is to use hardware approach like programmable logic device (PLD) with FPGA type. For resolving this issue in the article were analyzed the recent research and publications and has shown that the disadvantage of existing methods and algorithms for finding the maximum and minimum numbers in one-dimensional and two-dimensional arrays is that they are not focused on hardware implementation by using PLD with FPGA type. It is shown that the development of high-speed hardware for finding maximum and minimum numbers in one-dimensional and two-dimensional arrays should be carried out with an integrated approach, which includes methods, algorithms, structures and modern LPD and should be based on the following principles: homogeneity and regularity of structure; localization and simplification of connections between elements; modularity of construction; pipeline and spatial parallelism of data processing; consistency of the intensity of the discharge of bit sections with the intensity of their processing in the device. The basic operations for the implementation of algorithms for vertical-parallel search of maximum and minimum numbers in one-dimensional and two-dimensional arrays are highlighted and it is shown that they are based on the same type of basic operations with local and regular connections. In the article was developed the method of vertical-parallel searching of maximum and minimum numbers in arrays, which due to parallel processing of the first bit of an array of numbers and parallel formation of control words provides reduction of search time, which is mainly determined by bit numbers. Improved vertical-parallel method of simultaneous search of maximum and minimum numbers in two-dimensional arrays, which due to the simultaneous processing of p one-dimensional arrays and the use of the displacement method reduces the search time by p times compared to the existing method. It is shown that the time of vertical-parallel search of maximum and minimum numbers in one-dimensional and two-dimensional arrays is determined by the bit size of numbers, not their numbers. It is determined that the use of a common bus for formatting of the i-th bit of the maximum (minimum) number and the parallel formation of control words provides an increasing in the processing frequency of bit slices of one-dimensional array. It is determined that the amount of FPGA hardware resources that required for implementation a device for vertical-parallel searching of maximum and minimum numbers in a one-dimensional array mainly depends on the size of the array of numbers, and search time on their bit size.

[1]     Aho, A., Ullman, J., & Hopcroft, J. (2001). Da­ta Struc­tu­res and Al­go­rithms. Pe­ar­son In­dia, 384 p.

[2]     Al­te­ra Cor­po­ra­ti­on. MAX FPGA Eval­ua­ti­on Kit. Gui­de. Ret­ri­eved from: http://itcj.set­host.net/pdf/epivt_2_1_36.pdf.

[3]     As­hen­den, P. J. (2010). The de­sig­ners gui­de to VHDL. Third Edi­ti­on. Mor­gan Ka­uf­mann, 936 p.

[4]     Cor­men, T. H., Le­iser­son, C. E., Ri­vest, R. L., & Ste­in, C. (2009). Intro­duc­ti­on to Al­go­rithms (3rd ed.). MIT Press and McGraw-Hill, 296 p.

[5]     Da­te, C. J. (2003). An intro­duc­ti­on to da­ta­ba­se systems (8th Edi­ti­on). Pe­ar­son, 328 p.

[6]     Grushvitsky, R. I., Mur­sa­ev, A. Kh., & Ugryu­mov, E. P. (2002). De­sig­ning systems ba­sed on prog­ram­mab­le lo­gic chips. St. Pe­tersburg: BHV-Pe­tersburg, 219, 148, 287–288pp. [In Rus­si­an].

[7]     Hrytsi­uk, Yu. I., & Buchkovska, A. Yu. (2018). Vis­ua­li­za­ti­on of the re­sults of ex­pert eval­ua­ti­on of softwa­re qua­lity using po­lar di­ag­rams. Sci­en­ti­fic Bul­le­tin of UN­FU, 27(10), 137–145. https://doi.org/10.15421/40271025

[8]     Hrytsi­uk, Yu. I., & Dal­yavskyy, V. S. (2018). Using Pe­tal Di­ag­ram for Vis­ua­li­zing the Re­sults of Ex­pert Eval­ua­ti­on of Softwa­re Qua­lity. Sci­en­ti­fic Bul­le­tin of UN­FU, 28(9), 97–106. https://doi.org/10.15421/411832

[9]     Hrytsi­uk, Yu. I., & Ne­mo­va, E. A. (2018). Ma­na­ge­ment Fe­atu­res Pro­cess of De­ve­lo­ping Softwa­re Req­ui­re­ments. Sci­en­ti­fic Bul­le­tin of UN­FU, 28(8), 161–169. https://doi.org/10.15421/40280832

[10]  Ji­ang, Q., Guo, Y., Yang, Z., & Zhou, X. (2020). A pa­ral­lel wha­le op­ti­mi­za­ti­on al­go­rithm and its imple­men­ta­ti­on on FPGA. IEEE Xplo­re: IEEE Congress on Evo­lu­ti­onary Com­pu­ta­ti­on (CEC). https://doi.org/10.1109/CEC48606.2020.9185737

[11]  Kle­in­berg, J., & Tar­dos, E. (2006). Al­go­rithm De­sign. Pe­ar­son, 800 p.

[12]  Knuth, E. D. (1998). Art of com­pu­ter prog­ram­ming, The: Vo­lu­me 3: Sor­ting and Se­arching (Se­cond edi­ti­on). Ad­di­son-Wes­ley Pro­fes­si­onal, 832 p.

[13]  Ko­mo­lov, D. A., Myalk, R. A., Zo­ben­ko, A. A., & Fi­lip­pov, A. S. (2002). Com­pu­ter-aided de­sign systems from Al­te­ra MAX+plus II and Qu­ar­tus II. Moscow: Ra­di­oSoft. [In Rus­si­an].

[14]  Kopczyński, M., & Grześ, T. (2021). Hardwa­re ro­ugh set pro­ces­sor pa­ral­lel archi­tec­tu­re in FPGA for fin­ding co­re in big da­ta­sets. Uni­ver­sity of So­ci­al Sci­en­ces. In­for­ma­ti­on Techno­logy Insti­tu­te: Jo­ur­nal of Ar­ti­fi­ci­al In­tel­li­gen­ce and Soft Com­pu­ting Re­se­arch Vol. 11, No. 2. 99–110 pp. https://doi.org/10.2478/ja­iscr-2021-0007

[15]  Kre­ne­vich, A. P. (2021). Al­go­rithms and da­ta struc­tu­res. Kyiv: PPC "Uni­ver­sity of Kyiv", 200 p. [In Uk­ra­ini­an].

[16]  Le­vi­tin, A. V. (2006). Al­go­rithms: intro­duc­ti­on to de­ve­lop­ment and analysis. Mos­cow: Wil­li­ams, 215–218pp. [In Rus­si­an].

[17]  Mi­zu­ta­ni, K., Ya­ma­guc­hi, H., Uri­no, Y., & Ko­ibuc­hi, M. (2022). Ac­ce­le­ra­ting pa­ral­lel da­ta pro­ces­sing using op­ti­cally tightly co­up­led FPGAs. Jo­ur­nal of Op­ti­cal Com­mu­ni­ca­ti­ons and Net­wor­king Vol. 14, Is­sue 2, A166–A179 pp. https://doi.org/10.1364/JOCN.448626

[18]  Ott, D. E., & Wil­de­rot­ter, T. J. (2010). A de­sig­ners gui­de to VHDL synthe­sis. Sprin­ger Pub­lis­her, 336 p.

[19]  Pa­la­gin, A., & Opa­na­sen­ko, V. (2006). Re­con­fi­gu­rab­le com­pu­ting systems. Kyiv: Pros­vi­ta. 280 p. [In Uk­ra­ini­an].

[20]  Rashke­vich, Y. M, Tsmots, I. G, & Zer­bi­no, D. D. (2000). De­vi­ce for de­ter­mi­ning the ma­xi­mum num­ber from a gro­up of num­bers. Uk­ra­ini­an pa­tent for in­ven­ti­on № 29700. Bull. № 6–11. [In Uk­ra­ini­an].

[21]  Tsmots, I. G, & Sko­ros­ho­da, O. V. (2013). De­vi­ce for de­ter­mi­ning the ma­xi­mum num­ber from a gro­up of num­bers. Pa­tent of Uk­ra­ine for uti­lity mo­del № 103106, 10.09.2013, Bull. № 17. [In Uk­ra­ini­an].

[22]  Tsmots, I. G., Sko­ros­ho­da, O. V., Me­di­kovsky, M. O., & An­to­niv, V. Ya. (2015). De­vi­ce for de­ter­mi­ning the ma­xi­mum num­ber from a gro­up of num­bers. Pa­tent of Uk­ra­ine for the in­ven­ti­on № 110187, 25. Bull. № 22. [In Uk­ra­ini­an].

[23]  Wa­lus, K., Dysart, T. J., Jul­li­en, G. A., & Bu­di­man, R. A. QCA­De­sig­ner. Ret­ri­eved from: http://www.mi­na.ubc.ca/qca­de­sig­ner.

[24]  Zo­tov, V. (2010). Fe­atu­res of the archi­tec­tu­re of a new ge­ne­ra­ti­on of FPGAs with archi­tec­tu­re from Xi­linx. Fi­nestre­et Pub­lis­hing: Com­po­nents and techno­lo­gi­es № 12, 17–24 pp. [In Rus­si­an].