Опубликован: 03.04.2013 | Доступ: свободный | Студентов: 310 / 11 | Длительность: 34:17:00
Специальности: Разработчик аппаратуры
Лекция 7:

Современные вычислительные технологии и их аппаратные платформы

< Лекция 6 || Лекция 7: 123456 || Лекция 8 >

6.6. Факторы, ограничивающие коэффициент распараллеливания вычислений

Условия эксплуатации технотронных комплексов космического базирования, ориентированных на решение глобальных задач телекоммуникаций и связи, разведки полезных ископаемых, мониторинга земной и водной поверхности для нужд экологии, сельского хозяйства, добычи рыбы и т. д., таковы, что к их вычислительным системам предъявляется наиболее полный и противоречивый перечень требований. В результате, который качество бортовых вычислительных систем (БВС) оценивается наиболее комплексным показателем [173]:

R=\cfrac{V_{эфф}*T_0*n*Q}{G*W}, ( 6.2)

который учитывает:

  • V_{эфф} - эффективную производительность БВС (операций/с);
  • T _{0} - время наработки на 1 отказ (часов);
  • n - разрядность арифметики (бит);
  • Q - объем оперативной памяти (байт);
  • G - вес или массу вычислителя (кг или дм3);
  • W - потребляемую или излучаемую энергию (Вт).

Эффективная производительность однородных параллельных БВС определяется:

V_{эфф}=\beta*\gamma*P_{физ} ( 6.3)

где:

  • безразмерный коэффициент \beta\le 1 характеризует системные аппаратно-временные издержки на организацию вычислений в (сверх)многопроцессорной БВС;
  • \gamma > 1 представляет собой коэффициент распараллеливания физических возможностей (сверх)многопроцессорной БВС, в которой каждый процессор способен выполнить все операции со скоростью P_{физ} операций/с.

Как показывает опыт, с ростом коэффициента распараллеливания вычислений возрастают и системные аппаратно-временные издержки, которые в основном связаны с динамическим управлением вычислительными ресурсами и связанными с этим простоями аппаратуры. В случае БВС аэрокосмического базирования \gamma (102-103), так как они решают задачи с экстремальными требованиями по производительности и пропускной способности по потокам данных, которые на 2-3 порядка превосходят предоставляемые. В частности, для проведения разведки подвижных наземных группировок средствами космического базирования требуется производительность порядка 1015 операций/с, что на 3 порядка превышает производительность существующих наземных супер-ЭВМ.

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

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

L^s=\sum_{s=1}^N{X^s*Y^s}

К группе задач типа O(N^{2}) относят те задачи, у которых количество операций квадратично зависит от количества циклически обрабатываемых операндов N. Типичный представитель - это сортировка методом "пузырька", в которой количество сравнений и транспозиций не может превышать значения N*(N+1)/2.

К группе задач типа O(N^{3}) относят те задачи, у которых количество операций кубически зависит от количества циклически обрабатываемых операндов N. Типичный представитель - это умножение матриц, в котором количество операций умножения равно N^{3}, а сложений - N^{2}*(N+1).

Подавляющее большинство задач разведки подвижных наземных группировок аэрокосмическими средствами относится к группе O(N), где N \approx (2^{6}-2^{8}) пикселей, которое расходуется на графическое представление эталонного описания объекта разведки.

Из сказанного видно, что в БВС активно решаются задачи, требующие (сверх)высоких коэффициентов распараллеливания вычислений как по потокам команд, так и по потокам данных. Отсюда и вытекает задача эффективного управления ходом вычислительного процесса, так как с ростом коэффициента распараллеливания вычислений \gamma резко возрастают системные аппаратно-временные издержки на управление в реальном времени ходом вычислительного процесса, что приводит к резкому падению коэффициента \beta в (6.3).

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

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

