Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Множество потоков, соревнующихся между собой за обладание единственным ресурсом




Целью этой серии тестов являлось сравнение эффективности различных стратегий реализации функций управления очередями программы 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
  Реальное время 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
  Реальное время 0,14 0,27 0,09 0,08 0,06 0,08
Пользовательское время 0,13 0,05 0,14 0,17 0,11 0,08
Системное время 0,11 0,06 0,16 0,09 0,11 0,17
  Реальное время 0,39 0,59 0,23 0,19 0,16 0,20
Пользовательское время 0,18 0,17 0,22 0,26 0,17 0,19
Системное время 0,30 0,22 0,41 0,31 0,22 0,31
  Реальное время 0,83 0,92 0,73 0,36 0,34 0,36
Пользовательское время 0,34 0,36 0,55 0,52 0,45 0,45
Системное время 0,98 1,00 1,00 0,69 0,39 0,75
  Реальное время 2,42 2,30 2,38 0,75 0,69 0,75
Пользовательское время 1,17 1,31 1,22 0,81 0,81 0,88
Системное время 3,69 3,05 3,39 1,45 1,08 1,33
  Реальное время 7,56 7,50 7,98 1,50 1,50 1,50
Пользовательское время 3,33 3,73 2,56 1,75 1,69 1,78
Системное время 12,52 10,72 11,03 3,13 2,00 2,69
  Реальное время 27,72 26,23 29,31 3,14 2,95 3,20
Пользовательское время 7,89 10,75 7,22 3,73 3,69 3,47
Системное время 46,70 40,33 36,67 6,28 3,89 5,47

В комментариях, помещенных вслед за программой 10.4, обсуждаются результаты и разъясняются преимущества различных реализаций, а здесь мы лишь отметим, что результаты для сигнальной модели изменяются пропорционально изменению количества потоков, тогда как в случае широковещательной модели, особенно для вариантов с 32 и 64 потоками, это не так. Можно также видеть, что в случае широковещательной модели система потребляет значительную долю процессорного времени, ибо выполняются, вычисляют предикат и осуществляют немедленный возврат в состояние ожидания множество потоков.

1. Широковещательная модель, мьютекс (Mtx), событие (Evt), раздельные вызовы функций освобождения и ожидания. Конечный период ожидания (Time-out, TO) устанавливался равным 5 миллисекундам, что являлось оптимальным значением для 16-поточного варианта.

2. Широковещательная модель, объект CRITICAL_SECTION (CritSec), событие, раздельные вызовы функций освобождения и ожидания. Настраиваемый период ожидания устанавливался равным 5 миллисекундам, что являлось оптимальным значением для 16-поточного варианта.

3. Широковещательная модель, мьютекс, событие, атомарный вызов SignalObjectAndWait (SigObjWait).

4. Сигнальная модель, мьютекс, событие, раздельные вызовы функций освобождения и ожидания.

5. Сигнальная модель, объект CRITICAL_SECTION, событие, раздельные вызовы функций освобождения и ожидания.

6. Сигнальная модель, мьютекс, событие, атомарный вызов SignalObjectAndWait.





Поделиться с друзьями:


Дата добавления: 2015-09-20; Мы поможем в написании ваших работ!; просмотров: 356 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Свобода ничего не стоит, если она не включает в себя свободу ошибаться. © Махатма Ганди
==> читать все изречения...

2307 - | 2069 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.