Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Система управления параллельной обработки данных в локальных вычислительных сетях Мирошников Андрей Сергеевич

Система управления параллельной обработки данных в локальных вычислительных сетях
<
Система управления параллельной обработки данных в локальных вычислительных сетях Система управления параллельной обработки данных в локальных вычислительных сетях Система управления параллельной обработки данных в локальных вычислительных сетях Система управления параллельной обработки данных в локальных вычислительных сетях Система управления параллельной обработки данных в локальных вычислительных сетях Система управления параллельной обработки данных в локальных вычислительных сетях Система управления параллельной обработки данных в локальных вычислительных сетях Система управления параллельной обработки данных в локальных вычислительных сетях Система управления параллельной обработки данных в локальных вычислительных сетях Система управления параллельной обработки данных в локальных вычислительных сетях Система управления параллельной обработки данных в локальных вычислительных сетях Система управления параллельной обработки данных в локальных вычислительных сетях
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Мирошников Андрей Сергеевич. Система управления параллельной обработки данных в локальных вычислительных сетях : диссертация ... кандидата технических наук : 05.13.01.- Владикавказ, 2000.- 157 с.: ил. РГБ ОД, 61 01-5/373-6

Содержание к диссертации

Введение

Глава 1. Распараллеливание алгоритмов и программ 7

1.1. Введение 7

1.2. Организация параллельных процессов 8

1.3. Диспетчеризация и синхронизация 11

1.4. Анализ программ для распараллеливания 15

1.5. Структуризация программ 17

1.6. Инициализация и завершение параллельных процессов 21

1.7. Численное интегрирование 23

1.8. Матричные операции 29

1.9. Решение задач нелинейного программирования 35

1.10. Фильтрация точечных помех 41

Выводы 47

Глава 2. Задачи оптимизации параллельных вычислений 48

2.1. Введение 48

2.2. Обозначения, определения и допущения 49

2.3. Минимизация стоимости решения задач 50

2.4. Минимизация времени решения задач 60

2.5. Надежность параллельных вычислений 66

Выводы 68

Глава 3. Экспериментальный анализ эффективности параллельных вычислений в СОПОИ 69

3.1. Численное интегрирование 70

3.2. Матричные операции 75

3.3. Решение задач нелинейного программирования 78

3.4. Фильтрация помех 81

Выводы 85

Глава 4. Система оптимальной параллельной обработки информации 86

4.1. Цели создания СОПОИ 86

4.2. Выбор стратегии построения СОПОИ 87

4.3. Составные части СОПОИ 89

4.4. Локальная вычислительная сеть 91

4.5. Сетевая операционная система связи 93

4.6. Прикладной программный интерфейс СОПОИ 97

4.7. Работа СОПОИ 108

4.8. Приложение СОПОИ 112

Выводы 116

Заключение 117

Литература 118

Приложение 1 129

Приложение II 131

Приложение III 133

Приложение IV 154

Введение к работе

-3-

Актуальность работы. Развитие однопроцессорных вычислительных систем (ВС) и сравнительная простота реализации алгоритмов для них привели к доминированию аппаратного и программного обеспечения класса SISD над их многопроцессорными и параллельными аналогами. Скорость вычислений в однопроцессорных ВС напрямую зависит от тактовой частоты процессора, объема оперативной памяти, архитектуры ВС и других параметров.

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

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

Цель работы заключается в создании системы управления параллельными вычислениями в локальных вычислительных сетях, по-

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

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

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

Практическая ценность. Результаты работы позволили на базе ЛВС создать СОПОИ, которая по своим эксплуатационным характеристикам превосходит функционально близкие пакеты CORBA и DCOM, позволяя более эффективно, по сравнению с последними, использовать ресурсы ЛВС в соответствии с выбранными целями. Ее применение также упрощает и ускоряет процесс создания прикладных программ, основанных на распараллеливании вычислений. При этом последние оптимизируются по стоимости или времени решения задач. Кроме того, следует отметить возможность решения задач с заданной надежностью. Применение СОПОИ позволяет более эффективно использовать ресурсы ЛВС и сократить затраты на обработку информации в реальном режиме времени.

