Научная статья на тему 'ОСОБЕННОСТИ ПАРАЛЛЕЛЬНОГО ВЫПОЛНЕНИЯ АЛГОРИТМОВ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА ДАННЫХ'

ОСОБЕННОСТИ ПАРАЛЛЕЛЬНОГО ВЫПОЛНЕНИЯ АЛГОРИТМОВ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА ДАННЫХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
49
18
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНТЕЛЛЕКТУАЛЬНЫЙ АНАЛИЗ ДАННЫХ / ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ / АСИНХРОННЫЙ И СИНХРОННЫЙ ОБМЕН / ПАРАЛЛЕЛИЗАЦИЯ ПО ДАННЫМ / ПАРАЛЛЕЛИЗАЦИЯ ПО ЗАДАЧАМ / ПАРАЛЛЕЛЬНЫЕ ВЕТВИ / ПОТОК / ПОТОК ДИСПЕТЧЕР / СИНХРОННЫЙ ОБМЕН / АСИНХРОННЫЙ ОБМЕН / КЛАСТЕРНЫЕ СИСТЕМЫ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зайнидинов Хакимжон Насиридинович, Каршиев Зайнидин Абдувалиевич

В данной статье рассматривается особенности параллельного выполнения алгоритмов интеллектуального анализа данных (ИАД). В последнее несколько лет повышение производительности вычислительной техники связано, как с развитие многоядерных процессоров, так и с все большим распространение кластерных систем, в том числе и «облачных» систем. Однако современное программное обеспечение значительно отстает от аппаратной части и часто неэффективно использует предоставляемые вычислительные ресурсы. Данная проблема в первую очередь связана с трудоемкостью задачи распараллеливания вычислительных алгоритмов. К сожалению, исключением не являются и алгоритмы ИАД. В настоящее время проводится достаточно большое количество исследований в этой области. Выделены отдельные направления в области ИАД (в зарубежной литературе дан-ная область имеет название DataMining): параллельный ИАД (ParallelDataMining) и распределенный ИАД (DistributedDataMining). Большинство усилий исследователей в области параллельных алгоритмов ИАД тратятся на распараллеливание отдельных алгоритмов анализа и их дальнейшую оптимизацию. Ситуацию усугубляет и тем, что эти усилия прикладываются исходя из определенной среды вычисления, а следовательно при переносе такого решения в другие условия оно становится не эффективным. В работе проанализированы и выделены отличительные характеристики работы алгоритмов интеллектуального анализа данных при распараллеливании по данным и по задачам, параллельной работы алгоритма анализа данных с диспетчером и без диспетчера и процесса взаимодействия между ветвями в параллельных алгоритмах интеллектуального анализа данных.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Зайнидинов Хакимжон Насиридинович, Каршиев Зайнидин Абдувалиевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

FEATURES OF PARALLEL EXECUTION OF DATA MINING ALGORITHMS

This paper discusses the features of parallel execution of data mining algorithms (IAD). In the last few years, an increase in the productivity of computer technology has been associated both with the development of multi-core processors and with the increasing spread of cluster systems, including cloud systems. However, modern software is significantly behind the hardware and often inefficiently uses the provided computing resources. This problem is primarily associated with the complexity of the task of parallelizing computational algorithms. Unfortunately, IAD algorithms are no exception. Currently, a fairly large number of studies are being carried out in this area. Separate directions in the field of IAD are highlighted (in foreign literature this area is called DataMining): parallel IAD (ParallelDataMining) and distributed IAD (DistributedDataMining). Most of the efforts of researchers in the field of parallel IAD algorithms are spent on parallelization of individual analysis algorithms and their further optimization. The situation is aggravated by the fact that these efforts are applied on the basis of a certain computing environment, and therefore when such a solution is transferred to other conditions, it becomes ineffective. The paper analyzes and highlights the distinctive characteristics of the operation of data mining algorithms when parallelizing data and tasks, parallel operation of the data analysis algorithm with and without a dispatcher, and the process of interaction between branches in parallel data mining algorithms.

Текст научной работы на тему «ОСОБЕННОСТИ ПАРАЛЛЕЛЬНОГО ВЫПОЛНЕНИЯ АЛГОРИТМОВ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА ДАННЫХ»

Особенности параллельного выполнения алгоритмов интеллектуального анализа данных

