Мфлопс і продуктивність обчислювальних систем

МЕТОДИ ОЦІНКИ КОМП'ЮТЕРНИХ СИСТЕМ

Мфлопс і продуктивність обчислювальних систем

Часто продуктивність обчислювальних систем виражається в Мфлопс. Розглянемо питання вимірювання продуктивності обчислювальних систем більш докладно (ще більш детально див. Comp.benchmarks FAQ і зазначені там посилання).

Тести продуктивності (benchmarks) - загальні відомості

Мфлопс - що це значить? Англомовний термін MFLOPS є скороченням Millions of FLoating point OPerations per Second і означає Мільйон операцій з плаваючою крапкою в секунду.

MFLOPS часто вживається виробниками високопродуктивних обчислювальних систем для вказівки їх обчислювальної потужності при операціях з числами з плаваючою точкою. На жаль, практично завжди не вказується, що саме позначає вказане число MFLOPS.

Мені вдалося знайти два набори відомих тестів, результати яких виражаються в одиницях MFLOPS - це тести Flops і LINPACK.

Тести Flops Тести Flops засновані на вимірюванні швидкості виконання набору суміші інструкцій FADD, FSUB, FMUL і FDIV. Результати видаються в MFLOPS. Чотири різних тесту FLOPS1 - FLOPS4 розрізняються кількістю інструкцій FDIV в суміші (від 25% до 0%).

Тест можна використовувати як для скалярних, так і для векторних процесорів.

Тести LINPACK Ці тести народилися з бібліотеки підпрограм для задач лінійної алгебри LINPACK. Спочатку тест був написаний на мові Fortran (і зараз часто використовується ця версія тесту), існує і версія на мові C. Основний час тесту займає внутрішній цикл, що виконує типову для дій з матрицями операцію

Стандартна версія тесту оперує з матрицями 100 * 100, однак, є версії для матриць розмірами 300 * 300 і 1000 * 1000 з різними правилами оптимізації. Тест LINPACK досить добре векторизуется і распараллеливается на більшості систем.

Основний недолік тесту LINPACK - він дає мають сенс результати тільки для обчислень наведеного вище виду.

Проблеми порівняння результатів в MFLOPS Коли ми починаємо порівнювати різні обчислювальні системи за показником продуктивності, вказаним в MFLOPS, потрібно бути дуже обережними:

  • не завжди ясно, як саме отримано наведене число (зазвичай це актуально для показників продуктивності, про яку йдеться виробниками обладнання);
  • навіть якщо ясно, при виконанні якого тіста отримано значення продуктивності, необхідно враховувати, що тести написані на мовах високого рівня, і операційна система, компілятор і установки оптимізації компілятора можуть вплинути на результати в кілька разів;
  • неоднозначна інтерпретація наведених результатів MFLOPS для багатопроцесорних систем - мені здається досить імовірним, що деякі виробники просто перемножують продуктивність MFLOPS для одного процесора на число процесорів і таким чином отримують результат.

Дмитро Ковригін, провідний спеціаліст фірми Еврика
Тел. 327-3343

Схожі статті