Достоверность научных положений, выводов и практических рекомендаций подтверждена аналитическими выкладками, совпадением теоретических выводов с результатами экспериментов при решении тестовых задач, а также результатами практического исполь-

-5-зования предложенных в диссертации методик, алгоритмов и программных средств.

Реализация результатов работы. Научные и практические результаты диссертационной работы положены в основу создания СОПОИ, которая используется в учебном процессе Северо-Кавказского государственного технологического университета. Реализация системы осуществлена для IBM-совместимых компьютеров, работающих в операционных средах Microsoft Windows 9x/NT/2000 и объединенных в ЛВС. Базовый язык - объектный Паскаль. Программный пакет СОПОИ внедрен в ТФ ОМС РСО-Алания для ускорения обработки статистических данных о застрахованных лицах.

Апробация работы. Основные результаты диссертации докладывались на научных конференциях СКГТУ 1998 - 2000 г.г. Апробация диссертационной работы в целом проведена в учебном процессе СКГТУ.

Публикации. По результатам выполненных исследований опубликовано 5 печатных работ.

Структура и объем диссертации. Диссертация состоит из введения, четырех глав, заключения, списка литературы из 106 наименований, 4 приложений, содержит 36 рисунков, 7 таблиц и 157 страниц текста.

Организация параллельных процессов

Вычислительные средства внедряются во все сферы человеческой деятельности. Необходимость решения сложных научно-исследовательских и технических задач, создание АСУ, построение сложных систем управления, работающих в реальном масштабе времени, моделирование стимулируют создание новых поколений высокопроизводительных вычислительных средств.

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

Распараллеливание вычислений, определившее построение многопроцессорных ВС, в том числе и многомашинных вычислительных комплексов (МВК), становится основным средством достижения высокой производительности.

Сегодня методы распараллеливания стремятся использовать на всех этапах разработки и применения вычислительных средств - от выбора принципов функционирования и планирования работы от дельных устройств [1 - 4] до организации совместной работы процессоров в ЭВМ в составе ВС и МВК в АСУ [1, 5 -16]. Это требует исследования различных методов организации параллельных процессов, а также применения методов при построении ВС и вычислительных устройств.

Но несмотря на свою очевидность, практическая реализация параллельных вычислений наталкивается на серьезные технические трудности. На протяжении последних десятилетий идеи параллельных вычислений приобретали все большее число сторонников, хотя и не меньшее число скептиков. Однако при появлении ВС и МВК, осуществляющих параллельные вычисления, стал решаться вопрос о практической возможности эффективного распараллеливания вычислительного процесса [3, 17 - 24].

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

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

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

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

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

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

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

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

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

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

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

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

Обозначения, определения и допущения

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

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

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

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

