Чтение онлайн

на главную - закладки

Жанры

Системное программирование в среде Windows

Харт Джонсон М.

Шрифт:

4. Программа sortMM (программа 5.5) создает постоянно существующий индексный файл.

5. Программа sortMT (программа 7.2) реализует многопоточную сортировку слиянием. Результаты представлены в строках sortMT1, sortMT2 и sortMT4 в соответствии с количеством параллельных потоков. Результаты могут значительно меняться в зависимости от характера сортируемых данных, хотя размер и случайный характер распределения значений данных сглаживают эти различия, что, как правило, характерно для базового алгоритма быстрой сортировки, который использован для реализации функции qsort библиотеки С.

Комментарии

1. Реализация, использующая алгоритм бинарного дерева (программа sortBT), интенсивно использует процессор; кроме того, память

в ней распределяется отдельно для каждой записи.

2. Применение отображения файлов и чтение файла в предварительно выделенный буфер обеспечивают примерно одинаковую производительность, но в этих тестах отображение файлов ничем особенным себя не проявило, а в некоторых случаях даже значительно ухудшало результаты. Вместе с тем, в ряде случаев как sortFL, так и sortHP обеспечивали превосходные результаты.

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. Производительность многопоточных реализаций на четырехпроцессорном сервере

Поделиться:
Популярные книги

Прометей: повелитель стали

Рави Ивар
3. Прометей
Фантастика:
фэнтези
7.05
рейтинг книги
Прометей: повелитель стали

Фиктивный брак

Завгородняя Анна Александровна
Фантастика:
фэнтези
6.71
рейтинг книги
Фиктивный брак

Виктор Глухов агент Ада. Компиляция. Книги 1-15

Сухинин Владимир Александрович
Виктор Глухов агент Ада
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Виктор Глухов агент Ада. Компиляция. Книги 1-15

Хозяин Теней 4

Петров Максим Николаевич
4. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней 4

Кодекс Крови. Книга I

Борзых М.
1. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга I

Бастард Императора. Том 10

Орлов Андрей Юрьевич
10. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 10

Бастард Императора. Том 7

Орлов Андрей Юрьевич
7. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 7

Идеальный мир для Лекаря 5

Сапфир Олег
5. Лекарь
Фантастика:
фэнтези
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 5

Черный Маг Императора 15

Герда Александр
15. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
сказочная фантастика
фэнтези
фантастика: прочее
5.00
рейтинг книги
Черный Маг Императора 15

Кодекс Охотника. Книга XIV

Винокуров Юрий
14. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XIV

Барон не играет по правилам

Ренгач Евгений
1. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон не играет по правилам

Город- мечта

Сухов Лео
4. Антикризисный Актив
Фантастика:
героическая фантастика
попаданцы
5.00
рейтинг книги
Город- мечта

Ликвидатор на службе Империи. Том 5. Финал

NikL
5. Ликвидатор на службе Империи
Фантастика:
аниме
5.00
рейтинг книги
Ликвидатор на службе Империи. Том 5. Финал

Помещица Бедная Лиза

Шах Ольга
Любовные романы:
любовно-фантастические романы
6.40
рейтинг книги
Помещица Бедная Лиза
К-во потоков Широковещат.модель Широковещат.модель Широковещат. модель Сигнальная модель Сигнальная модель Сигнальная модель
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