Многопоточность и ее истоки ???

Питання про прикладне ПО
ApostolCV
Повідомлень: 267
З нами з: 13 червня 2022, 15:42

Многопоточность и ее истоки ???

Повідомлення ApostolCV »

Доброго времени суток!
:?: :?: :?:
Задался вопросом появления многопоточного софта (читать программы /игры) для домашнего ПК/ рабочей станции.
Т.е. я понимаю что были сервера на 6-ти процах Pentium PRO которые использовались в корпорациях в качестве сервера, однако это не то.
В какой момент рядовому юзверу мог быть полезный системник с двумя слотовыми Катмаями/Копперами и круче.
В какой момент возник софт и какой который понимал "две головы".
Ведь софт который мог юзать потенциал "корок" и АМДх2 возникал крайне медленно... Или я не прав?
А квады так имели большой задел на будущее.
И какие первые игры которые юзали 2 ядра/потока вы знаете?
----------------------------------------------------
У пошуку Pentium 4 Extreme Edition.
Топовий "Віллі" під 423.
Інші інженерники обговорю. :!: :?: :?:
Аватар користувача
Babasha
Повідомлень: 191
З нами з: 08 серпня 2022, 04:21

Re: Многопоточность и ее истоки ???

Повідомлення Babasha »

ApostolCV писав: 14 грудня 2022, 21:57 Доброго времени суток!
:?: :?: :?:
Задался вопросом появления многопоточного софта (читать программы /игры) для домашнего ПК/ рабочей станции.
Т.е. я понимаю что были сервера на 6-ти процах Pentium PRO которые использовались в корпорациях в качестве сервера, однако это не то.
В какой момент рядовому юзверу мог быть полезный системник с двумя слотовыми Катмаями/Копперами и круче.
В какой момент возник софт и какой который понимал "две головы".
Ведь софт который мог юзать потенциал "корок" и АМДх2 возникал крайне медленно... Или я не прав?
А квады так имели большой задел на будущее.
И какие первые игры которые юзали 2 ядра/потока вы знаете?
Системник с двумя (и/или более) головами рядовому юзеру становился очень полезен как только юзер переползал на ОС поддерживающую мультипроцессорность. По крайней мере вариант двух процессоров в режиме SMP.
Даже на тривиальных офисно-домашних задачах есть такой параметр как IPC (inter process control). Это собственно переключение задач и нужды системы (таймер, часы, прочие системные процесса). Так вот в случае многопроцессорной системы данный параметр ЗНАЧИТЕЛЬНО улучшается и скорость/отзывчивость системы растет.
Пример - попытка воспроизведения DIVX3 видео 640х480 на однопроцессорной системе с iP200MMX под WinNT 4.0 (кодек, кстати, не имеет оптимизации под многопроцессорность) - визуально 4-5 кадров в секунду. Добавляем второй процессор и уже 10-15 кадров. Напоминаю - кодек НЕ мультипроцессорный, но так-как второй процессор разгрузил основной в плане обслуживания внутрисистемных задач и процессов - у него появилась возможность «считать видео не отвлекаясь».
По играм - первая игруля Quake 3 с параметром r_smp 1 кажись)))
ApostolCV
Повідомлень: 267
З нами з: 13 червня 2022, 15:42

Re: Многопоточность и ее истоки ???

Повідомлення ApostolCV »

В добавок темы и самому себе. Cinebench 2003 хорошо тестирует потоки и показывает разницу между ними.
----------------------------------------------------
У пошуку Pentium 4 Extreme Edition.
Топовий "Віллі" під 423.
Інші інженерники обговорю. :!: :?: :?:
Аватар користувача
BreakPoint
Повідомлень: 298
З нами з: 11 червня 2022, 20:54
Звідки: Київ
Контактна інформація:

Re: Многопоточность и ее истоки ???

Повідомлення BreakPoint »

Babasha писав: 14 грудня 2022, 23:10 Пример - попытка воспроизведения DIVX3 видео 640х480 на однопроцессорной системе с iP200MMX под WinNT 4.0
Если софт однопоточный, то разница в скорости исполнения на одно- и многопроцессорной системе будет почти одинаковая. Увеличение фреймрейта в 3 раза при отсутсвии оптимизации это из области фантастики. Значит она либо есть, либо что то не то с тестовой системой.
IPC это механизм синхнонизации и комуникации между процессами в многозадачной среде. Среднестатистеческое приложение эти механизмы не исползует. Потоками рулит планировщик потоков, системными прерываниями - ядро.
В любом случае, система в простое не должна грузить проц больше, чем на 1-2% в пике. Более того, механизм планировки потоков и синхронизации сильно усложняется, если в системе более 1 проца.

