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

Организация адаптивной вычислительной системы потоковой обработки данных Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Допира Р. В., Курчидис В. А., Игнатьев С. В., Погребной С. В., Круталевич А. Г.

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

Текст научной работы на тему «Организация адаптивной вычислительной системы потоковой обработки данных»

УДК 004.052.42

ОРГАНИЗАЦИЯ АДАПТИВНОЙ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ ПОТОКОВОЙ ОБРАБОТКИ ДАННЫХ.

В.А. Курчидис, д.т.н.; С.В. Игнатьев, д.т.н.; С.В. Погребной

(Военный учебно-научный центр Военно-воздушных сил «Военно-воздушная академия им. профессора Н.Е. Жуковского и Ю.А. Гагарина» (филиал в г. Ярославль), pogrebnserg@maïl-ru);

А.Г. Круталевич, к.т.н. (Военная академия воздушно-космической обороны им. Г.К. Жукова, г. Тверь, an._ta_vi@mail.ru); Р.В. Допира, д.т.н.. (НИИ «Центрпрограммсистем», г. Тверь)

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

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

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

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

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

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

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

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

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

[2] описана структура соответствующей системы, которая ориентирована на потоки, характеризующиеся наличием только линейных связей между компонентами потока. Система, представленная в

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

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

Структура вычислительной системы

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

Выходной поток решений задач

Рис. 1. Фрагмент потока задач

Выходная магистраль передачи данных Ы-й линейки обработки

1 -й модуль обработки

Ь-й модуль обработки

Ы-я

линейка обработки

Селектор каналов

I I

^ьь

Селектор каналов

I I

Выходная магистраль передачи данных 1-й линейки обработки

1-я

линейка

IV

1-й модуль обработки

о +

Селектор каналов

М-й модуль обработки

Селектор каналов

Блок памяти заявок

Г

V

N у

Выходной мультиплексор

I I I I

\

У.

Выходная магистраль системы

Схема выбора магистрали

Регистр установки режимов работы

Магистраль режимов

Входная магистраль передачи данных

Рис. 2. Структура вычислительной системы потоковой обработки данных

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

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

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

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

Ступени вычислительной системы (линейки обработки) соединяются между собой последовательно посредством выходных магистралей и селекторов каналов.

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

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

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

Эффективность вычислительной системы

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

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

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

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

Каждая из задач этого потока реализуется модулями обработки. При возможности разбиения задачи на параллельные подзадачи последние вы-

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

ражением чС1

= ^7 =-— (задач/с).

^.теор *ср

Тср + *ср

Реальная пропускная способность зависит от структуры системы.

Для сопоставления предлагаемой системы с известной системой [3] принято, что реализация исполнения отдельных задач обработки в модулях обработки в обеих системах одинакова.

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

1

М1 М2 М3 М4 М5 М6 М7 М8 М9 М10 М11 М12 М13 М14 М15 М16

Т

М1,

, М16 — модули обработки

Входная магистраль

Рис. 3. Организация известной системы

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

Рассматриваемый поток задач сложной структуры имеет высокую степень связанности между

исполняемыми задачами 81 (1 = 1, 16). Каждая связь характеризуется объемом VI данных, передаваемых от задачи к задаче в потоке.

Пусть в потоке каждая задача 81 (1 = 1, 16) характеризуется двумя параметрами обработки: средним временем тср выполнения задачи на одном модуле обработки и средним объемом vср промежуточных данных от одного модуля обработки, порождаемых задачей при ее выполнении.

Среднее общее время выполнения одной задачи в системе при этом теоретически составит

*Г =т<Ф+*ср, где 1ср — среднее время передачи

промежуточных данных одной задачи, зависящее от структуры системы.

В вычислительной системе потоковой обработки теоретическая предельная пропускная способность с учетом затрат на передачу промежу-

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

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

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

Учитывая, что передачи обычно статистически совмещены с выполнением некоторых задач в модулях, это время будет гораздо меньше и его можно оценить по формуле ^ = т + 16Ц1 , где

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