Рост времени наработки на один отказ ( T_{0} ) одновременно увеличивает как числитель, так и знаменатель показателя качества (6.2) работы БВС, так как с увеличением коэффициента распараллеливания вычислений снижается надежность всей БВС, что приводит к росту аппаратно-временных затрат на резервирование, а значит, и к росту массо-габаритов ( G ) и потребляемой мощности ( W ). Такое нелинейное влияние надежности работы отдельного процессора на показатель качества работы всей (сверх)многопроцессорной БВС имеет следующие последствия:

  • коэффициент локального и/или глобального резервирования не превышает значений 3-4, как это имеет место в системах управления посадкой американских космических кораблей многоразового использования типа "Шаттл";
  • на первое место выходит не показатель надежности, а показатель отказоустойчивости, который характеризует способность БВС выполнять полностью или частично возлагаемые на нее функции при наличии в ней карты отказов.

Объемы используемой памяти ( Q ) также двойственно влияют на комплексный показатель качества (6.2) БВС. С одной стороны, увеличение объема ОЗУ повышает пропускную способность всей БВС как по многомерным потокам команд, так и по многомерным потокам данных, а с другой стороны, современные, особенно многопортовые ОЗУ являются основными источниками повышения потребляемой мощности и снижения надежности работы всей БВС.

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

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

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

Оценить возрастание погрешности вычислений проще всего на различных моделях схем суммирования с накоплением N операндов (рис. 6.5).

Схемы суммирования операндов с разным числом операций пересылки

Рис. 6.5. Схемы суммирования операндов с разным числом операций пересылки

В схеме рис. 6.5-а вся сумма

S=\sum_{i=1}^{N}{X^i}

сначала накапливается в регистре-аккумуляторе ( АКК ) и только после этого передается в ОЗУ, то есть в ходе вычислений осуществляется только одна пересылка результата. При этом следует иметь в виду, что разрядность аккумулятора ( n = 84-128) в несколько раз превосходит разряд-ность шин данных ( n_{d} = 32-64 ). Поэтому при выполнении операций пересылки данных типа Х(ОЗУ):= АКК происходит округление накопленных данных. В схеме рис. 6.5-а такое округление выполняется всего один раз, а в схеме рис. 6.5-б - 3 раза, так как появляются две

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

S^1=\sum_{i=1}^{N/2}{X^i} и S^1=\sum_{i=1}^{N/2}{X^i}, ( S = S^1 + S^2 )

Очевидно, что с ростом коэффициента распараллеливания вычислений \gamma количество пересылок результатов промежуточных вычислений возрастает в 2^{\gamma} -1 раз.

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

Типичное влияние двух этих источников на точность вычислений суммы чисел с одинарной и двойной точностью показано соответственно на рис. 6.6 и 6.7, из которых видно:

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

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

Здесь за наиболее точный (почти "эталонный") результат принято значение S, вычисленное в "однопроцессорном" варианте с двойной точностью и после упорядочения по возрастанию псевдослучайной последовательности \{X ^{i}\}, где i изменяется от 1 до N = 5000, а коэффициент распараллеливания вычислений - от 1 до 200.

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

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

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

На основе приведенных данных можно заключить:

  1. В комплексной оценке качества БВС вида (6.1) тесно переплетены как системотехнические, так и конструктивно-технологические факторы, первые из которых фактически предопределяют коэффициент использования физических возможностей параллельных БВС, а вторые - сами эти возможности.
  2. Основными факторами, ограничивающими допустимый уровень параллелизма в (Б)ВС, являются не только потребляемая мощность и габариты, но и вычислительная устойчивость, которая в параллельной арифметике падает с ростом коэффициента распараллеливания вычислений. Поэтому в (сверх)параллельных (Б)ВС более перспективной является последовательная (конвейерная) арифметика, обеспечивающая одинаковую и произвольно наращиваемую в ходе вычислений разрядность как регистров-аккумуляторов, так и шин обмена данными.
  3. Основные системные аппаратно-временные издержки (сверх)парал-лельных (Б)ВС связаны с обеспечением взаимодействия многомерных потоков команд и многомерных потоков данных, в которых образуются "вихри" из-за наличия в программах операторов условных переходов, нарушающих линейный порядок перечисления потоков инструкций. 4. Прямой перенос алгоритмов и программ с последовательных на параллельные (Б)ВС может привести к потере вычислительной устойчивости, а значит, и к непрогнозируемому поведению автоматизированных комплексов в целом. Это чревато потерей управления сложными и опасными объектами, функционирование которых осуществляется на и над собственной территорией.

