Опубликован: 01.10.2013 | Доступ: свободный | Студентов: 255 / 19 | Длительность: 24:58:00
ISBN: 978-5-9963-0223-9
Специальности: Разработчик аппаратуры
Лекция 2:

Методы оценки вычислительных характеристик задач предметной области и поддерживающих их аппаратных платформ

< Лекция 1 || Лекция 2: 123456 || Лекция 3 >

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

  • к абсолютной погрешности представления исходных данных формата фиксированной запятой, которая возникает при преобразовании десятичных чисел в двоичный код конечной разрядности n: 0 \le \Delta X _{(1}) \le 2^{-n} ;
  • к абсолютной погрешности арифметических преобразований, которая включает две составляющие:
    • абсолютную погрешность денормализации, которая характерна для данных формата плавающей запятой: 0\le \Delta X _{(2)} \le 2^{-n(АКК)}, где n(АКК) - разрядность регистра-аккумулятора операционного устройства процессора;
    • абсолютную погрешность округления, которая возникает при пересылке данных из регистра-аккумулятора в регистр общего назначения (РОН) или буферный регистр, для которых n(РОН) < n(АКК) и поэтому 0 \le \Delta X_{(2)}  \le 2^{-n(РОН)}.

В данном случае объектом исследований являются:

  1. Алгоритм сложения с накоплением суммы в однопроцессорной вычис лительной системе:
    For\,\, i\,\, from\,\, 1\,\, to\,\, N; \\
\Sigma_0=0;\\
\Sigma_{i+1}=\Sigma_i+x_{i+1};
  2. 2. Алгоритм сложения с накоплением суммы в многопроцессорной вычислительной системе:
    For\,\, j\,\, from\,\, 1\,\, to\,\, k; \\
For\,\, i\,\, from\,\, 0\,\, to\,\, N/k; \\
\Sigma_{(j-1)k+0}=0;\\
\Sigma_{(j-1)k+i+1}=\Sigma_{(j-1)k+i}+x_{i+1}.

