МЕТОДИ ТА ЗАСОБИ ВЕРТИКАЛЬНО-ПАРАЛЕЛЬНОГО ПОШУКУ В МАСИВАХ МАКСИМАЛЬНИХ І МІНІМАЛЬНИХ ЧИСЕЛ

https://doi.org/10.23939/ujit2022.01.068
Надіслано: Травень 07, 2022
Прийнято: Травень 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
Національний університет "Львівська політехніка", м. Львів, Україна
2
Національний університет "Львівська політехніка", м. Львів, Україна

Проведено аналіз останніх досліджень та публікацій, який показав, що недоліком наявних методів та алгоритмів пошуку максимального і мінімального чисел в одновимірному та двовимірному масивах є те, що вони не орієнтовані на апаратну реалізацію з використанням програмованих логічних інтегральних схем (ПЛІС) типу FPGA. Показано, що розроблення високошвидкісних апаратних засобів для пошуку максимальних і мінімальних чисел у одновимірному та двовимірному масивах доцільно здійснювати при інтегрованому підході, який охоплює методи, алгоритми, структури та сучасні ПЛІС і ґрунтується на використанні таких принципів: однорідності та регулярності структури; локалізації та спрощення зв'язків між елементами; модульності побудови; конвеєризації та просторового паралелізму опрацювання даних; узгодженості інтенсивності надходження розрядних зрізів із інтенсивністю їх опрацювання у пристрої. Виділено базові операції для реалізації алгоритмів вертикально-паралельного пошуку максимальних і мінімальних чисел у одновимірних і двовимірних масивах і показано, що вони ґрунтуються на однотипних базових операціях з локальними та регулярними зв'язками. Розроблено вертикально-паралельний метод одночасного пошуку максимальних і мінімальних чисел у одновимірних масивах, який за рахунок паралельного опрацювання і-го розрядного зрізу масиву чисел і паралельного формування слів управління забезпечує зменшення часу пошук, який в основному визначається розрядністю чисел. Вдосконалено вертикально-паралельний метод одночасного пошуку максимальних і мінімальних чисел у двовимірних масивах, який за рахунок одночасного опрацювання р одновимірних масивів і використання методу витіснення забезпечує зменшення тривалості пошуку у р разів порівняно з наявним методом. Показано, що час вертикально-паралельного пошуку максимальних і мінімальних чисел у одновимірному та двовимірному масивах визначається розрядністю чисел, а не їх кількістю. Визначено, що використання спільної шини для формування і-го розряду максимального (мінімального) числа та паралельне формування слів управління забезпечує підвищення частоти опрацювання розрядних зрів одновимірного масиву. Визначено, що кількість апаратних ресурсів FPGA необхідних для реалізації пристрою вертикально-паралельного пошуку максимального і мінімального чисел у одновимірному масиві в основному залежить від розміру масиву чисел, а тривалість пошуку від їх розрядності.

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