Х.Н.Зайнидинов1, З.А. Каршиев2

1 Ташкентский университет информационных технологий, Ташкент, Узбекистан 2Самарканский филиал Ташкентского университета нформационных технологий имени Мухаммада ал-Хорезми, Самарканд, Узбекистан

Аннотация. В данной статье рассматривается особенности параллельного выполнения алгоритмов интеллектуального анализа данных (ИАД). В последнее несколько лет повышение производительности вычислительной техники связано, как с развитие многоядерных процессоров, так и с все большим распространение кластерных систем, в том числе и «облачных» систем. Однако современное программное обеспечение значительно отстает от аппаратной части и часто неэффективно использует предоставляемые вычислительные ресурсы. Данная проблема в первую очередь связана с трудоемкостью задачи распараллеливания вычислительных алгоритмов. К сожалению, исключением не являются и алгоритмы ИАД. В настоящее время проводится достаточно большое количество исследований в этой области. Выделены отдельные направления в области ИАД (в зарубежной литературе дан-ная область имеет название DataMining): параллельный ИАД (РагаИеШа1аМгш^) и распределенный ИАД (DistributedDataMmmg). Большинство усилий исследователей в области параллельных алгоритмов ИАД тратятся на распараллеливание отдельных алгоритмов анализа и их дальнейшую оптимизацию. Ситуацию усугубляет и тем, что эти усилия прикладываются исходя из определенной среды вычисления, а следовательно при переносе такого решения в другие условия оно становится не эффективным. В работе проанализированы и выделены отличительные характеристики работы алгоритмов интеллектуального анализа данных при распараллеливании по данным и по задачам, параллельной работы алгоритма анализа данных с диспетчером и без диспетчера и процесса взаимодействия между ветвями в параллельных алгоритмах интеллектуального анализа данных.

Ключевые слова. Интеллектуальный анализ данных, параллельные алгоритмы, асинхронный и синхронный обмен, параллелизация по данным, параллелизация по задачам, параллельные ветви, поток, поток диспетчер, синхронный обмен, асинхронный обмен, кластерные системы.

Введение

Алгоритмы интеллектуального анализа данных (ИАД) предназначены для извлечения знаний из объемных массивов данных [1]. При этом наибольшая ценность и нетривиальность получаемых знаний возможна при анализе значительных объемов данных. Здесь нужно учитывать следующие основные проблемы анализа: производительность - анализ больших объемов (измеряемых терабайтами) требует больших вычислительных ресурсов и может выполняться за неприемлемое для аналитика время; распределенность - в связи с большим объемом данных хранение информации может быть реализовано в распределенном хранилище, кроме того в силу природы данных они могут храниться в разных источниках. Эти обе проблемы могут решаться за счет параллельного и/или распределенного выполнения ИАД.

В последнее несколько лет повышение производительности вычислительной техники связано, как с развитие многоядерных процессоров, так и с все большим распространение кластерных систем, в том числе и «облачных» систем [2, 13, 14]. Однако современное программное обеспечение значительно отстает от аппаратной части и часто неэффективно использует предоставляемые вычислительные ресурсы. Данная проблема в первую очередь связана с трудоемкостью задачи

распараллеливания вычислительных

алгоритмов. К сожалению, исключением не являются и алгоритмы ИАД. В настоящее время проводится достаточно большое количество исследований в этой области. Выделены отдельные направления в области ИАД: параллельный ИАД и распределенный ИАД [3].

1. Работа алгоритма

ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА ПРИ РАСПАРАЛЛЕЛИВАНИИ ПО ДАННЫМ И ПО ЗАДАЧАМ

В любом параллельном алгоритме должны быть явно выделены параллельно выполняющиеся ветви [4, 13]. Перед выполнением таких ветвей должны быть выполнены подготовительные действия, позволяющие нескольким ветвям работать параллельно:

• создать ветви;

• инициализировать их данными для обработки, параметрами выполнения алгоритмов и текущим состоянием модели;

• распределить ветви алгоритма по средствам их выполнения (потокам, акторам, агентам и др.).

В связи с этим в структуру алгоритма добавляется операция, обеспечивающая такое распараллеливание - split. После выполнения параллельных ветвей должна следовать операция, обеспечивающая получение единого результата

[5].

• синхронизацию выполненных ветвей алгоритма;