Системотехнические выводы по лекции 6

  1. Многофункциональный характер задач, решаемых современными технотронными комплексами как в сфере обороны, так и в остальных сферах деятельности человека, вынуждает их разработчиков использовать практически весь спектр существующих вычислительных технологий, поддерживающих требуемый уровень параллелизма на всех уровнях организации вычислений: бит-командном, слов-командном и поток-операторном, то есть параллельные вычисления следует считать атрибутом (Б)ВС современных и перспективных технотронных комплексов двойного назначения.
  2. Основное достоинство МКМД-бит-процессорных технологий состоит в том, что они позволяют на однородной элементной базе малой номенклатуры наиболее полно воплотить архитектурные решения, которые лежат в основе других технологий.
  3. Основной вклад в увеличение трудоемкости и сроков создания современных технотронных комплексов вносят этапы, обеспечивающие алгоритмизацию, программирование и (кремниевую) компиляцию задач пользователя в исполняемый формат или, что одно и то же, в получение булева представления заданий пользователя.
  4. Нейрокомпиляция является единственной альтернативой современным технологиям погружения заданий пользователя на уровень аппаратной реализации, и она призвана сократить финансовые, временные и интеллектуальные издержки на формирование исполняемого формата за счет замены дорогостоящих этапов алгоритмизации, программирования и компиляции обучением "дочерней" нейро-ЭВМ.
  5. Нейрокомпьютерные технологии не отменяют интеллектуальный этап и связанные с ним затраты на создание формализованного описания задач. Они лишь изменяют представление этого формализованного описания в виде репрезентативных обучающих выборок. Обоснование, выбор или формирование репрезентативной обучающей выборки - не менее сложная интеллектуальная задача, чем получение формализованного описания задания пользователя ЭВМ.
  6. Основное преимущество нейрокомпьютерных технологий сосредоточено в стандартных процедурах обучения или, что одно и то же, в формировании исполняемого формата задания вплоть до физико-технического или молекулярно-биологического уровня описания вычислительного процесса.
  7. Основная опасность использования нейрокомпьютерных технологий в технотронных комплексах проистекает от непрогнозируемости поведения таких комплексов в быстро изменяющейся "внешней среде". При этом диспетчерские службы и руководство глобальных технотронных комплексов должны иметь автоматизированные средства и оперативные возможности:
    • для оперативной оценки адекватности реальных условий и модельных условий, представленных репрезентативными выборками во время обучения;
    • для прекращения текущих задач в случае существенных отклонений реальных условий от условий обучения "материнской" нейро-ЭВМ.
  8. С учетом высокой вероятности потери управляемости технотронными комплексами в ближайшей перспективе применение нейроком-пьютерных технологий можно ожидать при интерактивном решении задач подготовки и планирования глобальных экономических, финансовых, технических и т. п. мероприятий, где руководящий состав еще имеет время и возможности для оценки результатов работы нейро-ЭВМ.
  9. В современных вычислительных технологиях основная опасность в применении технотронных комплексов проистекает из возможной потери вычислительной устойчивости алгоритмических и программных платформ, отлаженных и проверенных на последовательных аппаратных платформах и перенесенных впоследствии на параллельные аппаратные платформы.
  10. Даже созданная в кооперации с зарубежными партнерами отечественная элементная база отстает и еще долго будет отставать от элементной базы США. Поэтому отечественные (Б)ВС должны обеспечить более высокие коэффициенты распараллеливания вычислений, чтобы решить задачи интеллектуальной и информационный поддержки персонала в противоборстве с конкурентами, обладающими организационно-техническим, финансовым и технологическим превосходством. Это ужесточает требования к вычислительной устойчивости и устойчивости к отказам отечественных алгоритмических и аппаратных платформ, что требует поиска принципиально новых решений в области вычислительных технологий.
  11. Создание RISC -процессоров и основанных на них вычислительных технологий является несомненным успехом DARPA, консолидировавшего усилия ученых и коммерческих фирм, обеспечивших продвижение на коммерческий и военный рынок инновационной технологии, в корне изменившей стратегию создания средств вычислительной техники.
< Лекция 6 || Лекция 7: 123456 || Лекция 8 >
Виктор Бузмаков
Виктор Бузмаков
Россия, г. Москва
Юрий Самков
Юрий Самков
Россия