ли, составит ^р8 = тср +16^

1

1

Чс Гзв т + 16М

ср ср 1 с|

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

(задач/с).

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

М13

1

Выходная магистраль

М14

М15

М9

М16

М10

М5

Четвертая I линеика j обработки

М11

М6

М12

М7

М1

Третья I линеика обработки

М8

М2

Вторая линеика обработки

М3

Т

М4

Первая I линеика обработки

М1,

Входная магистраль М16 — модули обработки

Рис. 4. Организация предлагаемой системы

В предлагаемой авторами системе число конфликтов передачи данных значительно меньше за счет использования нескольких выходных магистралей.

На каждую выходную магистраль выдается общий объем передаваемых данных 4уср. При этом с учетом коэффициента совмещения ^«0,1, ..., 0,4 среднее общее время, необходимое на выполнение задачи и передачу данных, составит =4+ . Реальная пропускная способность предлагаемой системы составит 1 1

предл _

Чс

предл

1ср

(задач/с).

^ср + 4Мс,

Особенность потоковых задач в том, что время 1ср, затрачиваемое на передачу данных объемом уср от одной задачи 8, обычно составляет 1ср=к2тср, где к2«0,1, ..., 0,3. Это объясняется тем, что с целью повышения пропускной способности системы задачи обработки реализуются достаточно короткими. С учетом этого выигрыш в пропускной способности от применения предлагаемой системы

составит: ^ =

ЧС

1 + 16Цк2

ЯГ 1 + 4Цк2

Численное значение выигрыша от применения предлагаемой системы в зависимости от значения коэффициентов к1 и к2 представлено в таблице.

ki 0,10 0,20

k2 0,10 0,15 0,20 0,25 0,30 0,10 0,15 0,20 0,25 0,30

изв Чс 0,86 0,81 0,76 0,71 0,68 0,76 0,68 0,61 0,56 0,51

^предл 0,96 0,94 0,93 0,91 0,89 0,93 0,89 0,86 0,83 0,81

п 1,12 1,17 1,22 1,27 1,32 1,22 1,32 1,41 1,50 1,58

ki 0,30 0,40

k2 0,10 0,15 0,20 0,25 0,30 0,10 0,15 0,20 0,25 0,30

чСзв 0,68 0,58 0,51 0,45 0,41 0,61 0,51 0,44 0,38 0,34

Ч предл Чс 0,89 0,85 0,81 0,77 0,74 0,86 0,81 0,76 0,71 0,68

п 1,32 1,46 1,58 1,69 1,79 1,41 1,58 1,73 1,86 1,97

Пропускная способность системы на рассмотренном фрагменте потока задач в 1,12-1,97 раза выше, чем в известной системе [3] при одинаковых заданных коэффициентах k и k2. При этом организация исполнения задач в линейках обработки должна соответствовать структуре потока, то есть структура системы и процесс выполнения задач должны быть настроены на структуру входного потока задач.

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

Литература

1. Каляев И.А. [и др.]. Реконфигурируемые мультикон-вейерные вычислительные структуры; [под общ. ред. И.А. Каляева]. Р-н-Д: Изд-во ЮНЦ РАН, 2009. 344 с.

2. Поздняков В.А. Особенности языка программирования, предназначенного для описания модулей в рамках универсальной системы обработки потоков данных // Наука и образование. 2008. № 12. URL: http://technomag.edu.ru/doc/ 111599.html (дата обращения: 12.03.2011).

3. Курчидис В.А. Организация мультимикроконвейерной системы обработки потоков данных сложной структуры // Электронная техника. 1988. Вып. 3 (69). Сер. 10 (Микроэлектронные устройства).

4. Липаев В.В. Распределение ресурсов в вычислительных системах. М.: Статистика, 1979.

Уважаемые читатели!

Подписка на электронную версию международного журнала «Программные продукты и системы» оформляется на сайте www.swsys.ru

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