54,5 65,0 17
55,6 68,5 18
56,1 70,8 19
56,2 72,1 20
55,4 66,5 21
56,9 71,1 22
57,5 74,0 23
57,7 75,7 24
54,5 64,9 25
55,6 68,5 26
56,0 70,7 27
56,2 72,1 28
Температура
Номер
Номер посадочного места
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Проведенные исследования показали, что оптимизация температурных полей электронных устройств путем рационального размещения может использоваться в случаях, когда затруднено использование активных систем охлаждения и имеются резервы такой оптимизации. Это позволяет снизить температуру электронных элементов не изменяя конструктивные характеристики устройства.
Список литературы:
1. Меркухин Е.Н. Эффективность оптимального размещения тепловых источников в микроблочных конструкциях электронных аппаратов//Вестник ДГТУ. Технические науки. Выпуск № 3. - Махачкала, 1999. - С. 177 - 180.
2. Анализ конструкций РЭА по тепловым режимам.// Отчет о НИР/ВНТИЦентр; руководитель Абрамов Ю.С. N ГР 01820073918; Инв.К 028600423 64. - Махачкала ДПТИ, 1985.
УДК 681.3
ФУНКЦИОНАЛЬНО - УПРАВЛЯЮЩИЕ СЕТИ ДЛЯ МОДЕЛИРОВАНИЯ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ
Омаров О.М.
Генеральный директор ЗАО "ДАГИНКОМ", д.т.н., [email protected]
Аннотация: В статье рассмотрены вопросы применения CF-сетей для моделирования распределенных вычислительных систем со сложной структурой для обеспечения более естественного взаимодействия с современными технологиями программирования, в том числе, с конструкциями объектно-ориентированного программирования.
Ключевые слова: сети, моделирование, вычисления.
FUNCTIONAL - CONTROL NETWORK FOR SIMULATION OF DISTRIBUTED COMPUTING
Abstract: This article describes how to use CF-networks for modeling of distributed computing systems with a complex structure to provide more natural interaction and modern programming technologies, including designs with object-oriented programming.
Keywords: network simulation calculations.
Развитие сетевых технологий, рабочих станций и персональных компьютеров обеспечивает неуклонный рост вычислительных ресурсов распределенных систем.
Неслучайно ведущие специалисты в области вычислительной техники указывают в качестве конечной цели развития информационных технологий создание системы «вездесущих» вычислений, которая требует наличия информации и средств ее обработки в любом месте. Даже сейчас вычислительные мощности компьютерных сетей значительно превосходят по производительности самые мощные суперкомпьютеры. Однако для создания системы «вездесущих» вычислений необходимо решение целого ряда сложнейших проблем, прежде всего, в области программного обеспечения распределенных вычислительных ресурсов.
При создании распределенных вычислительных программ программист неизбежно сталкивается с рядом технических сложностей, к числу которых следует отнести: ненадежность сети, изменчивость топологии сети, согласование нескольких администраторов сети и минимизацию транспортных затрат. Главной проблемой, с которой неизбежно сталкиваются создатели программ для распределенных вычислительных систем, - это адекватная реализация в сети множества вычислительных процессов. Для обеспечения согласованной работы сотен, а иногда даже тысяч взаимосвязанных процессов необходимы средства моделирования, с одной стороны, достаточно простые, а, с другой стороны, адекватно представляющие события и процессы, происходящие в сети при реализации распределенных вычислений.
Поскольку порядок выполнения во времени тех или иных информационно независимых компонентов программ, в общем случае, не определен, то это приводит к различным протоколам выполнения параллельной программы.
Одними из наиболее широко известных и распространенных форм представления задач являются представление задачи в виде взаимодействующих последовательных процессов [1] и в виде сети Петри (СП) [2]. Как правило, указанные формы используются отдельно: сети Петри отражают структуру описываемой системы и позволяют моделировать динамическое поведение системы и обнаруживать тупики и дедлоки, а представление задачи в виде взаимодействующих последовательных процессов позволяет наглядно описывать процессы управления и поведения системы на уровне составляющих систему процессов, благодаря разработанному математическому аппарату.
Практическое использование классических формализмов как СП, так и взаимодействующих последовательных процессов для описания реальных систем, выявило ряд серьезных недостатков (таких как невозможность описания функционирования условного оператора if для СП и абстрагирование от структуры самого процесса в модели взаимодействующих последовательных процессов), что существенно ограничивает их область применения.
Для устранения описанных недостатков для моделирования параллельных алгоритмов предлагаются управляющие функциональные расширения сетей Петри, предназначенные для адекватного представления и ориентированные на распределенную обработку информации.
Следует отмететить, что СП, как правило, используются для описания исключительно управляющих компонент вычислительного процесса, игнорируя сущность процесса, в том числе, не отражается информационная зависимость между фрагментами вычислений. В то же время существует класс СП, описывающих потоковые вычисления, например для конвейерных устройств и машин data-flow. Классические сети Петри и потоковые сети Петри описывают две ипостаси вычислительного процесса: управляющую компоненту и вычислительную -функциональную компоненту. Как правило, оба типа СП являются несовместимыми, поскольку назначение мест и переходов в обоих типах сетей противоположное. В классических СП переходы соответствуют некоторым операторам, функциональное назначение которых не определяется в модели, места - состоянию программы или системы, дуги отражают зависимость по управлению. В потоковых СП переходы соответствуют операциям над данными или ячейкам памяти, места - операндам, дуги -информационным зависимостям. В то же время тенденции развития технологии программирования (в частности, на основе парадигмы объектно-ориентированного программирования) направлены на инкапсуляцию данных и методов их обработки, а, значит, и управляющих компонент вычислительного процесса в единой программно-неделимой конструкции. Это приводит к необходимости создания расширения сетей Петри, которые поддерживали бы тенденции развития информационных технологий, обеспечивали бы адекватное моделирование распределенных вычислений и преемственность с разработанными методами и средствами анализа СП.
Основным принципом построения управляющих функциональных сетей (CF-сетей) является следующий: топологически изоморфные переходы сети являются эквивалентными, а топологически неизоморфные переходы являются неэквивалентными. Данный принцип позволяет значительно расширить свойства СП. Прежде всего, это относится к переходам, содержащим как ингибиторные, так и обычные дуги.
Как известно, в СП срабатывание некоторого перехода возможно тогда и только тогда, когда во всех местах инцидентных переходу имеются фишки. Если же переход соединен с входным местом а с помощью нескольких дуг, то для активирования данного перехода необходимо, чтобы число фишек в месте а было не меньше, чем число дуг, связывающих место с переходом [4]. Аналогично, если некоторый переход связан с местом Р n дугами, то при активизации перехода в месте Р появляется n дополнительных фишек.
Если некоторый переход а связан с местом t обычной дугой, то данный переход активируется, когда в месте t находится, по крайней мере, одна фишка. Если некоторый
переход Р связан с местом t ингибиторной дугой, то данный переход активируется, когда в месте t не содержится ни одной фишки.
Если некоторый переход у связан с местом t п обычными дугами, то данный переход активируется тогда и только тогда, когда в месте t содержится не менее, чем п фишек.
Если для CF-сети некоторый переход 5 связан с местом t п ингибиторными дугами, то данный переход должен активироваться тогда, когда в месте t находится фишек меньше, чем п. Данное определение делает переход 5 обратным по условию срабатывания переходу у. Аналогично, как по условию срабатывания, переход а является противоположным по условию срабатывания переходу р.
Формально условие срабатывания вышеописанных переходов можно описать с помощью следующих формул:
5(а) = Р(|| *|| > 1)
5-(р) = Р(|| *|| = 0) = 5(а)
5(у) = Р(|| *Ц > п) , (1)
5(5) = Р(|| *|| < п) = 5(у)
где £(л) - условие срабатывания перехода /; || * || - число вершин в месте
Несложно заметить, что условие срабатывания перехода Р является частным случаем условием срабатывания перехода 5 при п=1. Аналогично условие срабатывания перехода а является частным случаем условия срабатывания перехода у.
Можно предположить, что некоторый переход /, связанный с входным местом t п дугами, и, соответственно, активируемый наличием в месте t п и более фишек, эквивалентен переходу, связанному с п мест: ..., tn>, которые образуют
групповую позицию. Переход / сработает тогда и только тогда, когда в каждом из мест групповой позиции ..., tn> находится, по крайней мере, по одной фишке.
Определенный интерес представляет переход в, который соединен с входным местом t как прямой, так и ингибиторной дугой. На первый взгляд, данный переход не может быть активирован ни при каком количестве фишек в позиции ^ так как необходимо выполнение условий таких, что фишки в позиции t как имеются, так и отсутствуют. Однако при преобразовании сети с переходом в в сеть с групповой позицией <1, становится понятным, что переход в срабатывает тогда и только тогда, когда в месте ^ есть фишка, а в месте ^ фишки нет.
В общем случае для срабатывания переходов CF-сети каждое место, связанное с переходом / п дугами, из которых k - обычных дуг и m - ингибиторных дуг, заменялось групповой позицией ..., каждое место которой Ъ связано с
переходом / единственной дугой, причем места Ъ 1=1,2,., k соединены с переходом / обычными дугами, а места Ъ i=k+1, k+2,..., п соединены с переходом / ингибиторными дугами. Если позиция t содержит N фишек, то они должны быть разделены между местами групповой позиции, начиная с первой. Таким образом, для того чтобы переход / сработал, нам необходимо, чтобы фишки находились в местах групповой позиции ^ ¡=1,2,..., k и отсутствовали фишки в местах ^ i=k+1, k+2,..., п.
Правила срабатывания перехода / можно описать следующим образом:
Б(ц) = Р( ¿11 е[к,п[)
(2)
Наибольший интерес представляет переход, связанный с некоторым местом t с помощью k обычных дуг и единственной ингибиторной дуги, условием срабатывания перехода является наличие в месте t ровно k фишек, что обеспечивает более строгое соответствие программным конструкциям.
Для сокращения записи предлагается в CF-сетях помечать разметку обычных и ингибиторных дуг. Допускается комплексная разметка дуги в виде k+mI, где I - символ ингибиторной дуги.
Классическая сеть Петри является абсолютно недетерминированным процессом, поскольку каждое из возможных срабатываний переходов срабатывает в случайный момент времени. В то же время, в любых программах, в том числе, реализуемых в распределенных вычислительных системах, присутствуют как детерминированные, так и недетерминированные процессы. Как правило, детерминированные процессы выполняются последовательно. Можно выделить множество позиций, которые мы в дальнейшем будем называть управляющими, для которых фишка может находиться в одной и только в одной позиции. Множество таких позиций можно заменить с помощью единственной позиции, которая содержит п фишек, где п - мощность множества управляющих позиций. Для идентификации того или иного места управляющей позиции используются переходы, связанные не с отдельным местом, а с групповой позицией, при этом дуги, активирующие переход, помечаются i+I, то есть i -обычными дугами и одной I - ингибиторной дугой. Подобная конструкция позволяет существенно сократить число позиций в сети Петри и сделать ее более читаемой и в большей степени соответствующей традиционным методам программирования параллельных и распределенных вычислений [3].
Следующим шагом в модернизации CF-сетей является введение в сеть компонент, меняющих разметку дуг. Каждой дуге CF-сети может быть поставлено в соответствие место, количество фишек в котором определяет разметку дуги (число обычных или ингибиторных дуг). При срабатывании перехода количество фишек в местах, размечающих дуги, активирующих переход, остается неизменным. Графически соответствие места и разметки некоторой дуги обозначается с помощью а-дуги инцидентной вершине и обычной дуге [3]. Каждой дуге CF-сети может быть поставлено в соответствие несколько а-дуг, в том числе, и а-дуге может быть поставлена в соответствие другая а-дуга.
Следует отметить, что если размеченная а-дугами обычная дуга соответствует операции сложения, то вторично размеченная а-дуга соответствует операции умножения.
На рис. 1 приведена CF-сеть, соответствующая вычислительной структуре
Срабатывание перехода е приводит к добавлению в позиции х числа фишек, равного числу фишек в позиции Ь, умноженных на число фишек в позиции с и число фишек в позиции d.
1^) Шеп x:=x+b*c+d
Рис.1.
Проведенный анализ показал, что поскольку движение фишки в местах групповой позиции не определено (известно только, что в позиции используется одна и только одна фишка, то есть номер активного места групповой позиции может как увеличиваться, так и уменьшаться), целесообразно создать механизм, обеспечивающий, чтобы срабатывание некоторого перехода приводило к изменению числа фишек в месте, не связанном с этим переходом. Для того чтобы это стало возможным, в CF-сеть введены ингибиторные дуги второго рода, которые позволяют уменьшить на единицу одну фишку в выходном месте инцидентному переходу, n ингибиторных дуг второго рода уменьшает число фишек в выходной позиции на n, разумеется, число фишек в позиции не может быть отрицательной величиной. Несложно заметить, что ингибиторные дуги второго рода являются более тонким механизмом управления процессов в сети.
На рис. 2 приведена CF-сеть, соответствующая структуре
if(e) then x:=x-b.
о—
Рис.2.
Для обычной дуги признак ингибиторности соответствует вычитанию, для а-дуги - операции деления (обратной операции умножения).
CF-сети позволяют сделать процесс моделирования распределенных вычислений более простым и наглядным. В качестве примера рассмотрим CF-сеть, реализующую протокол TCP, представленную на рис.3.
Взаимодействие между клиентом и сервером по TCP-протоколу происходит согласованно и последовательно путем поочередной передачи сообщения от клиента к серверу и от сервера к клиенту. Количество транзакций между клиентом и сервером может изменяться, поэтому в общем случае неизвестно, сколько состояний содержит протокол.
Рис.3.
Для моделирования протокола с помощью СП необходимо создать множество мест как для клиента, так и для сервера, каждое из которых будет ответствовать определенному состоянию (CONNECTION REQUEST, CONNECTION ACCEPED, REJECT и т.д.). В CF-сети данные множества мест могут быть заменены двумя групповыми местами, число фишек в которых взаимно однозначно определяет
с
состояние клиента (К) или сервера (С), так как фишка может находиться только в одном месте, характеризующем состояние клиента или сервера. Множество переходов, связанных с определенным местом, характеризующим состояние клиента или сервера, можно заменить четырьмя переходами: рп , Р^ , срабатывающими в четный момент
времени, и Р^ , Р2^ , срабатывающими в нечетный момент времени. При
срабатывании указанных переходов число фишек в позиции К или С увеличивается на единицу, то есть клиент или сервер переходит в новое состояние. Также имеются два перехода: Ррп , РС , срабатывание которых завершает взаимодействие клиента и сервера соответственно. Данные переходы активируются по дуге, выходящей из групповых мест К и С, при этом дугам поставлены в соответствие а-дуги инцидентные местам ЕК и ЕС. Когда количество фишек в позициях К(С) сравняется с числом фишек в позиции ЕК(ЕС), сработает переход, завершающий взаимодействие. Количество фишек в позициях ЕК и ЕС может быть изменено в процессе функционирования CF-сети. При срабатывании переходов и происходит появление сообщения от клиента МК
или от сервера МС соответственно. Переходы Р^ и Р^ не будут активированы, если
не будет фишки в местах МС и МК, что соответствует ожиданию сообщения от сервера или клиента. Срабатывание данных переходов приводит к появлению фишек в позициях АК и АС. Наличие фишек в данных местах необходимо для срабатывания переходов Р^п и Р2^ соответственно.
При необходимости создания переходов, активируемых конкретным состоянием клиента или сервера, достаточно поставить переход инцидентный групповому месту К или С с разметкой дуги, равной i+I, где i - номер состояния клиента (сервера).
Развитие формализма сетей Петри на основе CF-сетей позволит более адекватно и удобно представлять распределенные вычислительные системы со сложной структурой, в том числе, иерархические, многоуровневые и мультиагентные вычислительные системы. CF-сети обеспечат более естественное взаимодействие с современными технологиями программирования, в том числе, с конструкциями объектно-ориентированного программирования.
Список литературы:
1. Хоар Ч. Взаимодействующие последовательные процессы. - М.: Мир, 1989. -
264 с.
2. Котов В. Е. Сети Петри. - М.: Наука, 1984. - 160 с.
4. Левин И.И. Анализ вычислительных процессов и структур на основе CF-сетей.-Махачкала: ДНЦ РАН. 2006.- 253с.
РАЗРЯДНО-ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ НА АССОЦИАТИВНЫХ СУММАТОРАХ Хачумов В.М.
Федеральное государственное бюджетное учреждение науки Институт системного анализа Российской академии наук
Аннотация: Ускорение вычисления элементарных функций, а также геометрических преобразований является актуальной задачей в бортовых