У меня когда-то была двухголовая плата ППро. Как раз и проверял влияние второго проца на производительность в играх. Провоерял на вин2000, так как в более ранних форточках нет API для мониторинка процессов.
Дело давно было, помню только результаты по Диабло 2. У диаблы есть несколько потоков. Но активных только 2. Один отвечает за графику и отжирает 100% проца. Второй за звуки и музыку, отжирает 30%. Т.е. если в системе есть 2 проца, поток музона уходит на второй проц, освобождая ресурсы на первом проце чисто для графона. Т.е. производительность подростает, но далеко не на 100%.

Насколько я помню, даже во времена Penium D оптимизированный под многопоток софт был скорее редкостью. Возможно игры (можно поднять тесты на хоботе), да специалитированный софт. Архиваторы и кодеки, насколько я помню, были тоже не опримизированны.

Учитывая стоимость двухпроцессорных систем уровня Пентиум 1, 2, III люди которые их покупали в то время знали, зачем они их покупали. Для дома больше смысла имело поставить более быстрый проц, больше памяти и крутую видяху.

И на последок анекдот из жизни. Когда учился в универе, у моего кореша был двухпроцессорный Пентиум 2, который стоил по тем временам бешеных бабок. Но поскольку мы все тогда былть куль хацкерами, то поставили на него виду 98, которая многопроцессорность не понимает.
Аватар користувача
Babasha
Повідомлень: 191
З нами з: 08 серпня 2022, 04:21

Re: Многопоточность и ее истоки ???

Повідомлення Babasha »

BreakPoint писав: 18 грудня 2022, 17:56
Babasha писав: 14 грудня 2022, 23:10 Пример - попытка воспроизведения DIVX3 видео 640х480 на однопроцессорной системе с iP200MMX под WinNT 4.0
Если софт однопоточный, то разница в скорости исполнения на одно- и многопроцессорной системе будет почти одинаковая. Увеличение фреймрейта в 3 раза при отсутсвии оптимизации это из области фантастики. Значит она либо есть, либо что то не то с тестовой системой.
IPC это механизм синхнонизации и комуникации между процессами в многозадачной среде. Среднестатистеческое приложение эти механизмы не исползует. Потоками рулит планировщик потоков, системными прерываниями - ядро.
В любом случае, система в простое не должна грузить проц больше, чем на 1-2% в пике. Более того, механизм планировки потоков и синхронизации сильно усложняется, если в системе более 1 проца.

У меня когда-то была двухголовая плата ППро. Как раз и проверял влияние второго проца на производительность в играх. Провоерял на вин2000, так как в более ранних форточках нет API для мониторинка процессов.
Дело давно было, помню только результаты по Диабло 2. У диаблы есть несколько потоков. Но активных только 2. Один отвечает за графику и отжирает 100% проца. Второй за звуки и музыку, отжирает 30%. Т.е. если в системе есть 2 проца, поток музона уходит на второй проц, освобождая ресурсы на первом проце чисто для графона. Т.е. производительность подростает, но далеко не на 100%.

Насколько я помню, даже во времена Penium D оптимизированный под многопоток софт был скорее редкостью. Возможно игры (можно поднять тесты на хоботе), да специалитированный софт. Архиваторы и кодеки, насколько я помню, были тоже не опримизированны.

Учитывая стоимость двухпроцессорных систем уровня Пентиум 1, 2, III люди которые их покупали в то время знали, зачем они их покупали. Для дома больше смысла имело поставить более быстрый проц, больше памяти и крутую видяху.

И на последок анекдот из жизни. Когда учился в универе, у моего кореша был двухпроцессорный Пентиум 2, который стоил по тем временам бешеных бабок. Но поскольку мы все тогда былть куль хацкерами, то поставили на него виду 98, которая многопроцессорность не понимает.
Тем не менее. Сам был удивлен.
По версии WinNT и DIVX - уверен. Материнку могу вспомнить. Остальное уже в тумане. Давно было - факт.
А так - да, тогда двухпроцессорные материнки брали - кто в этом понимал.
Был короткий период конда вендоры надеялись пойти по экстенсивному поту устанавливая второй сокет на ППро, но не взлетело. Как правило все-равно нужно было шаманство (тот же ВРМ), да и софт в массе своей не был еще «готов».
Аватар користувача
BreakPoint
Повідомлень: 298
З нами з: 11 червня 2022, 20:54
Звідки: Київ
Контактна інформація:

Re: Многопоточность и ее истоки ???

Повідомлення BreakPoint »

Видео на пень/пень 2 это отдельная тема. Помню что в дианмических сценах сильные просадки были.
У меня сейчас в коллекции две двухголовые матеркнки под первопень имеются, в лучшие времена можно будет потестить.
Відповісти