• объединение результатов.

Для этого в структуру алгоритма добавляется операция join.

Возможны два типа параллелизации алгоритмов [6]: по данным и по задачам. При параллелизации по данным каждая ветвь включает в себя одинаковую последовательность шагов, которая применяется к разным данным. При параллелизации по задачам ветви будут содержать различные последовательности шагов.

Рис. 1. Конвейерная модель алгоритма анализа

Для алгоритмов ИАД наиболее подходящим является второй способ распараллеливания, учитывая, что одинаковые операции применяются к разным данным. Однако нельзя исключать и распараллеливания по задачам. Возможно применение конвейерной модели параллелизма, когда каждый этап алгоритма (включая подготовку данных) выполняется на отдельном процессоре (компьютере) (Рис. 1). При этом данные из источника извлекаются порциями, а результат их обработки передается следующему процессору.

В обоих случаях операции split и join должны быть добавлены в структуру алгоритма (Рис. 2) [7]. При параллелизации алгоритма ИАД по данным операция split будет выполнять следующие действия:

• создание одинаковых ветвей алгоритма (клонирование основной ветви);

• распределение набора данных, настроек выполнения и строящуюся модель знаний для каждой ветви;

• назначение ветви определенному обработчику выполнения;

• запуск параллельных ветвей на выполнение.

Операция join при параллелизации по данным

должна выполнить синхронизацию потоков и объединение построенных ими моделей знаний.

При параллелизации алгоритма ИАД по задачам операция split должна:

• создать параллельные ветви;

• определить порядок их выполнения (указать ссылки на каждую последующую ветвь);

• передать первой ветви ссылки на набор данных, настройки выполнения и строящуюся модель знаний;

• запустить выполнение алгоритма.

Операция join должна получить от последней

в цепочки ветви все результаты и объединить их (по сути, выполнив завершающую в конвейере операцию).

Рис. 2. Операции split и join в структуре алгоритмов (а -задачам)

2. Параллельная работа алгоритма

ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА С ДИСПЕТЧЕРОМ И БЕЗ ДИСПЕТЧЕРА

Классифицировать параллельные алгоритмы можно также в зависимости от подчиненности параллельных ветвей [8]. Можно выделить

при параллелизации по данным, б - при параллелизации по

параллелизацию с независимыми потоками и параллелизацию с потоком-диспетчером.

При параллелизации с независимыми потоками все обработчики параллельного выполнения ветвей алгоритма (потоки) являются равноправными и независимыми. Для параллелизма по данным и по задачам структура таких алгоритмов представлена на Рис. 3.

г -

-

+

\

i

Split

1 r

Г \ Диспетчер v J

— Join /

\

-1

б

а

а)

Рис. 3. Структура параллельного алгоритма с потоком параллелизации по задачам)

Каждая независимая ветвь параллельного алгоритма ИАД до начала выполнения должна получить все необходимое: набор данных, настройки выполнения и модель знаний. Далее

5)