Р - число процессоров, входящих в МВК; Х( - число процессоров, используемых МВК для решения /-ой задачи (V/, Х; Р)\ а - стоимость коллективно используемых ресурсов МВК (винчестера, сервера, коммуникационной сети и т. п.); Ь - стоимость индивидуально используемых процессором ресурсов (сам процессор, его локальная память, т. п.); с - среднее время, затрачиваемое МВК на организацию вычислений; di - время решения /-ой задачи одним процессором; п - число задач в пакете; к - коэффициент пропорциональности; S - стоимость решения задачи; ]F[ - целая часть от F. Исследуемые ниже математические модели опираются на следующие допущения: а). Время ti - решения j-ой задачи Х( процессорами МВК в первом приближении обратно пропорционален их количеству: г.=с + - -. (2.6) X. б). Стоимость единицы времени МВК, используемого для решения /-ой задачи линейно зависит от величины Xf. Д.= (а + ЬХ,), (2.7) в). Все процессоры МВК однородны. г). Все Х[ процессоров завершают работу одновременно, т.е. если один из процессоров завершит «свои» вычисления раньше других, он не может быть использован для решения других задач пакета. Приведенные выше допущения используются для формальных постановок задач применения МВК для минимизации стоимости решения как единичных задач пользователя, так и пакетов этих задач. В простейшем случае, когда решение одной задачи производится процессами, то стоимость S ее решения пропорциональна произведению (2.6) на (2.7), и определяется уравнением: S = k(a + bX)\c + — \ (2.8) V X J Учитывая, что величина Хне должна превосходить общего числа Р рабочих станций МВК, получаем модель минимизации стоимости решения одной задачи: S=k(a + bX)\c + — — min і V (2.9) [X 1, целое На рис. 2.1 изображены зависимости времени (рис 2.1 .а) и стоимости (рис. 2.1.6) решения задачи при следующих параметрах: а= 1200;/? = 600; с = l;rf = 60;P= 15; = 0.001. ч—і—і—і—і—і—і—і—і—і—і—і—і—ь 0 1 2 3 4 5 6 7 8 9 10 11 12 В 14 15 X а. s 12" но- 100" 90— 80— 70" 60-" 50-" 40- зо— 20— 10" Н 1 1 1 1 1 1 1 1 1 1 1 І—ь 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 X б. Рис. 2.1 Зависимости времени (а) и стоимости (б) решения задачи от числа используемых параллельных процессов При анализе минимизации стоимости решения пакета состоящего из п задач целесообразно рассмотреть два противоположных варианта: а) все задачи взаимосвязаны, результаты решения одних явля ются исходными данными для других и поэтому при распараллелива нии решаются последовательно одна за другой; б) все задачи пакета независимы друг от друга и при распарал леливании решаются одновременно. В первом случае, когда решаются взаимосвязанные задачи формальная постановка (2.9) минимизации стоимости преобразуется к виду: S=k (a + bXi) maxX. Р \ i n с + Х: \ min (2.10) [V/, Xt 1, целое Если же задачи пакета независимы, их число п Р и все задачи решаются одновременно, то оптимизационная модель имеет вид: Б=к(а + ЬХ() i=i с-\V ") X,) — гшп І=\ (2.11) [V/, Xi 1, целое Очевидно, что (2.9) является частным случаем (2.10) или (2.11). Далее рассмотрены методы решения систем (2.10) и (2.11). Если в (2.10) ограничением на величину Р можно пренебречь, т.е. Р оо, то справедлива теорема [87], позволяющая аналитически получить оптимальные значения Х(. Теорема 1: V/, Xt =, \adi (2.12) Учет ограничений на число рабочих станций МВК, целочислен-ность переменных Xt и количество взаимосвязанных программ в пакете пользователя п несущественно усложняет задачу. Если правую -53 часть (2.12) обозначить Fh то, с учетом унимодальности (2.8), решение такой задачи, описываемой (2.10), также может быть получено аналитически: ЛеслиР ] [ 1, если Ft \ w x =We M / „s(M) s(M+i) (213) 1] [ + 1,если]/;.[ РиХ(М) 5(]Я;.[ + 1) С помощью системы (2.13) рассчитаем оптимальное число параллельных процессов для решения пакета, состоящего из трех, последовательно решаемых задач, при следующих параметрах: а = 1200; Ъ = 600; с = 1; dx = 60; d2 = 70; d3 = 80; Р = 15; = 0.001. В результате получим: ХХоит = 11; Х2ош =12; Х3оПт =13. При этом времена решения задач следующие: t\ = 6.45; t2 = 6.83; t3 = 7.15, а затраты на их решение составляют S\ = 50.35; S2 = 57.40; S3 = 64.38. Следовательно, весь пакет задач будет решен за время Т= 20.43, а стоимость решения составит Sour = 172.13, что по сравнению с последовательным методом решения данного пакета задач (Т\ = 213, S\ = 383.40) даст выигрыш в стоимости в 2.22 раза, а во времени в 10.42 раза. Для решения системы (2.11) используется теорема [87]: Теорема 2: Нижней границе значения целевой функции системы (2.11) отвечают компоненты вектора переменных, определяемые выражением: Vi\Xf.= Li_. (2.14) 2Ж 7=1 -54 Система (2.14) позволяет вычислять оценки при решении (2.11) методами типа ветвей и границ [87, 88]. В этом случае оценка Q(I) плана, в базис которого введены переменные с индексами, принадлежащими множеству .

Численное интегрирование

Итак СОПОИ содержит четыре основных элемента: ЛВС, СОСС, основные приложения и приложения параллельных процессов. Рассмотрим каждый из них более подробно.

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

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

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

В-третьих, для работы СОПОИ на рабочей станции необходимы: - персональный компьютер с процессором Pentium 75 или более поздним. Желательно иметь персональный компьютер с процессором Pentium III; - оперативная память 32 МБ и более; - операционная система Windows 9.x/NT 4.0/2000. Windows должна быть настроена на работу с сетью и поддерживать NetBIOS протокол; - наличие сетевой карты.

Вопросы организации и эксплуатации ЛВС рассмотрены в [90 -99]. Одну из главных ролей в СОПОИ играет СОСС. Ее использование в проекте позволило создать систему распараллеливания по типу клиент-сервер. Сервером в данном случае является СОСС, а клиентами прикладные программы пользователей, ориентированные на распараллеливание.

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

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

В СОПОИ роль сервера играет СОСС. Она предоставляет прикладным программам среду для создания и выполнения параллельных процессов. В ее задачи входит: - создание и поддержание информационной связи между рабочими станциями в СОПОИ. Непосредственную связь между машинами конечно же осуществляет ЛВС. Но связь, предоставляемая СОСС, объединяет в себе два уровня модели OSI: сеансовый и уровень представления данных. Создание программой связи между рабочими станциями является одной из важных задач в СОПОИ; - учет подключения машин к СОПОИ и отключения от нее. Оперативно поступившая информация о подключении рабочей станции к СОПОИ позволяет повысить эффективность распараллеливания вычислений за счет использования нового процессора. Своевременный учет отключения рабочей станции от СОПОИ повышает надежность вычислений. Вместе с отключением станции также теряются и параллельные процессы. При возникновении такой ситуации потерянные процессы могут быть запущены на работающих станциях. Эти два вида учета требуют работы СОСС в реальном масштабе времени, что отражается на программной реализации СОСС; - запуск и выгрузка приложений параллельных процессов. Прикладным программам не надо заботиться о том, где и как запустить свои параллельные процессы. Это возлагается на СОСС. Очередной параллельный процесс будет запущен на станции, которая не содержит или обрабатывает минимальное число параллельных процессов; - обеспечение информационной связи между прикладными программами СОПОИ и их параллельными процессами. Такая связь необходима для управления параллельными процессами и обмена данными между программами.

В диссертационной работе СОСС представлена «Программой связи» и реализованной в модуле SPIP3 2 .ЕХЕ. Эта программа является системной, реализует все выше перечисленные задачи СОСС и работает под управлением Windows.

Для создания и поддержания информационной связи между рабочими станциями в СОПОИ выбран протокол NetBIOS. Он предоставляет возможность программам, запущенным на рабочих станциях, обмениваться пакетами данных на уровне датаграмм. Одно из преимуществ уровня датаграмм - возможность посылки пакетов данных одновременно всем станциям в сети. Функции протокола NetBIOS, реализуются Windows. Быстрота передачи данных в системах распа раллеливания играет очень важную роль. От нее напрямую зависит эффективность распараллеливания. - блок сетевого интерфейса. Представляет собой набор процедур для связи программы с драйвером NetBIOS протокола. Служит для непосредственного обмена информацией с ЛВС; - блок прикладного программного интерфейса. Это набор процедур для взаимодействия прикладных программ СОПОИ и при -Обложений параллельных процессов с программой связи. Такое взаимодействие осуществляется с помощью сообщений Windows и процедур; - очередь принятых пакетов. Является буфером для принимаемых пакетов и их последующей обработкой блоком управления; - очередь отправляемых пакетов. Является буфером для отправляемых пакетов и используется драйвером NetBIOS протокола; - список станций. Содержит сетевые адреса всех рабочих станций подключенных на данный момент к СОПОИ; - список приложений. Содержит информацию о зарегистрированных на данной рабочей станции приложениях СОПОИ;список процессов. Содержит информацию о запущенных на данной рабочей станции параллельных процессах; - блок управления. Является ядром программы связи. В его функции входит: 1. Инициализация всех остальных блоков. 2. Учет подключения рабочих станций к СОПОИ и отключения от нее. 3. Осуществление интерфейса с приложениями СОПОИ и приложениями параллельных процессов. 4. Регистрация прикладных программ. 5. Открытие параллельных процессов. 6. Передача информационных сообщений между приложениями СОПОИ и параллельными процессами. 7. Закрытие параллельных процессов. 8. Информирование приложений об изменениях, произошедших в СОПОИ, таких, как подключение и отключение рабочих станций, потеря параллельных процессов и т.п. -97 9. Проверка работы параллельных процессов и приложений СОПОИ; - списки открываемых и открывающихся процессов. Служат специальными буферами при открытии и запуске параллельных процессов; - таймер. Служит для синхронизации работы программы, по сигналу от таймера, в сеть посылается идентификационный пакет, который сигнализирует о том, что данная рабочая станция подключена к СОПОИ. Программа написана на языке Object Pascal с использованием среды визуального программирования Delphi.

Выбор стратегии построения СОПОИ

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

Организация параллельных вычислений в этой системе напоминает работу разработанной Microsoft системы DCOM [89] тем, что серверный и клиентские компоненты СОПОИ размещаются на рабочих станциях сети, а основные отличия от работы систем CORBA и DCOM [89] определяются прежде всего сравнительно высоким «интеллектом» описываемой ниже системы и ее целевой направленностью:

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

2). На этапе реализации выбранной пользователем стратегии, серверная компонента непрерывно контролирует процессы, развернутые клиентскими компонентами, причем СОПОИ стремится минимизировать отклонения от выбранной стратегии, вызванные неисправностями аппаратуры. Так, аварийное завершение некоторого процесса, связанное с неисправностью рабочей станции, автоматически приводит к поиску «свободной» и исправной рабочей станции, на которой этот процесс возобновляется и продолжается. Если же таковой станции не находится, то процесс возобновляется, как одно из заданий на одной из уже задействованных рабочих станций, обладающей наименьшей загруженностью. Таким образом, в рамках выбранной стратегии обеспечивается высокая надежность вычислений.

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

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

Если этим пренебречь, то проект можно считать морально устаревшим уже на стадии разработки. Так если самим попытаться создать МВК, то это будет скорее всего невыгодно, потребует больших затрат и готовый проект мало кому захочется использовать по причине отсутствия подобного машинного комплекса.

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

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

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

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

Система: «основное приложение» - «ЛВС» - «параллельный процесс», очень проста. Но для массового использования не пригод -89 на. При такой реализации каждое приложение будет иметь свой собственный набор процедур для связи с другим приложением по сети. При создании новой программы потребуется заново переписывать такой набор процедур. Это очень неудобно. Можно представить себе, что каждый программист использовал бы при обращении к диску собственные процедуры, а не процедуры операционной системы. В этом случае затраты на создание программы резко возрастут, а эффективность их использования упадет. Этот недостаток устраняется использованием стандартных процедур, реализуемых операционной системой.

Похожие диссертации на Система управления параллельной обработки данных в локальных вычислительных сетях