Центральноукраїнський науковий вісник. Технічні науки. Випуск 4. - 2021

Permanent URI for this collectionhttps://dspace.kntu.kr.ua/handle/123456789/11333

Browse

Search Results

Now showing 1 - 2 of 2
  • Item type:Item,
    Методи та структури даних для реалізації бази даних рекомендаційної системи соціальної мережі
    (ЦНТУ, 2021) Міхав, В. В.; Мелешко, Є. В.; Шимко, С. В.; Mikhav, V.; Meleshko, Ye.; Shymko, S.
    Метою даної роботи є дослідження та програмна реалізація методів і структур даних для побудови бази даних рекомендаційної системи, щоб порівняти ефективність їх використання за затратами часу та пам’яті. Наявність великої кількості різних методів реалізації баз даних викликає необхідність порівняльного аналізу та вибору оптимального методу і структури даних для зберігання інформації у рекомендаційних системах. Було проведено дослідження різних структур даних, які можна використати для створення бази даних рекомендаційної системи, зокрема, досліджені зв’язний список, розгорнутий зв’язний список, хеш-таблиця, B-дерево, B+-дерево та бінарна діаграма рішень. Також було проведено серію експериментів на програмній імітаційній моделі рекомендаційної системи з різною кількістю агентів, предметів та сесій. Відповідно до результатів проведених експериментів, розгорнутий список показав найкращі показники швидкодії та використання пам’яті. Структура B+-дерево показала результати, близькі до хеш-таблиці. Час доступу до окремого елементу в обох випадках сталий, але B+-дерево має певні переваги – елементи зберігаються відсортованими, а при зміні розміру немає необхідності розширювати область пам’яті. Найгірші результати показала структура даних бінарна діаграма рішень як за затратами часу, так і за затратами пам’яті. Профілювання показало, що 75% часу роботи тесту варіанту з розгорнутим списком зайняло генерування випадкових даних для програмного імітаційного моделювання агентів та предметів рекомендаційної системи, тож, саме сховище даних має високі показники ефективності. Профілювання варіанту із інвертованим списком показало, що доступ до випадкових блоків займає більше часу через неможливість закешувати їх, тож, за умов реального навантаження час вставки нових даних буде більшим, а відносна ефективність застосування інвертованого списку зросте. Для найбільш ефективного використання пам’яті розмір блоку зв’язного списку має бути адаптований таким чином, щоб блоки були максимально заповнені. Блоки малого розміру зменшують втрати пам’яті, але збільшують час обходу всіх елементів списку та збільшують накладні витрати пам’яті. The goal of this work is to research and program implementation of methods and data structures for building a database of a recommendation system in order to compare the efficiency of their use in terms of time and memory costs. The presence of a large number of different methods of database implementation necessitates a comparative analysis and selection of the optimal method and data structure for storing information in recommendation systems. A research on various data structures that can be used to create a recommendation system database, in particular, the linked list, unrolled linked list, hash table, B-tree, B+-tree, and binary decision diagram were examined was conducted. A series of experiments on a software simulation model of a recommendation system with a different number of agents, items and sessions was also carried out. The following research results were obtained. According to the results of the experiments, the unrolled linked list showed the best time and memory effectiveness. The B+-tree structure showed results close to a hash table. The access time to an individual element is stable in both cases, but the B+-tree has certain advantages – the elements are kept sorted, and when resizing, there is no need to expand the memory area. The worst results were shown by the data structure of the binary decision diagram, both in terms of time consumption and memory consumption. Profiling showed that 75% of the test run time for the option with an unrolled list was taken by generating random data for software simulation of agents and items of the recommendation system, therefore, the data warehouse itself has high performance indicators. Profiling of the variant with an inverted list showed that access to random blocks takes longer due to the inability to cache them, therefore, under real load conditions, the time for inserting new data will be longer, and the relative efficiency of using the inverted list will increase. For the most efficient use of memory, the block size of the linked list should be adapted so that the blocks are as full as possible. Small blocks reduce memory waste, but increase the time to traverse all the elements of the list and increase memory overhead.
  • Item type:Item,
    Проблеми розподілених обчислень та шляхи їх вирішення
    (ЦНТУ, 2021) Минайленко, Р. М.; Мелешко, Є. В.; Minailenko, R.; Meleshko, Ye.
    В статті розглядаються проблеми розподілених обчислень та можливі шляхи їх вирішення. З початком розвитку обчислювальних мереж і появою Інтернету, з’явилась велика кількість віддалених сервісів які пропонують свої наявні обчислювальні ресурси. З одного боку, в результаті такої співпраці, можна вирішити проблему недостатності власних апаратних ресурсів, але, з другого боку, виникає ряд проблем, а саме: відсутність стандартів та алгоритмів розробки і моделювання як головних засобів побудови систем розподілених обчислень; відсутність універсальних і зручних інструментів розробки додатків; технічні проблеми та обмеження, які визначаються існуючими на даний час технічними рішеннями для побудови систем обробки даних з відносно високою продуктивністю; мала кількість і вузька направленість задач які б могли приносити прибуток. Означені проблеми потребують комплексного вирішення. The article considers the problems of distributed computing and possible ways to solve them. With the beginning of the development of computer networks and the advent of the Internet, a large number of remote services have appeared that offer their available computing resources. On the one hand, as a result of such cooperation, it is possible to solve the problem of insufficiency of own hardware resources, but, on the other hand, there are a number of problems, namely: lack of standards and algorithms of development and modeling as the main means of building distributed computing systems; lack of universal and convenient application development tools; technical problems and limitations, which are determined by the currently existing technical solutions for the construction of data processing systems with relatively high performance; small number and narrow focus of tasks that could generate income and require a comprehensive solution. One of the main problems with distributed computing is the slow development of high-speed network equipment that could compete with internal connections. Increasing the data transfer rate using outdated technologies is impossible for a number of technological and physical reasons. Research in the field of development of new data transmission protocols and their optimization is carried out, but the final decision does not yet exist. When organizing calculations related to data processing, an important issue is the rational distribution of data in terms of effective problem solving. Ordinary users do not do this, because most often they use ready-made solutions for their tasks. Even when creating new distributed systems by professional programmers, the specifics of application areas are not fully taken into account. That is, the created software products do not provide the ability to adapt to specific tasks of users, although work in this direction has significantly intensified. The solution to the problems of universality of the application of distributed computing lies in the creation of methods for software development and the creation of generalized solutions that would be universal and suitable for use in various fields of research.