Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Забанен


Сообщения: 6158
Благодарности: 1300

Профиль | Цитировать


Пора уже делать форк темы "Многоядерность vs частота"
Посмотрел я на возникшие споры об оправданности приобретения 6-ядерного процессора и решил проверить, сколько процессов работает на подопечных машинках, на которых в среднем по 4-8 ядер. Оказалось, на серверах количество процессов в два-три раза ниже, чем на моём десктопе. Казалось бы странно, но дело в том, что серверное ПО большей частью задействует многопоточность (multithreading), что для десктопных приложений пока в новинку. И это объяснимо - многопоточная парадигма даёт выгоду именно при наличии изрядного количества этих самых потоков и при наличии многих процессорных ядер. Когда число потоков можно пересчитать по пальцам, производительность съедается накладными расходами (семафоры, mutex). Ещё многопоточное приложение труднее отлаживать - любопытно, но всем известный веб сервер Apache по умолчанию многопоточность не задействует. К тому же, для эффективного задействования многопоточности ядро ОС должно иметь мощный планировщик (scheduler).

По-видимому, это и отталкивает разработчиков от многопоточности. Зачем же тогда на десктопе многоядерные системы? Ну как я уже заметил, на моём, да и думаю, любом другом десктопе, процессов побольше, чем на среднестатистическом сервере, многоядерность даёт плавность.
Другое дело, что пользователю, сидящему за этим десктопом, на то, как фоновым процессам дышится, начхать - он работает с конкретным приложением и хочет выжать из него максимум производительности. А десктопных приложений, задействующих многопоточность пока с гулькин нос.

Отправлено: 12:30, 16-09-2010 | #1741