Исследование производительности процессора обработки структур в системе…
11
существенно больше объема локальной памяти СП (3,5 Гб, DDR3 в
сравнении с 256 МБ DDR). Другие параметры экспериментальной
ЭВМ № 1: количество процессорных ядер — 4, Сore i5; частота про-
цессоров — 2530 МГц; операционная система — Ubuntu Linux 12.04
i386; компилятор — с99; локальная память — DDR3 4 Гб; ширина
шины памяти — 64 бит; частота шины памяти — 1333 МГц. Пара-
метры экспериментальной ЭВМ № 2: количество процессорных ядер
— 1, Pentium 4; частота процессоров — 1500 МГц; операционная си-
стема — Ubuntu Linux 10.04 i386; компилятор — с99; локальная па-
мять — SDRAM 256 МБ; ширина шины памяти — 64 бит; частота
шины памяти — 133 МГц.
ЭВМ № 3 реализована на основе микропроцессорного ядра
Microblaze на аппаратной платформе ПЛИС FPGA Virtex II Pro. Па-
раметры экспериментальной ЭВМ № 3: количество процессорных
ядер — 1, Microblaze v4.00a; частота процессора — 100 МГц; опера-
ционная система — отсутствует; компилятор — mb-gcc; локальная
память — DDR SDRAM 256 Мб; ширина шины памяти — 64 бит; ча-
стота шины памяти — 100 МГц.
Так как использование полного объема локальной памяти при
размещении структуры приводит к большому количеству операций
дефрагментации, результаты экспериментов в этом случае искажают-
ся. Поэтому все эксперименты проводились при объемах структур,
заведомо меньших объема локальной памяти СП (максимальное до-
пустимое количество элементов структуры в локальной памяти для
тестового варианта СП: 6·8·8·8·8·8·8·8 = 12,6·10
6
пар «ключ-значе-
ние»). Измерение количества тактов работы программного алгоритма
проводилось с помощью счетчика тактов, получаемого командой
RDTSC. Для учета дополнительных программных издержек из обще-
го количества тактов, потраченных для проведения программного
эксперимента, было вычтено количество тактов, потраченное на ге-
нерацию случайных значений.
Проведенные эксперименты показали, что временная сложность
аппаратной реализации операции
Добавление
для СП в 3,2 раза ниже
сложности программной реализации на многоядерной платформе
ЭВМ № 1 (см. рис. 3). Для одноядерных платформ результаты срав-
нения количества тактов с аппаратной реализацией на основе СП
следующие: для ЭВМ № 2 потребовалось в 5,7 раза больше тактов;
для ЭВМ № 3 потребовалось в 42,7 раз больше тактов.
Следует отметить, что в программном алгоритме операции
До-
бавление
используется функция выделения памяти malloc(), которая
для ЭВМ № 1 и № 2 выполняет обращение к менеджеру памяти опе-
рационной системы, функционирующему независимо от тестовой
программы. В связи с этим в полученных результатах для ЭВМ № 1 и