Первому алгоритму отвечает схема суммирования рис. 1.7-а, а второй алгоритм можно реализовать на двух типах аппаратных платформ, которые отличаются количеством операций пересылки частных сумм: с иерархической (рис. 1.7-б) и с последовательной (рис. 1.7-в) схемой накопления частных сумм, где количество сумматоров одинаково и равно 2k -1, а время задержки разное и равно соответственно ]log_{2} k[+1 и k ( ]log_{2} k [ - старшее целое log_{2} k ).

Методика управления интенсивностью проявления источников погрешности при вычислении суммы членов псевдослучайной последовательности использует следующие факторы:

  1. Абсолютная погрешность денормализации зависит от разности порядков слагаемых, которая определяется как накопленной суммой, так и дисперсией псевдослучайной последовательности. Величина накопленной суммы на i -м шаге зависит от степени упорядоченности псевдослучайной последовательности \{x_{i}\}: хронологический порядок перечисления индексов i, перечисление индексов i по возрастанию x_{i}, перечисление индексов i по убыванию x_{i}.
  2. Абсолютная погрешность округления зависит от числа внутренних и/или внешних пересылок промежуточных значений накопленной суммы, и она тем выше, чем больше коэффициент распараллеливания вычислений. В схеме рис. 1.7-а всего одна пересылка результата, в схемах рисунков 1.7-б и 1.7-в количество пересылок, в том числе и промежуточных сумм, определяется количеством сумматоров и равно 2k-1.
Схемы накопления суммы

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

Чтобы по этой методике исследовать погрешность вычисления суммы членов псевдослучайной последовательности из N элементов в зависимости от различной интенсивности проявления источников погрешностей, достаточно:

  1. С помощью датчика псевдослучайных чисел построить последовательность чисел \{x_{i}\} мощности N.
  2. Упорядочить по возрастанию последовательность \{x_{i}\}\Rigtharrow{\langle}x_{i}{\rangle}.
  3. Упорядочить по убыванию последовательность \{x_{i}\}\Rigtharrow\{x_{i}\}..
  4. Вычислить \Sigma в однопроцессорном варианте для последовательностей \{x_{i}\}, \langle x_{i}\rangle и \{x_{i}\} и в двух форматах: float (\Sigma_{f}) и double (\Sigma_{db}).
  5. Варьируя k = 2\div 512, вычислить суммы в многопроцессорном варианте в формате float: \{(\Sigma_f)_k\} и построить зависимость \Delta_k = (\Sigma_f) _{k} -(\Sigma_f)_{0}.

Из шести возможных вариантов шага 4 наиболее истинное значение (\Sigma_f)_{0} накопленной суммы дает упорядоченная по возрастанию последова-тельность, полученная в формате double, то есть (\Sigma_f)_{0}:= \Sigma_{db}(\langle x_{i}\rangle ), так как в этом случае оба вычислительных источника имеют минимальную интенсивность.

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

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

  1. Колебательный характер обусловлен тем обстоятельством, что накопленные частные суммы могут принимать вид \Sigma_{k} = \Sigma^{-i} с "единичны-ми" значениями в старших разрядах (например: 0,5, 0,25, 0,75 и т. д.), на которые не влияет ни денормализация, ни округление.
  2. Случайный апериодический характер изменения абсолютной погрешности наиболее опасен потерей управления ходом вычислительного процесса с использованием операторов условных переходов. Поэтому при испытаниях и исследованиях вычислительной устойчивости (Б)ВС имеет смысл варьировать интенсивностью источников погрешностей при вычислении выражений, входящих в операторы if.
Типовой график зависимости абсолютной погрешности суммирования от коэффициента распараллеливания вычислений, выполненных с одинарной точностью

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

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

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

  1. Метрологические проблемы вычислительной техники носят как фундаментальный, так и чисто методический характер. Фундаментальная составляющая связана с отсутствием единой метрики, определяющей количество информации, а значит, и объем выполненной ЭВМ работы. Методическая составляющая связана с отсутствием эталонных ЭВМ, эталонных алгоритмов преобразования данных и стандартных процедур пересчета реальных алгоритмических затрат в затраты эталонного алгоритма. В итоге нарушается базовый принцип любого измерения, в результате чего измерительный прибор становится неотъемлемой частью измеряемого объекта (в данном случае операционной системы) и поэтому постоянно изменяет свою структурно-функциональную схему.
  2. Согласно результатам третьей лекции курса "Задачи и модели вычислительных наноструктур" проблема создания единой метрики неразрешима в принципе. Действительно, теория вычислений допускает только экстенсиональную эквивалентность двух алгоритмов, то есть эквивалентность по результату, а не в рамках всего вычислительного процесса. С другой стороны, оценку алгоритмической сложности реальных компьютерных реализаций можно провести по А.Н. Колмогорову только с точностью до некоторой константы и при достаточно жестких ограничениях на используемые вычислительные и/или перечислительные алгоритмы, что характерно для алгоритмически ориентированных областей применения традиционных вычислителей.
  3. Все без исключения инженерные методики оценки производительности фактически отталкиваются от измерения времени, затраченного на решение "хорошо известной пользователю" задачи. В результате сопоставление двух ЭВМ весьма и весьма субъективно, так как и замер времени, и оценка выполненных машиной инструкций, и распределение времени между системными и прикладными задачами носят достаточно субъективный характер.
  4. Стандартные программные платформы оценки производительности и пропускной способности ЭВМ предоставляют пользователю только возможность создания тестовых программ, которые способны воспроизвести стабильную вычислительную нагрузку реальных задач только при использовании в них циклов for, так как при использовании циклов if вычислительная нагрузка зависит от содержимого преобразуемых данных.
  5. Дальнейшее развитие программных платформ оценки производительности ЭВМ скорее всего будет связано с созданием адаптивных средств, оперативно реагирующих и на специфику алгоритма решения задачи, и на специфику архитектуры ЭВМ, и на содержимое преобразуемых потоков данных.
  6. Снижение трудозатрат на адаптацию испытательных и исследовательских программ требует структурного подхода, в рамках которого программные модули представительных задач выступают в качестве неделимых единиц. Совокупность таких структурных единиц инструментальной платформы оценки качества ВС должна обеспечить управляемое перераспределение вычислительной нагрузки на операционные, коммутационные и управляющие ресурсы, а также ресурс памяти исследуемой ВС, для чего требуется точная априорная оценка этих же видов ресурсов, затребованных вычислительными алгоритмами представительных задач. Поэтому операционное ядро каждой представительной задачи должно быть алгоритмически прозрачным, чтобы на его основе можно было априорно и достоверно оценить требуемую нагрузку на все виды используемых ресурсов.
< Лекция 1 || Лекция 2: 123456 || Лекция 3 >
Евгений Акимов
Евгений Акимов

Добрый день!

 

Скажите, пожалуйста,планируется ли продолжение курсов по нанотехнологиям?

Спасибо,

Евгений