ВИКОРИСТАННЯ БАЗ ДАНИХ І МОВ ПРОГРАМУВАННЯ У ВИСОКОТОЧНИХ ОБЧИСЛЕННЯХ ЧИСЕЛ З ПЛАВАЮЧОЮ ТОЧКОЮ ВЕЛИКОЇ РОЗРЯДНОСТІ

Заголовок (англійською): 
USING OF DATABASES AND PROGRAMMING LANGUAGES IN HIGH-PRECISION CALCULATIONS OF FLOATING-POINT NUMBERS
Автор(и): 
Корнага Я.І.
Автор(и) (англ): 
Kornaga Yaroslav
Ключові слова (укр): 
високоточні обчислення; арифметика з плаваючою точкою; мови програмування; бази даних
Ключові слова (англ): 
high-precision calculations; floating point arithmetic; programming languages; databases
Анотація (укр): 
Для багатьох наукових обчислень, що пов'язані з емпіричними даними, використовується 32-бітна арифметика з плаваючою точкою, яка дає результати достатньої точності для розрахунків. Проблема сучасної обчислювальної техніки полягає в правильному підборі сховищ для зберігання даних та проведення обчислень, а оцінка правильності проведення обчислень повинна бути виконана з більш високою точністю. Відомі розв’язки, для яких такої точності недостатньо, тому використання методів розрахунків із 64-бітною арифметикою з плаваючою точкою є більш придатним. Для деяких дуже складних задач виникає потреба у більш високих рівнях точності при великому масиві даних. У статті розглянуто задачу використання різних сучасних мов програмування для розв’язання задач обчислень з високою точністю. Багатоядерні і багатовузлові паралельні обчислення можна виконувати з високою точністю для різних процесів в різних сферах діяльності. Особливо важливим аргументом є точність проведення розрахунків для таких галузей, як енергетична, хімічна, машинобудівна промисловість. Проведено вибір методів для проведення високоточних обчислень та аналіз пакетів для високоточної арифметики, які використовуються у мовах програмування. Розроблене середовище для проведення експериментів з можливістю підключення чотирьох компіляторів та бібліотек мов програмування. Також проведено експериментальне дослідження з різними базами даних з використанням великих масивів даних, за якими побудовано відповідні індекси у високоточних обчисленнях та проводиться порівняння для різних типів даних. Використовувалися реляційні бази даних Oracle та MS SQL, а також нереляційні бази даних MongoDB та Oracle NoSQL. В результаті проведених експериментів показано, що бібліотеки С++ не достатньо швидко працюють з високоточними числами, а методи, які застосовувалися для оцінювання швидкості виконання високоточних операцій класичними мовами програмування, дають результати, які відрізняються менше ніж на 5%. Експеримент з базами даних, показав, що нереляційні бази даних проводять обчислення з більшою швидкістю, ніж реляційні, причому результати відрізняються не більше, ніж на 2%. База даних Oracle проводить розрахунок більш ніж на 30% швидше за MS SQL.
Анотація (англ): 
Many scientific calculations involving empirical dates use 32-bit floating-point arithmetic, which gives results of sufficient accuracy for calculations. The problem of modern computers is the correct selection of repositories for data storage and calculations, and the assessment of the correctness of the calculations has been performed with greater accuracy. There are solutions for which such accuracy is not sufficient, so using of calculation methods with 64-bit floating-point arithmetic is more appropriate. There is a requirement for higher levels of accuracy for some very complex tasks with a large data set. This article considers the problem of using various modern programming languages to solve computational problems with high accuracy. There are multi-core and multi-node parallel calculations that can be performed with high accuracy for different processes in different areas of activity. A particularly important argument is the accuracy of calculations for industries such as energy, chemical, engineering. The choice of methods is made for high-precision calculations and analysis of packages for high-precision arithmetic, which are used in programming languages. An environment has been developed for conducting experiments with the possibility of connecting four compilers and libraries of programming languages. An experimental study was also conducted with different databases using large data sets, on which the corresponding indices in high-precision calculations were constructed and comparisons were made for different types of data. Relational Oracle and MS SQL databases were used, as well as non-relational MongoDB and Oracle NoSQL databases. As a result of experiments, it was shown that C++ libraries do not work fast enough with high-precision numbers and the methods used to estimate the speed of high-precision operations in classical programming languages give results that differ by less than 5%. The experiment with databases showed that non-relational databases perform calculations with a faster rate than relational ones, and the results differ by no more than 2%. The Oracle database calculated more than 30% faster than MS SQL.
Публікатор: 
Київський національний університет будівництва і архітектури
Назва журналу, номер, рік випуску (укр): 
Управління розвитком складних систем, номер 42, 2020
Назва журналу, номер, рік випуску (рус): 
Управление развитием сложных систем, номер 42, 2020
Назва журналу, номер, рік випуску (англ): 
Management of Development of Complex Systems, Number 42, 2020
Мова статті: 
Українська
Формат документа: 
application/pdf
Документ: 
Дата публікації: 
26 Май 2020
Номер збірника: 
Розділ: 
ІНФОРМАЦІЙНІ ТЕХНОЛОГІЇ УПРАВЛІННЯ
Університет автора: 
Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського», Київ
Литература: 
  1. Bailey D.H., Borwein J.M. High-precision arithmetic: progress and challenges. [Electronic resource]. – http://www.davidhbailey.com/dhbpapers/hp-arith.pdf.
  2. Исупов К.С. Методика выполнения базовых немодульных операций в модулярной арифметике с применением интервальных позиционных характеристик // Известия высших учебных заведений. Поволжский регион. Технические науки. № 3. – 2013. – С. 26 – 39.
  3. Исупов К.С. Об одном алгоритме сравнения чисел в системе остаточных классов // Вестник Астраханского государственного технического университетвта. – № 3. – 2014. – С. 40 – 49.
  4. Цюцюра М.І. Застосування генетичного алгоритму для формування функції належності нечітких множин / М.І. Цюцюра, А.В. Єрукаєв // Інформаційні технології управління. – № 36. – 2018. – С. 71 – 75.
  5. Исупов К.С.Модулярное масштабирование степенью двойки с произвольным шагом / К.С. Исупов, А.Н. Мальцев // Издательствово ВятГУ. – 2014. – С. 1179 – 1184.
  6. Chang C.C. A division algorithm using bisection method in residue number system / C.C. Chang, J.H. Yang // International Journal of Computer, Consumer and Control. – N 1. – 2013. – С. 59 – 66.
  7. Gbolagade K.A. An O(n) residue number system to mixed radix conversion technique/ K.A. Gbolagade, S.D. Cotofana // IEEE International Symposium on Circuits and Systems. – 24–27 May, 2009. – P. 521 524.
  8. Федусенко О.В. Концептуальна модель адаптивної інформаційної системи навчання /О.В. Федусенко, А.О. Федусенко, І.М. Доманецька // Інформаційні технології управління. – №32. – 2017. – С. 86 – 90.
  9. Корнага Я.І. Порівняльні оцінки застосування методів підвищення швидкості пошуку та запису даних в базах даних // Адаптивні системи автоматичного управління. – № 1(22). – 2013. – С. 37 – 44.
  10. Мухін В.Є. Аналіз ефективності оброблення запитів серверами гетерогенних розподілених баз даних /
    В.Є. Мухін, Я.І. Корнага // Технічні науки та технології. – №1. – 2016. – С. 89 – 94.