диспетчером (а - при параллелизации по данным, б - при

происходит их запуск и ожидание завершения работы. Это выполняется операцией split как описано выше. После запуска каждый поток работает самостоятельно. После завершения

работы всех потоков будет производиться объединение полученных результатов блоком join.

Отличительной особенностью параллели-зации с потоком-диспетчером является то, что выделяется один ведущий поток, который управляет остальными потоками. Управление может заключаться, например, в распределении данных между зависимыми потоками.

Структура такого алгоритма, изображена на Рис. 3. Между операциями split и join выделяется главная ветвь - поток-диспетчер.

При такой структуре операция split может иметь некоторые отличия, в зависимости от того какие действия берет на себя поток диспетчер. Например, она не будет выполнять распределение данных, настроек выполнения и строящейся модели знаний для каждой ветви, если эту функцию взял на себя поток диспетчер. В любом случае операция split выполняет инициализацию и запуск потока диспетчера.

Операция join в такой структуре алгоритма также в зависимости от функций потока-диспетчера может изменить состав выполняемых действий. Так, в случае если поток - диспетчер выполняет объединение промежуточных и итоговых результатов, то операция join выполняет только синхронизацию ветвей и запуск следующего блока.

3. В ЗАИМОДЕЙСТВИЕ В ПАРАЛЛЕЛЬНЫХ АЛГОРИТМАХ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА

Еще одной характеристикой, отличающей параллельные алгоритмы друг от друга, является наличие или отсутствие обмена информацией между параллельными ветвями. Любой обмен разделяется на две фазы:

- подготовка и отправка сообщения;

- получение и обработка сообщения.

Таким образом, в параллельном алгоритме

должны выполняться два типа операций, отвечающих за пересылку сообщений:

- send - отправить, выполняющий подготовку сообщения и отправку его через доступные средства передачи;

- receive - получить, ожидающую сообщение и выполняющую его получение с помощью доступных средств доставки сообщений.

Выполнение операции send происходит в общем потоке алгоритма, т. е. она будет выполнена сразу после завершения предыдущего блока, а после его выполнения (отправки сообщения), управление перейдет к следующему за ним блоку (Рис. 4).

Начало

split()

Начало

Л г

split()

Рис. 4. Блоки отправителя и получателя в структуре параллельного алгоритма: а - асинхронный обмен, б - синхронный обмен

В отличие от отправителя операция receive будет ожидать сообщение до его прихода, т. е. после выполнения предшествующего блока выполнение последовательности будет приостановлено до получения сообщения. После обработки полученного сообщения выполнение последовательности будет продолжено. Как известно, информационный обмен может быть асинхронным и синхронным [9]. При асинхронном взаимодействии после отправки сообщения процесс выполнения продолжается, а ответ может быть получен в любое время или не получен вовсе (рисунок 4, а). При синхронном обмене отправитель, послав сообщение, переходит в состояние ожидания до получения ответа (рисунок 4, б).

Поведение отдельных функциональных блоков алгоритмов ИАД, зависит от: исходных данных, модели знаний и настроек, переданных в блок [10]. При этом изменению, в процессе выполнения блока, подвергаются только модель

знаний. Настройки и данные остаются неизменными при выполнении алгоритмов анализа. Таким образом, обмену между параллельно выполняющимися

функциональными блоками подлежат только модель знаний.

Рассмотрим следующие типовые ситуации, при которых в алгоритмах ИАД встает задача обмена сообщениями:

1. распределение исходных данных между параллельно выполняющимися ветвями алгоритма;

2. сбор полученных моделей знаний для их интеграции и представления единого результата;

3. обмен промежуточными результатами (моделями знаний) между ветвями для коррекции дальнейшего анализа.

В первой ситуации (Рис. 5) блок отправитель распределяет вектора набора данных по параллельно выполняющимся потокам в соответствии с внутренним алгоритмом.

Рис. 5. Распределение исходных данных между параллельно выполняющимися ветвями алгоритма

Данный блок должен выполняться в потоке диспетчере. При этом остальные потоки выполняются при получении очередного вектора. Таким образом, в описываемой ситуации используется асинхронный обмен сообщениями.

Примером описанной ситуации может служить параллелизация алгоритма Naive Base [11], при которой каждая параллельная ветвь вычисляет байесовскую вероятность для отдельного класса. Блок отправитель, выполняющийся в потоке-диспетчере, определяет для очередного вектора, класс к © Automatics & Software Enginery. 2020, N 1 (31)

которому он принадлежит и в зависимости от этого передает его в соответствующую ветвь алгоритма.

При сборе полученных результатов (Рис. 6) каждый поток отправляет полученные результаты потоку диспетчеру, который их обобщает и представляет единый результат. При этом поток диспетчера находится в состоянии ожидания результатов от всех остальных потоков и лишь при получении результатов от всех потоков выполняет их обработку. В этом случае также происходит асинхронный обмен сообщениями. http://iurnal.nips.ru/en 87

Рис.6. Сбор полученных моделей для их интеграции и представления единого результата

Примером приведенного сценария также может являться алгоритм Naive Base, в котором, параллельно выполняющиеся ветви, строят модели знаний для отдельных классов, при обработке переданных им векторов [12]. После обработки всех векторов все ветви передают построенные ими модели знаний (для каждого класса) потоку диспетчеру. В нем выполняется объединение моделей знаний в единый результат анализа.

В ситуации с обменом промежуточными результатами (рисунок 7) каждый поток после формирования промежуточного результата высылает его остальным потокам. При получении от всех потоков промежуточных результатов каждый поток обрабатывает их и продолжает выполнение. Необходимо заметить, что несмотря на присутствие в каждом потоке связки блоков отправитель - получатель, данный обмен не является синхронным, т.к. в этом

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

случае получатель ожидает не ответа на отправленное сообщение, а информацию, которая может быть выслана другим потоком в любое время (и до получения сообщения от первого потока). При этом выполнение потока будет продолжено лишь после получения промежуточных результатов от всех параллельных потоков (в том числе и после получения собственного результата).

Примером данной ситуации может выступать алгоритм построения классификационных правил С4.5 [1], в котором каждая параллельная ветвь вычисляет информативность атрибутов по определенному ей набору данных. В этом случае возможен обмен между ветвями алгоритма вычисленными значениями информативности атрибутов. После получения данной информации, каждая ветвь определяет наиболее информативный атрибут для всего набора данных и с учетом этого строит дерево решений.

Начало

1 г

split()

\ '

Рис. 7. Обмен промежуточными результатами (моделями знаний) между ветвями для коррекции дальнейшего анализа

Заключение

Таким образом, при параллельном выполнении алгоритмов ИАД нужно учитывать следующие:

— параллелизация алгоритмов по данным и по задачам

параллелизация алгоритма с диспетчером и без диспетчера

информационный обмен в параллельных алгоритмах

При параллелизации по данным каждая ветвь включает в себя одинаковую последовательность шагов, которая применяется к разным данным. При параллелизации по задачам ветви будут содержать различные последовательности шагов. Учитывая применения одинаковые операции к разным данным можно сделать вывод что, для алгоритмов ИАД наиболее подходящим является первый способ распараллеливания. Однако нельзя исключать и распараллеливания по задачам. Возможно применение конвейерной модели параллелизма, когда каждый этап алгоритма выполняется на отдельном процессоре. При этом данные из источника

извлекаются порциями, а результат их обработки передается следующему процессору.

Можно выделить параллелизацию с независимыми потоками и параллелизацию с потоком-диспетчером. При параллелизации с независимыми потоками все обработчики параллельного выполнения ветвей алгоритма (потоки) являются равноправными и независимыми. Отличительной особенностью параллелизации с потоком-диспетчером является то, что выделяется один ведущий поток, который управляет остальными потоками. Управление может заключаться, например, в распределении данных между зависимыми потоками.

Информационный обмен может быть асинхронным и синхронным. При асинхронном взаимодействии после отправки сообщения процесс выполнения продолжается, а ответ может быть получен в любое время или не получен вовсе. При синхронном обмене отправитель, послав сообщение, переходит в состояние ожидания до получения ответа.

Литература

[1] Анализ данных и процессов: Учеб. пособие для вузов. 3-е изд. / А. А. Барсегян [и др.] - СПб.: БХВ-Петербург, 2009. - 512 с.

[2] М.С. Куприянов, И.И. Холод, З.А. Каршиев, И.А. Голубев / Интеллектуальный анализ данных в распределенных системах. Монография. - СПб.: Издательство СПбГЭТУ «ЛЭТИ», 2012. 110 с.

[3] Карпов В. Е. Введение в распараллеливание алгоритмов и программ / В. Е. Карпов // Компьютерные исследования и моделирование. -2010, - Т. 2, № 3, - С. 231-272.

[4] Миков А. И., Замятина Е. Б. Распределенные системы и алгоритмы: Учеб. пособие. М.: БИНОМ. Лаборатория знаний, 2007.

[5] Стариченко, Б. Е. Теоретические основы информатики: Учебное пособие для вузов / Б. Е. Стариченко - 2-е изд. перераб. и доп. - М.: Горячая линия - Теле-ком, 2003. - 312 с.

[6] Столяров Л.Н., Абрамов В.М. Начала информатики. От задачи к про-грамме / Л.Н. Столяров, В.М. Абрамов - М.: Изд-во МАКЕТ, 2007. - 120 с.

[7] Карпов В. Е. Введение в распараллеливание алгоритмов и программ / В. Е. Карпов // Компьютерные исследования и моделирование. -2010, - Т. 2, № 3, - С. 231-272.

[8] Amol G., Prabhanjan K., Edwin P., Ramakrishnan K. NIMBLE: A Toolkit for the Implementation of Parallel Data Mining and Machine Learning Algorithms on MapReduce. Proceedings of the 17th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD'11), San Diego, California, USA, August 21-24, 2011. P. 334-342.

[9] Amado N., Gama J., Silva F. Exploiting Parallelism in Decision Tree Induc-tion. In Parallel and Distributed computing for Machine Learning. Cavtat-Dubrovnik, Croatia. 2003.

[10] Andrade H., Kurc T., Saltz J., Sussman A. Decision Tree Construction for Da-ta mining on Clusters of Shared Memory Multiprocessors. In 6th International Work-shop on High Performance Data mining: Pervasive and Data Stream Mining (HPDM: PDS'03). San Francisco, CA. 2003.

[11] Caragea D. Learning Classifiers from Distributed, Semantically Heterogeneous, Autonomous Data Sources. PhD thesis, Iowa State University. 2004.

[12] Hall O. L., ChawlaN., Bowyer W. K. Learning rules from distributed data. In Workshop on Large -Scale Parallel KDD Systems (KDD99). Also in RPI, CS Dep. Tech. Report 99-8. 1999. P. 77-83.

[13] Samatova N. F., Ostrouchov G., Al Geist, Melechko A. V. Rachet: An efficient cover-based merging of clustering hierarchies from distributed datasets. Distrib. Parallel Databases, 11(2). 2002. P. 157-180.

[14] Х.Н. Зайнидинов, Г.О. Тожибоев, О.У. Маллаев. Параллельные алгоритмы обработки сейсмических сигналов на многоядерных процессорах. Автоматика и программная инженерия. 2018, N»1 (23), г. Новосибирск, Россия, С. 89-95.

[15] Hakimjon Zaynidinov, Akbarali Rasulov. Developing Parallel Application on a Cluster of Personal computers. Journal of Convergence Information Technology ( JCIT ) , Vol. 9, No. 5, p. 1 -5, 2014, South Korea. http://www.aicit.org/icit/global/ppl.html?iname=JCIT

Хакимжон Насиридинович Зайнидинов - доктор технических наук, профессор, заведующий кафедрой Информационных технологий

Ташкентского университета

информационных технологий имени Мухаммада ал-

Хорезми. E-mail:

tet2001@rambler.ru

Зайнидин Абдувалиевич Каршиев - кандидат технических наук, доцент кафедры

Компьютерные системы Самаркандского филиала Ташкентского университета нформационных технологий имени Мухаммада ал-Хорезми. E-mail:

zaynidin85 @gmail. co m

Karshiev Zaynidin

Abduvaliyevich

Статья поступила 11.02.2020

f?!\ ill

Features of Parallel Execution of Data Mining Algorithms

Kh.N. Zainidinov1, Z.A. Karshiev2

1 Tashkent University of Information Technology, Tashkent, Uzbekistan

2Samarkan branch of the Tashkent University of Information Technologies named after Muhammad

al-Khorezmi, Samarkand, Uzbekistan

Abstract. This paper discusses the features of parallel execution of data mining algorithms (IAD). In the last few years, an increase in the productivity of computer technology has been associated both with the development of multi-core processors and with the increasing spread of cluster systems, including cloud systems. However, modern software is significantly behind the hardware and often inefficiently uses the provided computing resources. This problem is primarily associated with the complexity of the task of parallelizing computational algorithms. Unfortunately, IAD algorithms are no exception. Currently, a fairly large number of studies are being carried out in this area. Separate directions in the field of IAD are highlighted (in foreign literature this area is called DataMining): parallel IAD (ParallelDataMining) and distributed IAD

(DistributedDataMining). Most of the efforts of researchers in the field of parallel IAD algorithms are spent on parallelization of individual analysis algorithms and their further optimization. The situation is aggravated by the fact that these efforts are applied on the basis of a certain computing environment, and therefore when such a solution is transferred to other conditions, it becomes ineffective. The paper analyzes and highlights the distinctive characteristics of the operation of data mining algorithms when parallelizing data and tasks, parallel operation of the data analysis algorithm with and without a dispatcher, and the process of interaction between branches in parallel data mining algorithms.

Keywords. Data mining, parallel algorithms, asynchronous and synchronous exchange, data parallelization, task parallelization, parallel branches, thread, dispatcher thread, synchronous exchange, asynchronous exchange, cluster systems.

Refences

[1] Analiz dannykh i protsessov: Ucheb. posobiye dlya vuzov. 3-ye izd. / A. A. Barsegyan [i dr.] - SPb.: BKHV-Peterburg, 2009. - 512 c.

[2] Intellektual'nyy analiz dannykh v raspredelennykh sistemakh / M. S. Kupriyanov [i dr.] - SPb.: Izd-vo SPbGETU «LETI», 2012. - 110 s.

[3] Karpov V. Ye. Vvedeniye v rasparallelivaniye algoritmov i programm / V. Ye. Karpov // Komp'yuternyye issledovaniya i modelirovaniye. -2010, - T. 2, № 3, - S. 231-272.

[4] Mikov A. I., Zamyatina Ye. B. Raspredelennyye sistemy i algoritmy: Ucheb. posobiye. M.: BINOM. Laboratoriya znaniy, 2007.

[5] Starichenko, B. Ye. Teoreticheskiye osnovy informatiki: Uchebnoye posobiye dlya vuzov / B. Ye. Starichenko - 2-ye izd. pererab. i dop. - M.: Goryachaya liniya - Tele-kom, 2003. - 312 s.

[6] Stolyarov L.N., Abramov V.M. Nachala informatiki. Ot zadachi k pro-gramme / L.N. Stolyarov, V.M. Abramov - M.: Izd-vo MAKET, 2007. - 120 s.

[7] Karpov V. Ye. Vvedeniye v rasparallelivaniye algoritmov i programm / V. Ye. Karpov // Komp'yuternyye issledovaniya i modelirovaniye. -2010, - T. 2, № 3, - S. 231-272.

[8] NIMBLE: A Toolkit for the Implementation of Parallel Data Mining and Machine Learning Algorithms on MapReduce. Proceedings of the 17th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD'11), San Diego, California, USA, August 21-24, 2011. P. 334342.

[9] Amado N., Gama J., Silva F. Exploiting Parallelism in Decision Tree Induc-tion. In Parallel and Distributed computing for Machine Learning. Cavtat-Dubrovnik, Croatia. 2003.

[10] Andrade H., Kurc T., Saltz J., Sussman A. Decision Tree Construction for Da-ta mining on Clusters of Shared Memory Multiprocessors. In 6th International Work-shop on High Performance Data mining: Pervasive and Data Stream Mining (HPDM: PDS'03). San Francisco, CA. 2003.

[11] Caragea D. Learning Classifiers from Distributed, Semantically Heterogeneous, Autonomous Data Sources. PhD thesis, Iowa State University. 2004.

[12] Hall O. L., Chawla N., Bowyer W. K. Learning rules from distributed data. In Workshop on Large -Scale Parallel KDD Systems (KDD99). Also in RPI, CS Dep. Tech. Report 99-8. 1999. P. 77-83.

[13] Samatova N. F., Ostrouchov G., Al Geist, Melechko A. V. Rachet: An efficient cover-based merging of clustering hierarchies from distributed datasets. Distrib. Parallel Databases, 11(2). 2002. P. 157-180.

[14] Kh.N. Zaynidinov, G.O. Tozhiboyev, O.U. Mallayev. Parallel'nyye algoritmy obrabotki seysmicheskikh signalov na mnogoyadernykh protsessorakh. Avtomatika i programmnaya inzheneriya. 2018, №1 (23), g. Novosibirsk, Rossiya, S. 89-95.

[15] Hakimjon Zaynidinov, Akbarali Rasulov. Developing Parallel Application on a Cluster of Personal computers. Journal of Convergence Information Technology ( JCIT ) , Vol. 9, No. 5, p. 1 -5, 2014, South Korea. http://www.aicit.org/jcit/global/ppl.html?jname=JCIT

Xakimjon Nasriddinovich Zaynidinov - Doctor of Technical Sciences, Professor, Head of the Department of Information Technology of the Tashkent University of Information Technologies named after Muhammad al-Khorezmi.

E-mail: tet2001 @rambler.ru

Zaynidin Abduvaliyevich Karshiev - Candidate of Technical Sciences, associate professor of the Computer Systems Department of the Samarkand branch of Tashkent University of Information Technologies named after Muhammad al-Khorezmi.E-mail:

zaynidin85@gmail.com

The paper has been received on 11/02/2020

i Надоели баннеры? Вы всегда можете отключить рекламу.