авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:     | 1 | 2 || 4 |

«МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Московский государственный технический ...»

-- [ Страница 3 ] --

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

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

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

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

Глава 3 Развертывание вычислительного кластера на примере кластера в МГТУ МИРЭА. Практическая реализация методов и алгоритмов многопоточной обработки текстового контента на высокопроизводительных вычислительных кластерах.

3.1 Программная платформа для развертывания кластера MuninnHPC на основе доработанной кластерной платформы PelicanHPC Для реализации программной платформы вычислительного кластера использован дистрибутив PelicanHPC, актуальной на 2012 год версии 2.8.

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

Из недостатка указанного дистрибутива можно указать предоставление в виде носителя LiveCD, без возможности установить на внутренний накопитель сервера. Этот недостаток не позволяет вносить изменения «на лету» в зависимости от требований проектов. Преодоление указанного недостатка является первым шагом к созданию вычислительного кластера.

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

sudo mount /dev/sda1 /mnt unsquashfs /media/cdrom/pool/casper/filesystem.squshfs /home/user cp -rp /home/user/squashfs-root/* /mnt Далее восстанавливались последовательность загрузки демонов sudo mount --bind /dev /mnt/dev sudo mount --bind /dev/pts /mnt/dev/pts sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo chroot /mnt переход в окружение ОС кластера for i in `ls /etc/init.d/`;

do update.d $i defaults;

done update.d nfs-kernel disable update.d nfs-common disable Устанавливался системный загрузчик GRUB2:

apt-get install grub-common grub-install /dev/sda update-grub Копируется оригинальная файловая система узлов:

cp /media/cdrom/pool/casper/filesystem.squshfs /live/image/live cp /media/cdrom/pool/casper/initrd.img-2.6.32-5-486 /live/image/live cp /media/cdrom/pool/casper/vmlinuz-2.6.32-5-486 /live/image/live sudo chown root:root /live/image/live/* sudo chmod 644 /live/image/live/filesystem.squshfs sudo chmod 444 /live/image/live/*-2.6.32-5- На диске поставляются программы-скрипты (основными являются):

Для первой настройки кластера – pelican_boot_setup.

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

Скрипт перезагрузки кластерной подсистемы: pelican_sertart_hpc – выполняется при добавлении новых вычислительных узлов в кластер. При первом успешном запуске сервера должен быть запущен скрипт pelican_boot_setup. Далее этот скрипт должен запускаться только на узлах при загрузке.

В рамках архитектуры сети МГТУ МИРЭА и конкретных настроек кластеров в вышеперечисленные скрипты были внесены изменения, в части внутренней адресации сети кластера и имен машин. Для мониторинга активности системы используется Ganglia, отображающая нагрузки на процессоры, память, дисковую подсистему и сеть. Так же, система поддерживает пользовательские дополнительные сенсоры, на языках C, Perl, Python, PHP.

Для решения задач, поставленных в пункте 2.9, в кластер MuninnHPC были добавлены пакеты программ, основные из которых приведены в таблице 3.2.

Таблица 3.1 Добавленные соискателем пакеты в MuninnHPC Имя пакета Версия Описание из репозитория apache2 2.2.16-6+squeeze8 Apache HTTP Server metapackage Apache HTTP Server - traditional non apache2-mpm-prefork 2.2.16-6+squeeze threaded model apache2-utils 2.2.16-6+squeeze8 Utility programs for webservers apache2.2-bin 2.2.16-6+squeeze8 Apache HTTP Server common binary files Core client for the BOINC distributed boinc-client 6.10.58+dfsg- computing infrastructure GUI to control and monitor the BOINC core boinc-manager 6.10.58+dfsg- client checkinstall 1.6.2-1 Installation tracker fahclient 7.1.52 Folding@home Console Client fahcontrol 7.1.52-1 Folding@home Client Control 1.98+20100804- GRand Unified Bootloader, version grub-common 14+squeeze1 (common files) hpcc 1.4.1-1 HPC Challenge benchmark MySQL database client (metapackage mysql-client 5.1.63-0+squeeze depending on the latest version) MySQL database server binaries and system mysql-server-5.1 5.1.63-0+squeeze database setup network-manager 0.8.1-6+squeeze2 Network management framework daemon Server-side, HTML-embedded scripting php5 5.3.3-7+squeeze language (metapackage) Command-line interpreter for the php php5-cli 5.3.3-7+squeeze scripting language Common files for packages built from the php5-common 5.3.3-7+squeeze php5 source php5-gd 5.3.3-7+squeeze14 GD module for php php5-mcrypt 5.3.3-7+squeeze14 MCrypt module for php php5-mysql 5.3.3-7+squeeze14 MySQL module for php php5-suhosin 0.9.32.1-1 Advanced protection module for php phpmyadmin 4:3.3.7-7 MySQL web administration tool samba 2:3.5.6~dfsg-3squeeze8 SMB/CIFS file, print, and login server for Unix Common files used by both the Samba server samba-common 2:3.5.6~dfsg-3squeeze and client wireshark 1.2.11-6+squeeze10 Network traffic analyzer - GTK+ version wireshark-common 1.2.11-6+squeeze10 network traffic analyzer - common files tshark 1.2.11-6+squeeze10 network traffic analyzer - console version ethtool 1:2.6.34-3 display or change Ethernet device settings Рис. 3.1.2. Фотография кластера Рис.3.1.1 Фотография кластера «HuginnHPC»[131] «MuninnHPC»[119] На Рисунках 3.1.14 и 3.1.15 показаны кластеры созданные диссертантом на платформе MuninnHPC.

В рейтинге Top500 – самых производительных суперкомпьютеров планеты – используется специализированный пакет с тестами. Один из тестов, flops.f, был скомпилирован и использован для проверки производительности кластера. Результаты теста приведены ниже.

HPC Test --------------------------------------- Quantity of processors = Calculation time = 0.31 seconds Cluster speed = 5874 MFLOPS ------------------------------------------------ Cluster node N00 speed = 587 MFLOPS Cluster node N01 speed = 600 MFLOPS Cluster node N02 speed = 595 MFLOPS Cluster node N03 speed = 595 MFLOPS Cluster node N04 speed = 595 MFLOPS Cluster node N05 speed = 596 MFLOPS Cluster node N06 speed = 595 MFLOPS Cluster node N07 speed = 595 MFLOPS Cluster node N08 speed = 587 MFLOPS Cluster node N09 speed = 587 MFLOPS 192.168.1. Cluster node N00 speed = 597 MFLOPS 192.168.1. Cluster node N01 speed = 601 MFLOPS 192.168.1. Cluster node N02 speed = 601 MFLOPS 192.168.1. Cluster node N03 speed = 597 MFLOPS 192.168.1. Cluster node N04 speed = 597 MFLOPS 192.168.1. Cluster node N05 speed = 597 MFLOPS 192.168.1. Cluster node N06 speed = 597 MFLOPS 192.168.1. Cluster node N07 speed = 597 MFLOPS 192.168.1. Cluster node N08 speed = 597 MFLOPS 192.168.1. Cluster node N09 speed = 588 MFLOPS В первой части эксперимента оценивается производительность всего кластера, составляющая 5,874 GFLOPS, и производительность каждого процесса на узлах. Во второй части эксперимента приводятся результаты производительности каждого отдельного узла.

Суммарно, производительность отдельных машин составляет 5,969 GFLOPS, что на ~1.7% больше. Потери в первую очередь вызваны сетью передачи данных и текущей загруженностью каждого отдельного вычислителя. Вывод из проведенного эксперимента таков, что итоговая потеря производительности кластера, относительно отдельных машин, настолько незначительна, что может быть списана на условия проведения эксперимента. В результате проведенной работы построен вычислительный кластер, пригодный к многопоточному исполнению программ, использующих MPI.

Учебное направление кластеров рассматривалось еще в материалах [132,133]. Работа в образовательном учерезжении, в целом, обеспечивается поддержкой библиотеки MPI, существующей в тех или иных реализациях для большинства языков программирования (C, C++, C#, Java, Python, Perl, Ruby), подходящих для курсов «Информатика», «Основы программирования», «Программирование на ЯВУ» и других, связанных с созданием программ для ЭВМ. Так как большинство современных персональных компьютеров оснащается многоядерными процессорами, то обучение многопоточному программированию на многопроцессорных системах позволит многократно увеличить скорость выполнения приложений. Приблизительная производительность кластера на 10 узлах составляет от 5 до Гфлопс. Пиковая производительность кластера MuninnHPC, с дополнительными узлами из компьютерных аудиторий, может составлять около 20-22 Гфлопс, чего достаточно в учебном процессе.

Так же созданный кластер выступает в качестве так называемой «рендер-фермы» за счет использования сетевого физически корректного рендерера трехмерных сцен LuxRender.

Рендер-ферма – кластер для рендеринга (от английского rendering – «визуализация») компьютерной графики с помощью автономной пакетной обработки. Обычно применяется для создания визуальных эффектов в фильмах и телепередачах, создании трехмерных анимационных мультфильмов. Задача по рендерингу сложных сцен достаточно ресурсоемка.

Её распараллеливание и выполнение сразу на множестве компьютеров позволяет значительно сокращать время на получение результата. За счет использования сетевого физически корректного рендерера трехмерных сцен LuxRender [134], круг решаемых задач расширяется до поддержки дисциплины «Компьютерная геометрия и графика».

Дополнительная установка программного продукта Blender [135] так же позволит использовать вычислительный кластер как рендер-ферму, особенно при наличии в кластере графических ускорителей, которые поддерживаются рендерером Cycles [136] из пакета Blender.

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

3.2 Реализация алгоритма кластеризации с использованием многопоточности и графических процессоров (GPU Fuzzy C-Means) на языке Python Программная часть, относящаяся к алгоритму кластеризации и к обработке текстовых данных реализована на языке программирования Python. Этот язык программирования выбран по причинам, перечисленным ниже:

Простая работа со строковыми и текстовыми данными Обширная библиотека модулей, выполняющих множество функций Использование в качестве одного из языков по-умолчанию в ОС Linux Поддержка нескольких парадигм программирования, в том числе структурной, объектно-ориентированной, функциональной, императивной и аспектно ориентированной Низкий уровень «входа» для новичков Недостатком этого языка программирования является скорость работы итоговых программ [138], так как код не компилируется в бинарный исполняемый файл.

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

3.2. Экспериментальная верификация.

Не смотря на объемы поставляемых в пакете модулей, пришлось использовать и дополнительные, не входящие в стандартный пакет:

NumPy – расширение языка Python, добавляющее поддержку больших многомерных массивов и матриц, вместе с большой библиотекой высокоуровневых математических функций для операций с этими массивами. [140] PyCUDA3* – расширение, добавляющее поддержку параллельных вычислений на основе CUDA API. [141,142] mpi4py – расширение для доступа к функциям MPI на языке Python. [143] *Так как используется Python версии 3, пакета PyCUDA, mpi4py и openmpi1.6 соответствующей версии нет. Для разрешения этой сложности, соискателем был «собран» установочный.deb пакет, поддерживающий третью версию языка Python.

Вспоминая алгоритм кластеризации Fuzzy C-Means, рассмотрим некоторые аспекты его реализации. В программе используется многопоточность и графические ускорители там, где это целесообразно с точки зрения пункта 2.1 настоящей работы.

Первым шагом алгоритма является задание первичной матрицы M на основе генерации случайных значений для каждого элемента матрицы согласно условиям.

Второй шаг – расчет матрицы V. Для этого требуются матрица D, хранящаяся в файле, и матрица M, генерируемая на шаге 1. Согласно формуле (2.2) из пп. 2.1, для расчета одного элемента требуется столбец матрицы D и вся матрица M. Для упрощения расчетов, все элементы M возводятся в степень w, перед отправкой. Функции в (1) отвечают за разделение матрицы D на равные доли, которые передаются процессам первого уровня последней строчкой в блоке. В (2) показано, как каждый процесс уровня 1 вызывает подпроцессы (в зависимости от количества графических процессоров на узле кластера), которые далее в (3) передают математические расчеты на графические процессоры.

Особенностью является то, что процесс №0 отделен от всех остальных процессов логически, так как выполняет функции координационного процесса и хранилища текущих данных.

Остальные процессы первого уровня одновременно состоят в группе коммуникаторов верхнего уровня comm, коммуникаторов второго уровня subcomm, и коммуникаторов третьего уровня внутри подпроцесса (mycomm), позволяя передавать данные в двух направлениях до момента отключения от mycomm и subcomm. Сами уровни взаимодействия и коммуникаторы приведены на рисунке 2.1.4. Код (2) содержит функцию вызова подпрограммы с одновременным созданием коммуникатора subcomm.

if rank == 0:

chunks = [[] for i in range(size-1)] for i, chunk in enumerate(d_matrix):

chunks[i % (size-1)].append(chunk) chunks.insert(0, []) (1) else:

d_matrix = None v_matrix = None chunks = None d_matrix = comm.scatter(chunks, root=0) subcomm=MPI.COMM_SELF.Spawn(sys.executable, (2) args=['countV.py'], maxprocs=3) if myrank != 0:

temp2 = [] for i in range(len(D_matrix)): (3) d_gpu = gpuarray.to_gpu(D_matrix[i]) temp = [] for j in range(len(m_matrix_gpu)):

m_gpu = gpuarray.to_gpu(m_matrix_gpu[j]) temp += [(gpuarray.dot(d_gpu, m_gpu)/gpuarray.sum(m_gpu)).get()] temp2.append(temp) Третий шаг состоит из расчета матрицы расстояний между документами и центроидами. Матрица расстояний может рассчитываться сходно с шагом 2, с той лишь разницей, что матрица V передается процессам полностью, так как она занимает меньше места в памяти, а матрица D распределяется так же, как и в коде (1). В качестве формулы расстояний можно использовать такие расстояния как косинусная метрика, Евклидово расстояние, квадрат Евклидова расстояния, Расстояние Хэмминга, манхэттенское расстояние и множество других метрик.

На четвертом шаге рассчитывается новая матрица принадлежности M*. Возвращаясь к формуле 3, становится очевидно, что для расчета элемента mcn матрицы M потребуется n-й столбец матрицы DV. Исходя из этого, для расчета столбца матрицы M* нужно использовать соответствующий столбец матрицы DV. Для упрощения программирования, матрица DV транспонируется перед передачей на узлы через MPI. Таким образом, для расчета строки матрицы M у узла есть соответствующая строка матрицы DV. После сбора всех строк на процессе №0, уже матрица M транспонируется.

На пятом шаге считается квадрат разности матрицы M, созданной ранее, и матрицы M*, для того, чтобы определить насколько сильно изменились степени принадлежности документов. С точки зрения программного кода, функция представлена в (4). Полученное значение max_m_ms сравнивается с параметром, и, если оно меньше, то алгоритм останавливается. В противном случае, возвращаются к шагу 2.

max_m_ms = numpy.max(((gpuarray.to_gpu(M_matrix.copy()) - (4) gpuarray.to_gpu(M_star_matrix.copy()))**2).get()) В вычислениях используются переменные float32 (десятичные числа с одинарной точностью), так как графические ускорители теряют производительность при работе с числами двойной точности (float64), а так же и по причине отсутствия необходимости в двойной точности вычислений.

Строки c функциями broadcast, scatter и gather относятся к модулю MPI и выполняют следующие операции (Рис. 3.2.1):

Рис. 3.2.1 Иллюстрация некоторых функций MPI [143].

bcast() - разослать всем запущенным процессам данные, содержащиеся у процесса, инициировавшего широковещательную рассылку.

scatter() – распределить переменную одного процесса по частям по другим процессам.

gather() – собрать переменную из частей на указанном процессе.

Само распределение матриц по процессам основано на логике формулы 2.4 настоящей работы.

Cтроки кода, относятся к модулю PyCUDA:

gpuarray.to_gpu(D_matrix[i]) – передача матриц/векторов в память (GPU).

gpuarray.sum(m_gpu) – функция суммы элементов матриц/векторов в памяти (GPU).

m_gpu)/gpuarray.sum(m_gpu)).get() – извлечение (gpuarray.dot(d_gpu, матрицы/вектора из памяти и преобразование к типу присваиваемой переменной.

Реализованный программный модуль универсален относительно данных и не привязан исключительно к кластеризации текстового контента. На вход подается файл в формате CSV, содержащий имена объектов и вектора. Результатом работы программы являются информация об энтропии каждого кластера на шагах выполнения алгоритма, время, затраченное на выполнение, показатель разности между текущей матрицей М и предыдущей, файл со всеми словами, встреченными в текстах, а так же отдельный файл в формате CSV, содержащий итоговую матрицу принадлежности M.

Листинг 3.2.3 Функция считывания входного файла.

def read_Dm_file(path="/media/ramdisk/D_matrix_file.csv"):

print("Read File") temp = [] for lines in open(path):

lines = ((lines.split("$")[1]).split(";

"))[:-1] for i in range(len(lines)):

lines[i] = float(lines[i]) temp.append(lines) return numpy.array(temp).astype(numpy.float32) Для подтверждения гипотез, выдвинутых соискателем созданы две программы, зарегистрированные в Роспатенте.

Для проверки работоспособности программ использовался простой набор тестовых данных «Бабочка» [144]. Идея набора данных заключается в расположении объекта ровно в центре скоплений, таким образом, создавая элемент контроля для алгоритмов кластеризации.

Программа подготовки текстов получила в качестве входных данных 15 тестовых файлов, и создала выходной файл с содержимым, представленным в Таблице 3. Таблица 3.2 Содержимое тестового файла.

../test_set/set01.txt$1;

0;

../test_set/set02.txt$1;

2;

../test_set/set03.txt$1;

4;

../test_set/set04.txt$2;

1;

../test_set/set05.txt$2;

2;

../test_set/set06.txt$2;

3;

../test_set/set07.txt$3;

2;

../test_set/set08.txt$4;

2;

../test_set/set09.txt$5;

2;

../test_set/set10.txt$6;

1;

../test_set/set11.txt$6;

2;

../test_set/set12.txt$6;

3;

../test_set/set13.txt$7;

0;

../test_set/set14.txt$7;

2;

../test_set/set15.txt$7;

4;

Программа кластеризации считывает входной файл и создает матрицу принадлежности и матрицу координат центроидов, как показано в Таблице 3. Таблица 3.3 Фактические результаты эксперимента на данных «Бабочка»

Для 2-х кластеров Для 3-х кластеров V_matrix: V_matrix:

C1 (1.85736704, 2.00617743) C1 (1.60716176, 2.00000453) C2 (6.13434458, 1.99447477) C2 (6.40456486, 2.00000787) C3 (4.05324364, 1.99999392) c1 c2 c1 c2 c set01.txt 0,864 0,136 set01.txt 0,685 0,090 0, set02.txt 0,973 0,027 set02.txt 0,950 0,012 0, set03.txt 0,866 0,134 set03.txt 0,685 0,090 0, set04.txt 0,946 0,054 set04.txt 0,783 0,044 0, set05.txt 0,999 0,001 set05.txt 0,957 0,008 0, set06.txt 0,947 0,053 set06.txt 0,783 0,044 0, set07.txt 0,883 0,117 set07.txt 0,343 0,057 0, set08.txt 0,498 0,502 set08.txt 0,000 0,000 0, set09.txt 0,115 0,885 set09.txt 0,051 0,297 0, set10.txt 0,053 0,947 set10.txt 0,044 0,769 0, set11.txt 0,001 0,999 set11.txt 0,008 0,951 0, set12.txt 0,054 0,946 set12.txt 0,044 0,769 0, set13.txt 0,134 0,866 set13.txt 0,089 0,678 0, set14.txt 0,028 0,972 set14.txt 0,012 0,950 0, set15.txt 0,136 0,864 set15.txt 0,089 0,678 0, Визуализация экспериментов представлена на рисунке 3.2.2.

Рис. 3.2.2 Визуализация результатов эксперимента «Бабочка»

Эксперимент на данных «Бабочка» проводился дважды – для двух начальных центроидов и для трех. На Рис. 3.2.2 показаны оба эксперимента, где, соответственно отражены итоговые результаты. Для двух центроидов результаты сходится с контрольным и точка 8 практически равномерно распределена между двумя кластерами (значения мер принадлежности 0,498 и 0,502). Для трех кластеров центральная точка обособляется, а крайние центроиды сдвигаются к областям с большей плотностью объектов.

Результатом приведенного выше эксперимента стал вывод об отсутствии видимых ошибок в реализации алгоритма и возможности использования программ на текстовом контенте.

3.3 Апробация созданных кластеров в условиях конкуренции в проекте Folding@HOME.

Для экспериментов были созданы 2 кластера – один на кафедре ИИС МГТУ МИРЭА (ранее ТИССУ МГТУ МИРЭА), второй в МГДД(Ю)Т. Для сравнения с другими кластерами, группами компьютеров и вычислительными комплексами, кластеры в МГТУ МИРЭА и МГДД(Ю)Т участвуют в международном проекте Folding@Home (F@H, FAH) [3, 145]. Сам проект это проект распределённых вычислений для проведения Folding@Home компьютерного моделирования свёртывания молекул белка. Проект запущен 1 октября года учёными из Стэнфордского университета. Цель проекта – с помощью моделирования процессов свёртывания/развёртывания молекул белка получить лучшее понимание причин возникновения болезней Альцгеймера, Паркинсона, диабета типа II, болезни Крейтцфельдта Якоба (коровье бешенство), склероза и различных форм онкологических заболеваний, которые вызваны дефектными белками. К настоящему времени проект Folding@home успешно смоделировал процесс свёртывания белковых молекул на протяжении 5 – 10 мкс – что в тысячи раз больше предыдущих попыток моделирования. По результатам проекта вышло чуть менее 200 научных работ [146].

Участие в проекте заключается в получении от главного сервера задания для расчетов.

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

На рисунках 3.3.1-3.3.3 показаны статистические данные о кластере MuninHPC, о его загрузке по процессорам, процессам, памяти и сети. Данные предоставляет система мониторинга Ganglia, которая установлена на кластере и все время его работы получает данные с датчиков со всех зарегистрированных узлов кластера. На рисунке 3.3. представлена страница команды №222616 TISSU.MIREA, которая была зарегистрирована для участия в проекте. На странице указывается количество активных процессоров команды за последние 50 дней, рассчитанные задания и полученные за них очки. На 21 января года команда занимает 7628 место из 219478. То есть в пересчете на проценты, входила в первые 3.5% команд, участвующих в проекте. Первые 3 места занимают сборные команды с 1826, 5045 и 1830 процессорами соответственно. Так же, участвует сборная команда от компании Google и отдельная команда из всех, кто не присоединился к другим командам.

По мнению соискателя, участие в проекте и столь высокое положение в нем, подтверждают конкурентоспособность разработанного кластера, учитывая, что основой для него служит аппаратное обеспечение пользовательского класса, технология которого была создана почти 10 лет назад (сокет LGA775 был анонсирован 21.07.2004). Следовательно, использование современной компонентной базы позволит создавать более совершенные кластерные системы на основе предложенной соискателем. За счет использованных стандартов, методов, и улучшений кластер сможет составить конкуренцию более дорогим аналогам из профессиональной области, таким как серверы и кластеры на базе NVIDIA Tesla.

Рис.3.3.1 Показатели состава кластера и средняя нагрузка за 15,5,1 минуту. Показатели загрузки по процессам, загрузки CPU, памяти и сети кластера [139].

Рис. 3.3.2 Загрузка процессоров узлов кластера за период с 30 по 34 неделю 2013 года [139].

Рис. 3.3.3 Страничка команды №222616 TISSU.MIREA.[139] Рис. 3.3.4 Сертификат о рассчитанных командой1200 пакетах.[139] Рис. 3.3.5 Сертификат о полученных командой 540000 баллов за пакеты. [139] Глава 4 Практические исследования многопоточной кластеризации текстового контента на естественном языке.

Для практического исследования в работе будет проведено несколько экспериментов:

1. Проверка скорости расчетов на центральном процессоре и на графическом 2. Сравнение прироста производительности при обработке текстов в несколько потоков, 3. Проверка качества кластеризации на небольших подборках известных текстов художественного и технического направления 4. Проверка скорости работы на большой подборке из 450 художественных текстов.

4.1 Сравнение вычислительной скорости центрального и графического процессоров.

Для подтверджения гипотезы соискателя, что использование графических процессоров значительно сократит время работы алгоритма GPU Fuzzy C-means создана небольшая программа, которая генерирует два вектора с координатами, случайно распределенными от 0 до 1. После чего производится расчет Евклидова расстояния между этими двумя векторами. Размерности векторов начинаются от 1000 единиц и каждый новый шаг увеличивается на 1000. Эксперимент заканчивается при достижении размерности вектора в 500000 единиц. Код на языке Python приведен в листинге 4.1. Таблица 4.1.1 с результатами эксперимента приведена с шагом в 25000 единиц. Графики 4.1.1 наглядно демонстрирует превосходство GPU над центральным процессором в области векторных вычислений.

Листинг 4.1. Пример тест-кода на Python 3.2 и PyCUDA j= while j 2000000:

a = (numpy.random.rand(1,j).astype(numpy.float32))[0] b = (numpy.random.rand(1,j).astype(numpy.float32))[0] start = drv.Event() end = drv.Event() start.record() a_gpu = gpuarray.to_gpu(a) b_gpu = gpuarray.to_gpu(b) c_gpu = (gpuarray.sum((a_gpu-b_gpu)**2)).get() end.record() end.synchronize() secs = start.time_till(end)*1e- t1 = time.time() t= for i in range(len(a)):

t += (a[i]-b[i])** t = numpy.sqrt(t) t2 = time.time() print (“{0};

{1};

{2}”.format(j, secs, t2-t1)) j+= Сравнение времени расчетов на CPU и GPU 4, 3, 2, 2, 1, 10,0000 0, 0, 0, 0, 0, 1, 0 100000 200000 300000 400000 500000 0, Время расчетов, с.

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, Размерность пространства GPU_TIME CPU_TIME Рис. 4.1.1 График времени расчетов на CPU и GPU при разных размерностях пространства. Шкала времени расчетов логарифмическая.

Таблица 4.1.1 Время расчетов на CPU и GPU length GPU_TIME CPU_TIME 1000 0,3484 0, 10000 0,0007 0, 25000 0,0007 0, 50000 0,0009 0, 100000 0,0013 0, 150000 0,0018 0, 200000 0,0022 1, 300000 0,0035 2, 400000 0,0030 2, 500000 0,0032 3, 600000 0,0035 4, Не смотря на разительную разницу в скорости расчетов, полностью это преимущество достигается при работе с однотипными данными и операциями, так как графический процессор (GPU) компилирует операцию в бинарный файл, выполняющийся практически моментально. При работе с изменяющимися данными и формулами скорость расчетов будет несколько меньше, чем в эксперименте, но все еще в разы превосходить центральный процессор.

Исходя из графика 4.1.1 и таблицы 4.1.1, делается вывод о значительном преимуществе GPU перед CPU при использовании в расчетах алгоритма GPU Fuzzy C Means. Однако, общая скорость работы будет значительно меньше, так как используется несколько математических выражений, которые будут перекомпилироваться каждую новую итерацию алгоритма.

Так же, для сравнения скорости работы программы в однопоточном режиме и многопоточном режиме был сделан небольшой тест на модуле предобработки текстов для модулей морфоанализа mystem и pymorphy2. Тесты проводились для количества процессов от 1 до 12. Результаты приведены на Рис. 4.1.2 и 4.1.3.

Время анализа 450 текстов с помощью морфоанализаторов Время обработки, с.

0 1 2 3 4 5 6 7 8 9 10 11 12 Количество потоков, шт.

общее время Mystem общее время Pymorphy Рис. 4.1.2 Время обработки 450 текстов модулями mystem и pymorphy2 в 1-12 потоков Среднее время на обработку одного текста 1, 1, Время обработки, с.

0, 0, 0, 0, 0, 0 1 2 3 4 5 6 7 8 9 10 11 12 Количество потоков, шт.

время на файл Mystem время на файл Pymorphy Рис. 4.1.3 Время обработки одного текста модулем mystem и pymorhpy2 при работе в 1- потоков Время модуля mystem колеблется от 0.25 до 0.7 секунд на файл, для модуля pymorphy2 – от 0.34 до 1.1 на файл. При этом, для 450 текстов размерность пространства от мудя к модулю разнится;

mystem – 50 000 термов, pymorphy2 – 38 000 термов. Учитывая незначительную разницу, приоритет отдается модулю pymorphy2, так как модуль выдает слова только на русском языке и не ухудшает словарь термами на английском, в том числе и тегами html-разметки.

4.2 Кластеризация тестовой подборки художественных текстов.

Для первого эксперимента сделана подборка из 35 художественных текстов русских авторов и переводов иностранных авторов. В таблице 4.2.1 приведен список произведений и их обозначения на рисунках и таблицах далее в главе.

Таблица 4.2.1 Использованная в экспериментах художественная литература Автор Русское название (автор перевода) Обозначение в работе Р. Асприн Маленький МИФозаклад Asprin_Malenkiy_mifozaklad.txt МИФфия Невыполнима Asprin_Miffia_nevypolnima.txt ШУТТовская рода Asprin_Shuttovskaya_rota.txt ШУТТовской рай Asprin_Shuttovskoj_rai.txt Тамбу Asprin_Tambu.txt А. Азимов 3 закона работотехники Azimov_3_zakona_robototehniki.txt Коварная Каллисто Azimov_Kovarnaya_Kallisto.txt Бильярдный шар Azimov_bilyardniy_shar.txt Как рыбы в воде Azimov_kak_riby_v_vode.txt Открытие Уолтера Силса Azimov_otkrytye_uoltera_silsa.txt Ф. Герберт Дюна (П. Вязникова) Frank_Herbert_Dune.txt Бог-император Дюны Frank_Herbert_bog (Перевод А. Анваера) imperator_duni.txt Дети Дюны (Перевод А. Анваера) Frank_Herbert_deti_duni.txt Еретики Дюны (Перевод А. Анваера) Frank_Herbert_eretiki_duni.txt Мессия Дюны (Ю.Р. Соколов под Frank_Herbert_messia_duni.txt редакцией П. Вязникова) М. Ю. Лермонтов Ашик-Кериб Lermontov_Ashik_Kerib.txt Демон Lermontov_Demon.txt Кавказский пленник Lermontov_Kavkazskiy_plennik.txt Маскарад Lermontov_Maskarad.txt Мцыри Lermontov_Mcyri.txt А. С. Пушкин Сказка о попе и работнике его Балде Pushkin_balda.txt Дубровский Pushkin_dubrowskij.txt Гробовщик Pushkin_grobovshik.txt Капитанская дочка Pushkin_kapitan.txt Пиковая дама Pushkin_pikovaja_dama.txt С. Шелдон Гнев ангелов Sheldon_gnev_angelov.txt Лицо без маски Sheldon_lico_bez_maski.txt Мельницы богов Sheldon_melnici_bogov.txt Незнакомец в зеркале Sheldon_neznakomec_v_zerkale.txt Пески времени Sheldon_peski_vremeni.txt А.Н. Стругацкий Пикник на обочине Strugackie_Picnic_na_obochine.txt Б.Н.Стругацкий Сталкер Strugackie_Stalker.txt Трудно быть Богом Strugackie_Trudno_byt_Bogom.txt Туча Strugackie_Tucha.txt Улитка на склоне Strugackie_Ulitka_na_sklone.txt Тексты обрабатывались программой Stemming, созданной диссертантом. В качестве входных данных программе подается список текстовых фалов для обработки. Первым шагом программа создает очередь из фалов и равномерно распределяет по процессам. Далее каждый процесс выполняет обработку выделенных для него файлов с помощью программы mystem от компании Яндекс или с помощью модуля PyMorphy2. Разница в модулях не критична, однако представляет научный интерес, так как PyMorphy2 на данный момент не обрабатывает слова не на русском языке, а mystem не изменяет словоформу английских слов.

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

В раделах 4.3 и 4.4 рассматрены процессы кластеризации текстовых подборок с использованием, соответственно модулей mystem и PyMorphy2.

4.2.1 Результаты экспериментов предобработки текстов с модулем mystem Программа Clustering читает матрицу с координатами текстов и далее проводит обработку согласно алгоритму, разработанному в пункте 2.1. В качестве выходных данных пользователь получает матрицу принадлежности объектов к кластерам, показатели энтропии каждого кластера и общее время работы алгоритма. На основании получаемых данных и производятся дальнейшие эксперименты.

На основании [74] выбрано количество кластеров – 3, и сделан первоначальный анализ подборки с использованием случайного распределения меры принадлежности каждого текста к кластеру. Так же сделаны эксперименты для 4,5,6 и 7 кластеров. В Приложении 3 приведены эксперименты для 4,5,6 кластеров для каждой группы экспериментов, а далее рассматриваются эксперименты для 3 и 7 кластеров.

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

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

Далее, в графиках и экспериментах, под энтропией кластеров, как групп текстов, понимается показатель, рассчитанный по формуле (2.6) для каждого кластера.

где mij - вероятность того, что текст j относится к кластеру i.

Геометрический смысл этого показателя – чем он меньше, тем более плотным является кластер и наоборот.

Изменение энтропии кластеров на шагах алгоритма Энтропия, ед.

1 2 3 4 5 6 7 8 9 entr1 11,29793 12,77159 12,09888 9,365351 7,812593 7,39472 7,255277 7,21273 7,202492 7, entr2 10,75728 12,1952 10,23069 7,485794 6,627673 6,500368 6,478162 6,472798 6,469542 6, entr3 10,36439 11,36465 8,962253 6,844845 5,788429 5,146263 4,817888 4,687149 4,64055 4, Шаг алгоритма Рис. 4.2.1 Динамика энтропии 3-х кластеров на шагах алгоритма. Модуль mystem.

Изменение энтропии кластеров на шагах алгоритма Энтропия, ед.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 entr1 7,3 9,8 9,5 7,8 7,1 7,1 7,1 7,2 7,2 7,2 7,1 7,1 7,1 7,0 7,0 6,9 6,9 6,9 6,9 6,9 6, entr2 9,0 8,7 7,4 5,4 4,4 3,8 3,5 3,4 3,3 3,3 3,2 3,1 3,0 2,9 2,7 2,7 2,7 2,7 2,6 2,6 2, entr3 8,7 9,7 9,3 7,5 6,9 6,8 6,8 6,8 6,7 6,6 6,6 6,4 6,3 6,1 5,9 5,7 5,5 5,4 5,3 5,2 5, entr4 9,7 9,8 9,5 7,8 7,1 7,1 7,1 7,1 7,1 7,1 7,1 7,1 7,0 7,0 6,9 6,9 6,9 6,9 6,8 6,8 6, entr5 9,4 10, 10, 6,1 4,9 4,9 4,8 4,9 4,8 4,8 4,8 4,8 4,8 4,8 4,8 4,7 4,7 4,7 4,7 4,7 4, entr6 9,1 8,9 7,7 5,7 4,7 4,1 3,8 3,6 3,5 3,4 3,2 3,1 2,9 2,6 2,4 2,3 2,2 2,2 2,2 2,2 2, entr7 9,0 9,3 8,6 6,7 5,9 5,6 5,5 5,4 5,3 5,2 5,0 4,9 4,7 4,6 4,4 4,3 4,2 4,2 4,2 4,2 4, Шаг алгоритма Рис. 4.2.2 Динамика энтропии 7-и кластеров на шагах алгоритма. Модуль mystem.

Рис. 4.2.3 Результирующая матрица M с графическим отображением степени принадлежности текстов к 3 кластерам. Модуль mystem.

Рис. 4.2.4 Результирующая матрица M с графическим отображением степени принадлежности текстов к 7 кластерам. Модуль mystem.

На Рисунках 4.2.1 и 4.2.3 показаны результаты экспериментов с тремя кластерами. На Рисунках 4.2.2 – 4.2.4 показаны результаты экспериментов с 7 кластерами. Изменение энтропии каждого отдельного кластера на шагах алгоритма (Рис. 4.2.1, 4.2.2) явно показывает стабилизацию системы в определенном состоянии. Точность вычислений была выставлена на 0.00010 и, при достижении разности матриц менее порогового значения, расчеты останавливались. В первом эксперименте это произошло на 10 шаге алгоритма, как показано на рисунке 4.3.2, во втором на 21-м шаге (Рис. 4.2.2). Особый интерес представляют рисунки 4.2.3 и 4.2.4 в которых показано распределение текстового контента по кластерам.

На основании результатов, приведенных на Рис. 4.2.3 делается вывод о том, что в подборке тексты имеют свой четкий словарный запас, набор терминов и имен для многосерийных произведений. Отметим сходство фантастической и фентезийной литературы Р. Асприна и рассказа «3 закона робототехники» А. Азимова. Четыре других произведения Азимова четко сгруппированы в одном кластере, куда так же входят и произведения А.С.Пушкина, М.Ю.Лермонтова и 3 произведения Братьев Стругацких. Ф.

Герберт отделился по причине специфики содержимого его произведенный. Отметим, что, не смотря на это, произведение «Мессия Дюны» не попало в коллекцию с другими произведениями автора. В приложении 3 так же видно, что эти произведения далеко не всегда попадают в один кластер. В качестве объяснения этой ситуации примем во внимание разницу, вносимую переводчиками. Следовательно, можно сделать вывод о том, что, перевод произведения несет в себе авторский стиль, идущий от переводчика. Произведения же одного автора, переведенные разными переводчиками, без общей договоренности о терминах и определениях алгоритмом кластеризации считаются произведениями из разных кластеров.

На Рис. 4.2.4 приведено исследование при количестве кластеров равное 7. В этом эксперименте уже видно разделение текстов Р. Асприна более по тематике, нежели по авторскому стилю. Так, произведения из серии «ШУТТ» попали в один кластер, а из серии «МИФ» в другом кластере. При этом те же произведения А.Азимова, что и в предыдущем эксперименте оказались в одном кластере с А.С. Пушкиным и М.Ю.Лермонтовым. «Дети Дюны» и «Еретики Дюны» обособились в каждый кластер по отдельности, «Мессия Дюны», как и ранее в эксперименте оказался обособлен от других произведений серии. Так же, «Сталкер» и «Туча» объединились в один кластер, но три других произведения оказались сильнее распределены между кластерами. В произведениях Братьев Стругацких, по мнению соискателя, эксперименты могут показывать соавторство, в котором, в зависимости от произведений, стиль одного из авторов более ярко выражен.

4.2.2 Предобработка текстов с модулем PyMorphy На рисунках 4.2.6 – 4.2.9 представлены графики, аналогичные графикам 4.2.1 – 4.2.5, но полученные с использованием модуля PyMorhy2.

Изменение энтропии кластеров на шагах алгоритма 14, 12, 10, Энтропия, ед.

8, 6, 4, 2, 0, 1 2 3 4 5 6 7 8 9 entr1 10,802 11,764 9,163 6,459 5,360 4,541 4,079 3,934 3,899 3, entr2 11,676 12,354 10,379 6,960 5,873 5,708 5,654 5,639 5,632 5, entr3 11,491 12,772 12,137 9,020 7,037 6,370 6,095 6,035 6,034 6, Шаг алгоритма Рис. 4.2.5 Динамика энтропии 3-х кластеров на шагах алгоритма. Модуль PyMorphy2.

Изменение энтропии кластеров на шагах алгоритма 12, 10, Энтропия, ед.

8, 6, 4, 2, 0, 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 entr1 9,3 8,8 7,3 5,8 4,8 4,0 3,5 3,2 3,2 3,1 3,1 3,0 2,9 2,7 2,6 2,4 2,3 2,2 2,1 2,1 2, entr2 8,9 10, 9,8 9,0 7,2 6,6 6,4 6,4 6,3 6,3 6,2 6,1 6,0 5,8 5,6 5,3 5,0 4,8 4,6 4,6 4, entr3 8,5 9,0 7,9 6,4 5,5 5,0 4,9 4,8 4,7 4,7 4,7 4,6 4,6 4,6 4,5 4,4 4,3 4,3 4,2 4,2 4, entr4 8,5 10, 10, 9,6 7,4 5,6 5,0 4,8 4,6 4,5 4,4 4,3 4,2 4,1 4,1 4,0 3,9 3,9 3,8 3,8 3, entr5 8,5 8,8 7,3 5,7 4,6 3,8 3,3 3,2 3,1 3,1 3,1 3,0 2,9 2,8 2,8 2,7 2,6 2,5 2,5 2,4 2, entr6 9,3 10, 10, 9,9 9,0 7,4 6,7 6,5 6,5 6,4 6,4 6,4 6,4 6,4 6,4 6,4 6,3 6,3 6,3 6,3 6, entr7 9,0 9,9 9,9 9,2 7,4 6,7 6,5 6,4 6,4 6,4 6,4 6,4 6,4 6,4 6,4 6,4 6,3 6,3 6,3 6,3 6, Шаг алгоритма Рис. 4.2.6 Динамика энтропии 7-и кластеров на шагах алгоритма. Модуль PyMorphy2.

Рис. 4.2.7 Результирующая матрица M с графическим отображением степени принадлежности текстов к 3 кластерам. Модуль PyMorphy2.

Рис. 4.2.8 Результирующая матрица M с графическим отображением степени принадлежности текстов к 7 кластерам. Модуль PyMorphy2.

Рис. 4.2.9 Сравнение кластеризации модулями-анализаторами mystem и PyMorphy2.

Тестирование производительности программ по времени исполнения проводилось для итоговой проверки гипотезы о приросте производительности. Само тестирование во многом зависит от общей загруженности компьютера, на котором производится тест. Однако, результат первого тестирования производительности двух программ оказался достаточным, чтобы не проводить повторного тестирования. Результаты, подтверждающие гипотезу о значительном приросте в скоростях относительно в многопоточном исполнении, приведены на Рис. 4.2.10-4.2.12. Результаты получились следующие:

Время обработки текстов Время обработки, с.

40 Обработка текстов на 1 CPU Обработка текстов на 8 CPU Обработка текстов на 8 CPU mystem pymorphy2 mystem Рис. 4.2.10 Время обработки текстов в зависимости от используемого модуля морфологического анализа и количества участвующих процессов На Рис. 4.2.11 приведено время кластеризации текстовой подборки, которая была подготовлена с помощью модуля mystem.

8 потоков GPU. Стеммер "mystem" Время кластеризациии, с.

500 2 3 4 5 6 7 Количество кластеров, шт.

8 потоков GPU. Стеммер mystem Рис. 4.2.11 Время кластеризации 35 текстов с использованием mystem для 3-7 кластеров.

На графике 4.2.12 приведено время кластеризации той же подборки текстов, но с использованием модуля PyMorhpy2. Время кластеризации ниже по причине того, что с модулем mystem размерность пространства порядка 20800 слов, а с PyMorphy2 – слова. Однако, не смотря на разницу в размерностях, общая тенденция к кластеризации остается одинаковой, что показано на Рис. 4.2.9.

8 потоков с GPU. Стеммер "pymorphy2" 600 Время кластеризациии, с.

400 2 3 4 5 6 7 Количество кластеров, шт.

8 потоков с GPU. Стеммер pymorphy Рис. 4.2.12 Время кластеризации 35 текстов с использованием PyMorphy2 для 3-7 кластеров.

Таблица 4.2.2 Результаты экспериментов с Fuzzy C-Means и GPU Fuzzy C-Means Число кластеров Нечетких C-средних Модифицированный алгоритм 3 кластера 796 с. 207 с.

7 кластеров 5148 с. 537 с.

Сравнение скорости классического алгоритма Нечетких C-средних и модифицированного соискателем Время на выполнение операции, с.

1000 207 7 кластеров 3 кластера 1 процесс обработки 8 процессов обработки без GPU с GPU Эксперименты 3 кластера 7 кластеров Рис. 4.2.13 Сравнение времени работы классического и модифицированного алгоритмов Нечетких С-средних.

Для проверки прироста скорости работы алгоритма была использована простая подборка из 450 художественных текстов, которые требовалось распределить на кластеров. Первичная матрица M генерировалась однократно, и потом считывалась программой. Для каждой итерации количество шагов равно 10. С учетом имеющегося оборудования (один узел кластера с 2-х ядерным процессором и 1 графическим процессором), результаты представлены в таблице 2, а прирост производительности составил порядка 18% при работе только одного дополнительного процесса.

Таблица 4.2.3. Результаты экспериментов Процессы 1 Время, с. 2165.9 1789. Заключение.

Теоретическая значимость исследования обоснована тем, что на основе правил морфологического и синтаксического анализа естественного языка разработан метод по созданию инфосетей. Для этого введено и определено понятие инфосети как «однородной однослойной сети объектов, морфологически объединенных отношениями, вытекающими из структуры синтаксической единицы (предложения)». Формализованность правил языка, с дополнениями на основе предложенного метода, позволит создавать инфосети. Инфосети выступают в роли базовых строительных элементов при дальнейшем создании семантических сетей. В работе показано и доказано на примерах сходство логики объектно ориентированной парадигмы языков программирования и особенностей частей речи и словообразования в русском языке. Выявленное сходство дополняет теорию семантических сетей и методы по созданию инфорсетей. Предложен алгоритм для переработки методов кластеризации текстового контента, требующих существенной доли сложных математических расчетов, с использованием графических процессоров и многопоточных библиотек. Создан набор рекомендаций для разработки многопоточных приложений кластеризации с использованием многопоточных библиотек и графических профессоров.

Следуя разработанным и предложенным рекомендациям модифицирован алгоритм Нечетких C-средних. Расширены границы применения алгоритма в области кластеризации текстового контента кластеризации Нечетких С-средних. На основе анализа установлена возможность проводить анализ текста по авторскому стилю, который можно выразить математическим языком. Также установлена взаимосвязь между авторским стилем и полом автора. Как результат, показано, что кластеризация может осуществляться не только по тематике контента, но и по предполагаемому автору и/или полу автора контента. Для контроля и анализа процесса кластеризации модифицированным алгоритмом предложен метод с использованием информационной энтропии в качестве контрольного параметра. Метод позволяет получать информацию о процессе кластеризации до достижения алгоритмом финальной стадии. В результате, уже на первых шагах алгоритма, можно делать вывод о правильность заданных параметров и предполагаемом результате.

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

Разработано и реализовано программное обеспечение, использующее модифицированный алгоритм с технологией Compute Unified Device Architecture (CUDA) и библиотекой Message Passing Interface, таким образом обеспечивая многопоточность и скорость работы.

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

Оценка достоверности результатов исследования выявила превосходство проведения математических расчетов на графическом процессоре, над теми же расчетами на центральном процессоре, а так же состоятельность разработанных программных модулей Stemming и Clustering. Дополнительно экспериментально установлено, что разница между модулями морфологического анализа mystem и PyMorphy2 незначительна, а размерность получаемых пространств меньше у модуля PyMorphy2. В связи с этим, использование модуля PyMorphy2 рекомендуется для литературного русскоязычного контента, при условии минимального содержания иноязычных терминов или опечаток в нем. В экспериментах с тестовой подборкой текстового контента продемонстрирована состоятельность алгоритма, а эксперимент с 450 текстами показал прирост в скорости.


Результаты диссертации внедрены на кафедре Информатики и информационных систем МГТУ МИРЭА и в Московском Городском Дворце Детского (Юношеского) Творчества (МГДТ(Ю)Т). Внедрения вычислительных кластеров подтверждаются соответствующими актами.

Созданный и внедренный кластер предоставляет свои вычислительные ресурсы проекту Folding@Home. За время стабильного участия в проекте (ноябрь 2012 – н.в.), кластер занимает 7000 место из 219648 среди других команд-участников проекта.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ, ВЫНОСИМЫЕ НА ЗАЩИТУ:

1. Проведен анализ методов и алгоритмов обработки текстового контента, моделей и средств создания высокопроизводительных вычислительных кластеров, в результате которого был выбран для модификации алгоритм кластеризации нечетких C-средних, и выбран класс гибридных кластеров, создаваемых из широко доступных компонентов.

2. Метод оперативного извлечения из текстового контента информации, пригодной для дальнейшего использования при формировании семантической сети. При этом скорость работы метода достаточно высока, так как используется морфологическая информация об анализируемой синтаксической единице, получаемая при работе морфологического анализатора и простые правила объединения слов.

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

4. Метод контроля процесса кластеризации и повышения качества кластеризации с использованием инорфмационной энтропии в качестве контрольного параметра. Метод позволяет на начальных шагах установить качество полученного результата, через оценку параметра энтропии, и не ждать результата кластеризации, если результат ожидается неудовлетворительным.

5. Алгоритм кластеризации текстового контента, использующий все преимущества гибридных вычислительных кластеров. Многопроцессорная структура кластера поддерживается через разделение рассчитываемых в алгоритме данных на порции, предназначенные для отдельных процессоров, графические ускорители поддерживаются тем, что на них переданы все математические расчеты с целью повышения скорости получения результата. Алгоритм реализован в коде на языке Python3 и проведены эксперименты с целью верификации выдвинутых гипотез и положений. На исходные коды получены свидетельства о регистрации программы для ЭВМ в Роспатенте 6. Алгоритм и рекомендации по модификации алгоритмов для работы в кластерной среде.

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

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

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

БЛАГОДАРНОСТИ Автор сердечно благодарен и искренне признателен:

заведующему кафедрой Информатики и информационных систем (ИИС), профессору Соловьеву Игорю Владимировичу за внимание к результатам работы диссертанта, профессору Владимиру Александровичу Мордвинову за постановку настоящего исследования и поддержку, своему научному руководителю, профессору кафедры ИИС Скуратову Алексею Константиновичу за полезные дискуссии, конструктивные замечания и практические рекомендации при подготовке диссертации, профессору кафедры ИИС Раеву Вячеславу Константиновичу за поддержку, внимание и помощь на всех этапах работы над диссертацией, доценту кафедры ИИС Николаю Ивановичу Трифонову за поддержку и помощь на всех этапах работы над диссертацией, доценту кафедру ИИС Шемончуку Дмитрию Сергеевичу за поддержку и помощь в работе над практической частью диссертации, всему коллективу кафедры ИИС за дружественное отношение к работе диссертанта и товарищескую взаимовыручку.

Библиография.

Соловьев С.Ю. Служба тематических толковых словарей «Glossary Commander»

1.

[Электронный ресурс]: Web-and-Press, 2007. – URL: www.glossary.ru. (дата обращения 20.10.2012) Национальная педагогическая библиотека. ресурс]. – 2. [Электронный URL:

http://didacts.ru/dictionary/1007/word/baza-znanii (дата обращения 20.10.2012) Википедия. Свободная энциклопедия [Электронный ресурс]. – 3. URL:

http://ru.wikipedia.org. (дата обращения 20.10.2012) Иванников А.Д., Тихонов А.Н. Основные положения концепции создания системы 4.

образовательных порталов – Интернет-порталы: содержание и технологии. Сб. науч. ст.

Вып.1 / Редкол.: Тихонов А.Н. (пред.) и др.;

ГНИИ ИТТ «Информика». – М.: Просвещение, 2003. – 720 с.

Шемончук Д.С. Разработка и исследование методов улучшения функционала сетевых 5.

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

Диссертация на соискание степени кандидата технических наук по специальности 05.13.13/ МГТУ МИРЭА.

Михайлов А.И., Черный А.И., Гиляревский Р.С. Основы информатики, Москва.: Изд 6.

во "Наука", 1968. - 757 с.

Ватолин Д. и др. Методы сжатия данных. Устройство архиваторов, сжатие 7.

изображений и видео. - М.: ДИАЛОГ-МИФИ, 2003. - 384 с.

Синица Е.М., Бурцев М.С. Описание учебных ресурсов метаданные стандарты 8.

профили // Educational Technology & Society 9(1) 2006, ISSN 1436-4522.

Оксфордский толковый словарь по психологии / Под ред. А. Ребера: в 2-х тт: Т.1. / 9.

Пер. с англ. Чеботарева Е.Ю. — М.: Вече АСТ, 2003. — 592.

Большой Энциклопедический Словарь. – 2-е изд. перераб. и доп. – Москва.: «Большая 10.

Российская энциклопедия»;

Санкт-Петербург.: «Норинт», 1999. – 1456 с.: ил.

Клещев А.С., Шалфеева Е.А. Каталог свойств онтологий. Принципы организации 11.

каталога: Препринт, 2007. Владивосток: ИАПУ ДВО РАН, 2007, 20 c.

Ландэ Д.В. Поисковые системы: поле боя – семантика // Киев. Журнал "Телеком", № 12.

4, 2004, С. 44- Дж. Мартин. Системный анализ передачи данных. Том 2. // Перевод с анг. - М.: Мир, 13.

1975 – 432 с.

Кросс П., Раими С. Применение репозитария Microsoft [Электронный ресурс]: SQL 14.

– 2000 №2 – Server Magazine Online/RE, URL:

http://www.olap.ru/desc/microsoft/news/m001120689.asp. (дата обращения 20.10.2012) Яндекс.Словари [Электронный ресурс]. – 15. URL:

http://slovari.yandex.ru/ТАКСОНОМИЯ/БСЭ/Таксономия (теория классификации)/ (дата обращения 20.10.2012) Roboforum.ru Wiki. Статья «Генетические алгоритмы». [Электронный ресурс]. – URL:

16.

http://roboforum.ru/wiki/Генетические_алгоритмы (дата обращения 20.10.2012) Хаб Big Data / Тематические медиа. [Электронный ресурс]. – URL:

17.

http://habrahabr.ru/hub/bigdata/ (дата обращения 20.10.2013) Найдич А. Big Data: проблема, технология, рынок / КомпьютерПресс 01' 18.

[Электронный ресурс]. – URL: http://www.compress.ru/Article.aspx?id=22725 (дата обращения 20.10.2013) 19. James Manyika, Michael Chui, Brad Brown, Jacques Bughin, Richard Dobbs, Charles Roxburgh, Angela Hung Byers Big data: The next frontier for innovation, competition, and productivity / McKinsey Global Institute. May 2011 [Электронный ресурс]. – URL:

http://www.mckinsey.com/insights/business_technology/big_data_the_next_frontier_for_innovati on (дата обращения 20.10.2013) Найханова Л. В.Технология создания методов автоматического построения онтологий на 20.

основе генетического и автоматного программирования: Монография. – Улан-Уде: Изд-во БНЦ СО РАН, 2008. – 244 с.

Tryon R.C. Cluster analysis. – London: Ann Arbor Edwards Bros, 1939. – 139 p.

21.

Fortier J., Solomon H., Clustering procedures, Multivariate Analysis/ под. ред. Krishnaih P. R.

22.

– N.Y. Academic Press, p. 493-506, 1966.

Кошкин Д.Е., Новикова О.А. Уточнение кластеризации категорийных данных через 23.

оценку энтропии результирующих кластеров. // Всероссийский конкурс научно исследовательских работ студентов и аспирантов в области информатики и информационных технологий: сборник научных работ: в 3 т. – Белгород: ИД «Белгород», 2012. – Т. 3. – 548 с.

с.167-173.

Новикова О.А., Кошкин Д.Е. Уточнение кластеризации категорийных данных через 24.

оценку энтропии результирующих кластеров. / Итоги диссертационных исследований. Том 2. – Материалы IV Всероссийского конкурса молодых ученых. – М.: РАН, 2012. – 138 с. с.116- Новикова О.А., Кошкин Д.Е. Энтропийная оценка качества автоматического 25.

разбиения категорийных данных алгоритмом Fuzzy C-means. «Информатизация образования и науки», №1(17) январь 2013. - М. «Информика», 2013. - 180 с., с. 113- Бессмертный И.А. Искусственный интеллект: Учебное пособие. - СПб: СПбГУ ИТМО, 26.

2010. - 132 с.

В.В. Виноградов. Основные типы лексических значений слова (Виноградов В.В.

27.

Избранные труды. Лексикология и лексикография. - М., 1977. - С. 162-189) Lenta.ru Интернет СМИ. Google анонсировал семантический поиск – [Электронный 28.


ресурс]. URL: http://lenta.ru/news/2012/03/15/google/ (дата обращения 20.10.2012) Т. Б. Агранат. Способы различения простого и сложного предложения при 29.

автоматическом анализе текстов. ИПМ РАН Информационно-аналитический центр по параллельным 30. PARALLEL.RU вычислениям ресурс]. (дата обращения [Электронный URL: http://www.parallel.ru 20.10.2012) Кластер (практическое руководство) : Параллельные вычисления // Юрий Сбитнев 31.

[Электронный ресурс]. URL: http://cluster.linux-ekb.info/ (дата обращения 20.10.2012) Кузьминский М. Beowulf - кластеры на базе ОС Linux «Computerworld Россия», № 05, 32.

1998 [Электронный ресурс]. URL: http://www.osp.ru/cw/1998/05/26946/ (дата обращения 20.10.2012) Щерба Л.В. Языковая система и речевая деятельность. - М., 1974. - С. 77-100. «О 33.

частях речи в русском языке», 1928 г.

N.Chomsky. Three models for the description of language. – IRE Transactions on 34.

information theory. 1956. IT – 2. № 3.

Хомский Н. Синтаксические структуры // Новое в лингвистике. — М., 1962. — В. II.

35.

— С. 36. N.Chomsky. Aspects of the theory of syntax. Cambridge (Mass.), 1965.

Демьянков В.З. Доминирующие лингвистические теории в конце XX века // Язык и 37.

наука конца 20 века. М.: Институт языкознания РАН, 1995. С.239- Ю.Д.Апресян. Об экспериментальном толковом словаре русского языка. – Вопросы 38.

языкознания. 1968. № 5.

Ю.Д.Апресян. О языке для описания значений слов. – Изв. АН СССР. Сер. лит. и яз.

39.

1969. № 5.

Ю.Д.Апресян. Избранные труды. Том 1. Лексическая семантика. Синонимические 40.

средства языка. М., 1995, стр. 3- И.А. Мельчук. Опыт теории лингвистических моделей «Смысл Текст». М., 41.

(2-е изд., 1999).

И.А. Мельчук. Русский язык в модели «Смысл Текст». Москва-Вена, 1995.

42.

И.А. Мельчук, А.К. Жолковский, Ю.Д. Апресян и др. Толково-комбинаторный 43.

словарь современного русского языка: Опыты семантико-синтаксического описания русской лексики. Wien: Wiener Slavistischer Almanach, Г.А.Золотова. Очерк функционального синтаксиса русского языка. М., 1973.

44.

Золотова Г.А., Онипенко Н.К., Сидорова М.Ю. - Коммуникативная грамматика 45.

русского языка ISBN: 5-88744-050-3, 2004, М.: Институт русского языка им. В.В.

Виноградова РАН Золотова Г. А., Онипенко Н. К., Сидорова М. Ю. Коммуникативная грамматика 46.

русского языка. М., 1998.

Реформатский, А.А. Введение в языковедение. – М.: Аспект Пресс, 1998.

47.

Фортунатов Ф.Ф Сравнительное языковедение: Общий курс. М.: Красанд, 2010. - 48.

с. (Лингвистическое наследие XX века) Г.С. Осипов, И.В. Смирнов, И.А. Тихомиров "Реляционно-ситуационный метод 49.

поиска и анализа текстов и его приложения" /Журнал Искусственный интеллект и принятие решений. №2 2008. (стр. 3 - 10) ISSN 2071- Загоруйко Н. Г., Елкина В. Н., Лбов Г. С. Алгоритмы обнаружения эмпирических 50.

закономерностей. Новосибирск: Наука, 1985.

51. A. P. Demster, N. M. Laird, D. B. Rubin. Maximum Likelihood from Incomplete Data via the EM Algorithm 52. Agrawal Rakesh, Gehrke Johannes, Gunopulos Dimitrios, Raghavan Prabhakar "Automatic Subspace Clustering of High Dimensional Data", Data Mining and Knowledge Discovery (Springer Netherlands) 11 (1): 5–33, (2005) 53. Yang, Y., Guan, H., You. J. CLOPE: A fast and Effective Clustering Algorithm for Transactional Data In Proc. of SIGKDD’02, July 23-26, 2002, Edmonton, Alberta, Canada.

54. Harsha S. Nagesh, Sanja y Goil, and Alok Choudhary. A scalable parallel subspace clustering algorithm for massiv e data sets. June 55. J. C. Dunn "A Fuzzy Relative of the ISODATA Process and Its Use in Detecting Compact Well-Separated Clusters", Journal of Cybernetics 3: 32-57 (1973) 56. J. C. Bezdek "Pattern Recognition with Fuzzy Objective Function Algoritms", Plenum Press, New York (1981) 57. A.S. Fraser. Simulation of genetic systems. J. of Theor. Biol., vol. 2, pp. 329-346, 1962.

58. A.S. Fraser. The evolution of purposive behavior. In Purposive Systems, H. von Foerster, J.D. White, L.J. Peterson, and J.K. Russel, Eds. Washington, DC: Spartan Books, pp. 15-23, 1968.

59. H.J. Bremermann, M. Rogson, S. Salaff. Search by Evolution. In Biophysics and Cybernetic Systems. M. Maxfield, A. Callahan, and L. J. Fogel, Eds. Washington DC: Spartan Books, pp.

157-167, 1965.

60. J.H. Holland. Adaptive plans optimal for payoff-only environments. Proc. of the 2nd Hawaii Int. Conf. on System Sciences, pp. 917-920, 1969.

61. Oren Zamin and Oren Etzioni. Grouper: A Dynamic Clustering Interface to Web Search Results. Department of Computer science and Engineering, University T. Joachims “A probabilistic analysis of the rocchio algorithm with TFIDF for text 62.

categorization.”, In Proc. of the ICML'97, 143-151, 1997.

63. Introduction to Information Retrieval By Christopher D. Manning, Prabhakar Raghavan & Hinrich Schtze Website: http://informationretrieval.org/ Cambridge University Press © Cambridge University Press 64. Yan Liu, Minimum Spanning Trees, LDCSEE, West Virginia University, Morgantown, WV 65. Sudipto G., Rajeev R., Kyuseok S. "ROCK: A Robust Clustering Algorithm for Categorical Attributes", KAIST, Дорофеюк А. А. Алгоритмы автоматической классификации: Обзор // Автоматика и 66.

телемеханика. – 1971. – № 12. – С. 78—113.

67. WaveCluster: A Multi-Resolution Clustering Approach for Very Large Spatial Databases Proc. 24th Int'l Conf. Very Large Data Bases, Morgan Kaufmann, San Francisco, 1998, pp. 428 Воронцов К.В. Байесовская классификация. Непараметрические методы. Курс лекций.

68.

МГУ, 2013.

69. Esko Ukkonen. On-line construction of suffix trees. Department of Computer Science, University of Helsinki, PO Box 26 (Teollisuuskatu 23), FIN-00014 HUT, Finland.

70. Oren Eli Zamir. A Phrase-Based Method for Grouping Search Engine Results. University of Washington, Department of Science & Engineering Кириченко К.М, Герасимов М.Б. Обзор методов кластеризации текстовой 71.

информации ресурс].

[Электронный URL: http://www.dialog 21.ru/Archive/2001/volume2/2_26.htm (дата обращения 20.10.2012) 72. J.H. Holland. Adaptation in Natural and Artificial Systems. Ann Arbor: Univ. of Michigan Press, 1975.

73. Sartaj Sahni, Ellis Horowitz, Sanguthevar Rajasekaran. Computer Algorithms, 2nd Ed., Silicon Press, 773 р., Кошкин Д.Е. Модель кластеризации текстов по тематике с использованием стемминга 74.

входящих слов / Дипломная исследовательская работа по специальности 071900 (230201) «Информационные системы и технологии», М. 2011 г., МИРЭА, ф. ИТ, к. ТИССУ, 129 с.

Сигов А.С., Кошкин Д.Е., Дробнов С.Е. Кластеризация текста на основе анализа слов 75.

с применением распределенных вычислений. «Информатизация образования и науки», №2(10) апрель 2011. - М. «Информика», 2011. - 154 с., 74-80 с.

Основы судебного речеведения: Монография / Галяшина Е.И.;

под ред. проф. М. В.

76.

Горбаневского. – М.: СТЭНСИ, 2003. – 236 с.

Романов А. Обзор программного обеспечения для идентификации авторства текста:

77.

Материалы конф. / Научная сессия ТУСУР-2007, Томск, 5-8 мая, 2008. – В-Спектр, 2008. – С. 182-184. – ISBN 978-5-91191-080-8.

В. Алпатов. Женщины говорят иначе [Электронный ресурс].

78. URL:

http://www.nkj.ru/archive/articles/6657/ (дата обращения 24.08.2007) Вейлерт А. А. О зависимости количественных показателей единиц языка от пола 79.

говорящего лица // Вопросы языкознания. N 5. 1976. С. 138-143.

Горошко Е. И. Особенности мужского и женского вербального поведения 80.

(психолингвистический анализ). Дис. канд. филол. наук. М., 1996. 138 с Горошко Е. И. Особенности мужского и женского стиля письма // Гендерный фактор в 81.

языке и коммуникации. Иваново, 1999. С. 28-41.

Кирилина А. В. Гендер: лингвистические аспекты. М.: Институт социологии РАН, 82.

1999. 189 с.

Крючкова Т. Б. Некоторые экспериментальные исследования особенностей 83.

использования русского языка мужчиной и женщиной // Проблемы психолингвистики. М., 1975. С. 186-200.

[Электронный ресурс].

84. Michael Creel. PelicanHPC GNU Linux. URL:

http://pareto.uab.es/mcreel/PelicanHPC/ (дата обращения: 28.09.2012).

Ruer Bokovi Institute. DCC Live. [Электронный ресурс]. URL: http://dcc.irb.hr/ (дата 85.

обращения: 28.09.2012).

ресурс].

86. Scalable Cluster Environment [Электронный URL:

http://sourceforge.net/projects/sce/ (дата обращения: 28.09.2012) ресурс].

87. ComputeMode:On-demand HPC cluster manager [Электронный URL:

(дата http://computemode.imag.fr/mediawiki/index.php/ComputeMode_Grid_Manager обращения: 28.09.2012) Rocks Website. [Электронный ресурс]. URL: https://wiki.rocksclusters.org/ (дата 88.

обращения: 28.09.2012) 89. Joseph D. Sloan. High Performance Linux Clusters with OSCAR, Rocks, OpenMosix, and MPI. O'Reilly, 2004, ISBN: 0-596-00570- LINUX.ORG.RU Новости - Кластеры Вышел Rocks Cluster Distribution 6. 90.

[Электронный ресурс]. URL: http://www.linux.org.ru/news/clusters/8542036 (дата обращения:

28.09.2012) ресурс].

91. Wikipedia. Free Encyclopedia. [Электронный URL:

http://en.wikipedia.org/wiki/Main_Page (дата обращения 20.10.2012) [Электронный ресурс].

92. Kerrighed. Main Page. URL:

http://www.kerrighed.org/wiki/index.php/Main_Page (дата обращения: 28.09.2012) ресурс].

93. A. Barak MOSIX Cluster Operating System [Электронный URL:

http://www.mosix.org/ (дата обращения: 28.09.2012) ИПМ им. М.В.Келдыша РАН. Разработка высокопроизводительных массово 94.

параллельных гибридных вычислителей и способов их применения. [Электронный ресурс] – URL: http://www.kiam.ru/MVS/research/faq.html (дата обращения 20.10.2012) Марков Н. NVIDIA CUDA(сиквел) — Настройка PyCUDA // Тематические медиа. – 95.

2009. - 11 января. [Электронный ресурс]. URL: http://habrahabr.ru/post/48798/ (дата обращения 20.10.2012) 96. Pycuda 2013.1.1. Python Package Index // Python Software Foundation [Электронный ресурс]. URL: https://pypi.python.org/pypi/pycuda (дата обращения 20.10.2012) 97. A. Klockner, N. Pinto, Y. Lee, B. Catanzaro, P. Ivanov, A. Fasih/ PyCUDA: GPU Run Time Code Generation for High-Performance Computing // Elsevier. 18.11.2009. [Электронный ресурс]. URL: http://www.cs.berkeley.edu/~yunsup/papers/PyCUDA-2009.pdf (дата обращения 20.10.2012) Ализар А. Запускаем Java-программы на GPU // Тематические медиа. – 2012. - 98.

августа. [Электронный ресурс]. URL: http://habrahabr.ru/post/149552/ (дата обращения 20.10.2012) The GeForce Lounge Board - GeForce Forums [Электронный ресурс]. URL:

99.

https://forums.geforce.com/default/board/45/the-geforce-lounge/ (дата обращения 20.10.2012) Параллельные вычисления CUDA | Что такое CUDA? // NVIDIA [Электронный 100.

ресурс]. URL: http://www.nvidia.ru/object/cuda-parallel-computing-ru.html (дата обращения 20.10.2012) Хмельницкий Национальный Университет. Центр Параллельных Вычислений.

101.

Параллельное ускорение [Электронный ресурс]. URL:

http://parallelcompute.sourceforge.net/parcom_ru.php (дата обращения 20.10.2012) Тараскина А.С. Нечеткая кластеризация по модифицированному методу c-средних и 102.

ее применение для обработки микрочиповых данных. / Касьянов В.Н. (ред.) Проблемы интеллектуализации и качества систем информатики. Новосибирск: Ин-т систем информатики имени А. П. Ершова СО РАН, 2006. — 280 с.

Кошкин Д.Е. Модификация алгоритма кластеризации категорийных данных Fuzzy C 103.

Means. Материалы VI Всероссийской конференции студентов, аспирантов и молодых ученых «Искусственный интеллект, философия, методология, инновации». Часть I, Секции I-III, г. Москва, МИРЭА, 13-15 ноября 2013 г. Под ред. Д.И. Дубровского и Е.А. Никитиной — М.: «Радио и Связь», 2013. –154 с., 121-126 с.

О.А. Новикова. Обзор методов интеллектуального анализа данных применительно к 104.

задаче автоматизированного построения онтологий // Современные вопросы науки и образования–XXI век: сб. науч. Трудов по материалам Международной заочной научно практической конференции 29 февраля 2012 г.: в 7 частях. Часть 3;

Мин. Образования и науки Рос. Федерации. Тамбов: Изд-во ТРОО «Бизнес-Наука-Общество», 2012.164 с. Стр.

103– Виноградов Г.П., Мальков А.А. Оценка эффективности метода кластеризации, 105.

использующего субъективные оценки // Международный журнал «Программные продукты и системы», №2, 2009. [Электронный ресурс]. URL:

http://www.swsys.ru/index.php?page=article&id=2271 (дата обращения: 15.08.2012)., Н.И. Куренков, С.Н. Ананьев Энтропийный подход к решению задач классификации 106.

многомерных данных. [Электронный ресурс]. URL:

http://wwwcdl.bmstu.ru/it/kurenkov3.html (дата обращения: 28.09.2012)., Пивоварова Л.Н. Кластеризация документов. Системы понимания текста.

107.

[Электронный ресурс]. URL: http://www.myshared.ru/slide/38331/ (дата обращения:

15.02.2013).

Бекман И.Н. Информатика //курс лекций. Москва-Рим. 2009. [Электронный ресурс].

108.

URL: http://profbeckman.narod.ru/InformLekc.htm (дата обращения: 15.02.2013).

Александр Пак. Определение части речи слов в русском тексте (POS-tagging) на 109.

Python 3// Тематические медиа. – 2011. - 10 августа. [Электронный ресурс]. URL:

http://habrahabr.ru/post/125988/ (дата обращения 20.10.2012) Александр Пак. Парсим русский язык// Тематические медиа. – 2012. - 20 июля.

110.

[Электронный ресурс]. URL: http://habrahabr.ru/post/148124/ (дата обращения 20.10.1012) Страуструп. Б. Язык программирования C++, Специальное издание: Пер. с англ. / Б.

111.

Страуструп. – СПб.: "Изд-во БИНОМ", 2001. – 1099 с.: ил Грэди Буч. Объектно-ориентированный анализ и проектирование с примерами 112.

приложений на С++ = Object-Oriented Analysis and Design with Applications / Пер.

И.Романовский, Ф.Андреев. – 2-е изд. – М., СПб.: «Бином», «Невский диалект», 1998. – С.

276–278. – 560 с.

Кошкин Д.Е., Скуратов А.К. Особенности параллельной обработки русскоязычного 113.

контента с использованием базовых характеристик объектно-ориентированных языков высокого уровня // Журнал Вестник РУДН. Серия Информатизация Образования. №3, год, - 108 c., с. 22-29.

Дробнов С.Е., Кошкин Д.Е. Расчет оптимального количества вычислителей GRID 114.

системы. // Современные информационные технологии в управлении и образовании:

Сборник научных трудов.В 3-х ч.-М.:ФГУП НИИ «Восход»Ч.1.- 224 с., 2012 г. 149-155 с.

Леохин Ю. Л., Зубков Р. С. Архитектуры систем управления корпоративными 115.

компьютерными сетями с функцией прогнозирования состояний // Качество. Инновации.

Образование. 2012. № 12(91). С. 81-92.

С.Е. Кошкин Д.Е. Анализ ускорения обучения нейронных сетей при применении 116.

GRID-систем. Материалы IV Всероссийской конференции студентов, аспирантов и молодых ученых «Искусственный интеллект: философия, методология инновации». Часть I, г. Москва, МИРЭА, 10-12 ноября 2010 г. Под ред. Д.И. Дубровского и Е.А. Никитиной – М.: «Радио и Связь», 2010. - 168 с., 85-88 с.

Семантическая сеть – Викизнание. [электронный ресурс], 117. URL http://www.wikiznanie.ru/ru-wz/index.php/Семантическая_сеть. (обращение 1.10.2012) Кошкин Д.Е. Анализ синтаксических единиц в рамках текстового контента для 118.

формализации и создания алгоритма многопоточной обработки текстового контента. / Сборник научных трудов по материалам Международной научно-практической конференции «Современные тенденции в образовании и науке». 31.10.2013. Часть 3;

Мин во обр. и науки РФ. Тамбов: Изд-во ТРОО «Бизнес-Наука-Общество». 2013. 163 с. с. 78- Кошкин Д.Е. Организация высокопроизводительного вычислительного кластера на 119.

основе дистрибутива PelicanHPC. // Современные информационные технологии в управлении и образовании: Сборник научных трудов. В 3-х ч. - М.: ФГУП НИИ «Восход»

Ч.1.- 164 с., 2013 г. 12-18 с Поисковая система IEEE [Электронный ресурс.] 120. URL:

http://ieeexplore.ieee.org/Xplore/guesthome.jsp Спецификация Intel на технологию PXE версии 2.1. [Электронный ресурс.] URL:

121.

ftp://download.intel.com/design/archives/wfm/downloads/pxespec.pdf ресурс.] 122. The Internet Engineering Task Force (IETF) [Электронный URL:

http://www.ietf.org/ (обращение 10.09.13) ресурс.] 123. CUDA Toolkit Documentation. [Электронный URL:

http://docs.nvidia.com/cuda/index.html (обращение 10.09.13) Кошкин Д.Е. Методы извлечения и представления знаний в форме семантических 124.

сетей из текстов на русском языке с помощью высокопроизводительных вычислительных кластеров. Материалы VI Всероссийской конференции студентов, аспирантов и молодых ученых. Часть I, г. Москва, МИРЭА, 29-30 ноября 2012 г. Под ред. Д.И. Дубровского и Е.А.

Никитиной — М.: «Радио и Связь», 2012. - 184 с., 78-83 с.

125. Charles Bookman. Linux Clustering: Building and Maintaining Linux Clusters. Sams, — 288 p.

MPI Documents // Message Passing Interface Forum [Электронный ресурс.] URL:

126.

http://www.mpi-forum.org/docs/ (дата обращения: 15.02.2013).

Домрачев В.Г., Безрукавный Д.С., Калинина Э.В., Ретинская И.В., Скуратов А.К.

127.

Нечеткие методы в задачах мониторинга сетевого трафика. Ж. Информационные технологии. N3 2006 с. 2- Скуратов А.К. Статистический анализ телекоммуникационных сетей на основе 128.

исследования информационных потоков представленных в виде временных рядов // Вестник Самарского государственного аэрокосмического университета имени академика С.П. Королева: Сборник научных трудов. Выпуск 1(9).-Самара: СГАУ, 2006. -С. 185-190.

Тихонов А.Н., Скуратов А.К., Домрачев В.Г., Ретинская И.В. К развитию 129.

высокопроизводительных ресурсов и вычислений в научно-образовательной среде. Труды XI Всероссийской научно- методической конференции "Телематика 2004", 7-10 июня г., СПб., том 1, стр.119-121.

130. J. Mogul, S. Deering, DECWRL, Stanford University. Path MTU Discovery RFC1191.

URL: http://tools.ietf.org/html/rfc1191 (дата обращения: 28.09.2013) ОТЧЕТ (заключительный) по мероприятию «Развертывание на совместной базе 131.

МГТУ МИРЭА и Московского городского дворца детского (юношеского) творчества (МГДД(Ю)Т) инновационно-образовательного кластера в сфере информационных технологий», выполненному в рамках Соглашения № 1161 от 11 сентября 2012г. с Департаментом образования г. Москвы о предоставлении МГТУ МИРЭА Субсидии из бюджета города Москвы, на реализацию механизмов развития и эффективного использования потенциалов вузов в интересах города Москвы // МГТУ МИРЭА. Москва, 2012 г. 118 с. [Электронный ресурс.] URL: http://www.mirea.ru/moskva/otchet_2.docx (дата обращения: 01.09.2013).

Тихонов А.Н., Иванников А.Д., Скуратов А.К., Домрачев В.Г., Ретинская И.В.

132.

Современное развитие и применение высокопроизводительных вычислительных ресурсов в сфере науки и образования. Высокопроизводительные вычисления и технологии. Тезисы конференции. - Москва-Ижевск: Институт компьютерных исследований, 2003, стр. 17-22.

А.К. Скуратов, С.В. Свечников. Управление данными в распределенных средах.

133.

Учебное пособие в поддержку направления профессиональной подготовки "Информационной системы" и дополнительного развивающего образования. МГДД(Ю)Т, МИРЭА, ФГУ ГНИИ ИТТ "Информика". М.: 2009г. - 111с. УДК 004.738. Официальный сайт LuxRender. [Электронный ресурс.] URL: www.luxrender.net (дата 134.



Pages:     | 1 | 2 || 4 |
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.