Харт Джонсон М.
Шрифт:
3. Суммарное пользовательское и системное время иногда превышает истекшее время, даже если используется только один поток.
4. Программа sortMT демонстрирует возможности SMP-систем. В некоторых случаях использование дополнительных потоков приводило к повышению производительности и на однопроцессорных системах.
Таблица В.4. Показатели производительности программ сортировки файлов
ЦП | Pentium LT | Celeron LT | Xeon | 4×Xeon | |
---|---|---|---|---|---|
ОС | W2000 | XP | W2000 | W2000 | |
Файловая система | NTFS | NTFS | NTFS | NTFS | |
sortBT | Реальное время | – | 9,61 | – | – |
Пользовательское время | – | 1,84 | – | – | |
Системное время | – | 7,44 | – | – | |
sortFL | Реальное время | 11,15 | 0,78 | 1,74 | 5,38 |
Пользовательское время | 4,81 | 0,41 | 0,26 | 5,19 | |
Системное время | 0,15 | 0,09 | 0,09 | 0,02 | |
sortHP | Реальное время | 1,76 | 0,34 | 1,52 | 1,30 |
Пользовательское время | 1,62 | 0,22 | 0,15 | 1,28 | |
Системное время | 0,11 | 0,05 | 0,03 | 0,04 | |
sortMM | Реальное время | 0,99 | 1,44 | 1,92 | 1,39 |
Пользовательское время | 0,31 | 0,18 | 0,15 | 0,38 | |
Системное время | 0,68 | 0,47 | 0,36 | 1,03 | |
sortMT1 | Реальное время | 3,18 | 3,58 | 6,80 | 0,14 |
Пользовательское время | 0,01 | 0,95 | 0,01 | 0,05 | |
Системное время | 0,46 | 0,16 | 0,16 | 0,11 | |
sortMT2 | Реальное время | 2,10 | 1,22 | 6,70 | 0,13 |
Пользовательское время | 0,01 | 1,05 | 0,01 | 0,02 | |
Системное время | 0,40 | 0,16 | 0,16 | 0,13 | |
sortMT4 | Реальное время | 2,20 | 1,49 | 6,22 | 0,13 |
Пользовательское время | 0,01 | 1,18 | 0,01 | 0,12 | |
Системное время | 0,16 | 0,15 | 0,16 | 0,09 |
Множество потоков, соревнующихся между собой за обладание единственным ресурсом
Целью этой серии тестов являлось сравнение эффективности различных стратегий реализации функций управления очередями программы 10.4 с использованием программы 10.5 (трехступенчатый конвейер) в качестве тестового приложения. Тесты выполнялись на четырехпроцессорной (Intel Xeon, 1 ГГц) системе Windows 2000 Server с организацией 1, 2, 4, 8, 16, 32 и 64 потоков, но во всех семи случаях каждого потока поручалось выполнение 1000 единиц работы. В идеальном случае можно было бы ожидать линейного увеличения реального времени с увеличением количества потоков, но соревновательность между потоками за право владения единственным мьютексом (или объектом CS) может приводить к нелинейному снижению этого показателя). Обратите внимание, что эти тесты не затрагивают файловую систему.
Использовались шесть различных стратегий реализации, результаты применения которых представлены в отдельных столбцах табл. В.5.
Таблица В.5. Производительность многопоточных реализаций на четырехпроцессорном сервере
К-во потоков | Широковещат.модель | Широковещат.модель | Широковещат. модель | Сигнальная модель | Сигнальная модель | Сигнальная модель | |
---|---|---|---|---|---|---|---|
Mtx, Evt | CritSec, Evt | Mtx, Evt | Mtx, Evt | CritSec, Evt | Mtx, Evt | ||
Т/О 5мс | Т/О 25мс | SigObjWait | Т/О неопределен | Т/О неопределен | SigObjWait | ||
1 | Реальное время | 0,03 | 0,03 | 0,05 | 0,05 | 0,03 | 0,05 |
Пользовательское время | 0,03 | 0,06 | 0,03 | 0,05 | 0,08 | 0,05 | |
Системное время | 0,06 | 0,02 | 0,09 | 0,08 | 0,02 | 0,06 |