USING OF DATABASES AND PROGRAMMING LANGUAGES IN HIGH-PRECISION CALCULATIONS OF FLOATING-POINT NUMBERS
Yaroslav Kornaga · Management of Development of Complex Systems · 2020
Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського», Київ ВИКОРИСТАННЯ БАЗ ДАНИХ І МОВ ПРОГРАМУВАННЯ У ВИСОКОТОЧНИХ ОБЧИСЛЕННЯХ ЧИСЕЛ З ПЛАВАЮЧОЮ ТОЧКОЮ ВЕЛИКОЇ РОЗРЯДНОСТІ Анотація.Для багатьох наукових обчислень, що пов'язані з емпіричними даними, використовується 32-бітна арифметика з плаваючою точкою, яка дає результати достатньої точності для розрахунків.Проблема сучасної обчислювальної техніки полягає в правильному підборі сховищ для зберігання даних та проведення обчислень, а оцінка правильності проведення обчислень повинна бути виконана з більш високою точністю.Відомі розв'язки, для яких такої точності недостатньо, тому використання методів розрахунків із 64-бітною арифметикою з плаваючою точкою є більш придатним.Для деяких дуже складних задач виникає потреба у більш високих рівнях точності при великому масиві даних.У статті розглянуто задачу використання різних сучасних мов програмування для розв'язання задач обчислень з високою точністю.Багатоядерні і багатовузлові паралельні обчислення можна виконувати з високою точністю для різних процесів в різних сферах діяльності.Особливо важливим аргументом є точність проведення розрахунків для таких галузей, як енергетична, хімічна, машинобудівна промисловість.Проведено вибір методів для проведення високоточних обчислень та аналіз пакетів для високоточної арифметики, які використовуються у мовах програмування.Розроблене середовище для проведення експериментів з можливістю підключення чотирьох компіляторів та бібліотек мов програмування.Також проведено експериментальне дослідження з різними базами даних з використанням великих масивів даних, за якими побудовано відповідні індекси у високоточних обчисленнях та проводиться порівняння для різних типів даних.Використовувалися реляційні бази даних Oracle та MS SQL, а також нереляційні бази даних MongoDB та Oracle NoSQL.В результаті проведених експериментів показано, що бібліотеки С++ не достатньо швидко працюють з високоточними числами, а методи, які застосовувалися для оцінювання швидкості виконання високоточних операцій класичними мовами програмування, дають результати, які відрізняються менше ніж на 5%.Експеримент з базами даних, показав, що нереляційні бази даних проводять обчислення з більшою швидкістю, ніж реляційні, причому результати відрізняються не більше, ніж на 2%.База даних Oracle проводить розрахунок більш ніж на 30% швидше за MS SQL.