References: 
  1. Bailey, D.H. & Borwein, J.M., (2018). High-precision arithmetic: progress and challenges. [Electronic resource]. – http://www.davidhbailey.com/dhbpapers/hp-arith.pdf.
  2. Isupov, K.S., (2013). Methods of performing basic non-modular operations in modular arithmetic using interval positional characteristics. Izvestiya vysshikh uchebnykh zavedenii. Volga region. Technical sciences, 3, 26 – 39.
  3. Isupov, K.S., (2014). On an algorithm for comparing numbers in the system of residual classes. Bulletin of the Astrakhan State Technical University, 3, 40 – 49.
  4. Tsyutsyura, M.I. & Yerukaev, A.V., (2018). Application of genetic algorithm for formation of fuzzy set membership function. Information technologies of management, 36, 71 – 75.
  5. Isupov, K.S. & Maltsev, А.N., (2014). Modular scaling by the degree of two with an arbitrary step. Vyatchevo Publishing House, 1179 – 1184.
  6. Chang, C.C. & Yang, J.H., (2013). A division algorithm using bisection method in residue number system. International Journal of Computer, Consumer and Control, 1, 59 – 66.
  7. Gbolagade, K.A. & Cotofana, S.D., (2009). An O(n) residue number system to mixed radix conversion technique. IEEE International Symposium on Circuits and Systems, 521 – 524.
  8.  Fedusenko, O.V., Fedusenko, A.O. & Domanetskaya, I.M., (2017). Conceptual model of adaptive information system of education. Information technologies of management, 32, 86 – 90.
  9. Kornaga, Ya.I., (2013). Comparative evaluations of application of methods of increase of speed of search and record of data in databases. Adaptive systems of automatic control, 1 (22), 37 – 44.
  10. Mukhin, V.E. & Kornaga, Ya.I., (2016). Analysis of the efficiency of query processing by servers of heterogeneous distributed databases. Technical sciences and technologies, 1, 89 – 94.