Имитационное исследование процесса обработки электронной карты

К. И. Дизендорф, Г. А. Середин (Ижевск)
 

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

Блок отображения построен на базе 32-х разрядного сигнального процессора DSP (Digital Signal Processor) фирмы Analog DevicesADSP-21065L SHARCс производительностью 180 MFLOPS (миллионов операций в секунду cо значениями с плавающей запятой в идеальном случае). Так как процессор настроен на треть от номинальной вычислительной мощности, то реальная производительность – 60 MFLOPS (время выполнения одной операции 17·10-9 сек.). Для памяти SDRAM среднее время доступа DSP к произвольной ячейке – 60 нс (6·10-8 сек.).

В состав электронной карты входят паспорт, содержащий информацию о районе (под районом здесь подразумевается  некоторая местность на Земле в виде географической карты), классификатор объектов карты, листы – сами объекты в виде последовательности координат. Один лист хранит информацию о местности размера 75*75 км и содержит от 1000 до 30000 различного вида объектов. Объекты задаются точками на карте (от 8 до 178). Электронная карта хранится в виде файлов на внешнем носителе.

Область местности отображается в одном из трех масштабов 10 км (1 лист), 75 км (4 листа) или 150 км (6 листов). Время отображения области для однопроцессорного варианта блока составляет: для 10 км – 0,3–0,4 сек., для 75 км – 1,1–1,2 сек., для 150 км – 1,6–1,7 сек.

Процесс построения области состоит из следующих этапов:

1.      определение листов, попадающих в область отображения;

2.      чтение объектов, лежащих на этих листах из файлов, и их обработка для определения местоположения;

3.      прорисовка объектов в видеопамяти.

В процессе построения области этап 1 выполняется один раз, а этапы 2 и 3 выполняются для каждого объекта. Исходя из этого, процесс был разделен на две части: этапы 1, 2 и этап 3. Этапы 1 и 2 занимают 40–45% времени построения области, а этап 3 – 55–60%. Предполагается, что каждая часть выполняется своей группой процессоров. Для передачи данных между этими группами служит кэш размером 8 Кb, который работает по принципу «первый пришёл – первый ушёл». Среднее время доступа DSP к произвольной ячейке кэша (память SRAM) – 15 нс (15·10-9 сек.). Однако DSP менее производителен, поэтому время доступа к кэшу соответствует времени быстродействия DSP (17·10-9 сек.). В каждой группе есть главный процессор, который отслеживает начало/конец области, чтобы данные разных областей не попадали на одну картинку. Этап 1 полностью возлагается на главный процессор первой группы.

В качестве критерия качества использовалось время построения области. Приемлемой величиной было выбрано время отображения около 1 сек. Если время окажется меньше, то это даст возможность разработчикам обратить внимание на качество изображения.

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

При построении моделей были использованы следующие предположения:

1.      время построения области состоит из двух слагаемых: первое – постоянное, второе – пропорционально числу листов в области;

2.      разброс времени построения области (примерно 0,1 с) линейно зависит от числа объектов;

3.      описание объекта занимает в кэше место, пропорциональное числу точек, описывающих объект;

4.      время чтения/записи объекта в кэш пропорционально времени доступа к кэшу и числу точек, описывающих объект;

5.      одновременное чтение и запись в кэш невозможно.

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

Этап 1 не может быть разделен между процессорами, поэтому нужно из первого слагаемого (смотри предположение 1) выделить время, приходящееся на этот этап. Так как постоянное слагаемое составляет примерно 0,04 сек., то этап 1 не может длиться дольше этой величины. Однако измерить длительность этапа 1 не представляется возможным. Поэтому для каждой конфигурации было проведено два прогона: один при нулевом времени первого этапа, а второй – при максимально возможном. В качестве результата бралось большее время.

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

Результаты моделирования вынесены в таблицу 1.

Таблица 1

Среднее время работы моделей одно-, двух- и трехпроцессорных систем

масштаб

1 процессор

схема 1+1

схема 2+1

среднее время

среднее время

экономия времени

среднее время

экономия времени

экономия времени

(1+1):1

(2+1):(1+1)

(2+1):1

10км

0,352

0,225

36,08%

0,175

22,22%

50,28%

75км

1,131

0,694

38,64%

0,519

25,22%

54,11%

150км

1,651

1,006

39,06%

0,748

25,68%

54,71%

 

Из приведенных данных видно, что использование двух процессоров дает весьма хорошие результаты.