|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
Оптимальное кол-во потоков29.06.2011, 13:29. Показов 5225. Ответов 6
Метки нет (Все метки)
Возникла необходимость в большом кол-ве потоков для математических вычислений. Есть ли какие-нибудь методики по определению оптимального количества потоков?
0
|
|
| 29.06.2011, 13:29 | |
|
Ответы с готовыми решениями:
6
Оптимальное количество потоков
Оптимальное кол-во внутренних ссылок с главной |
|
|
|
| 29.06.2011, 23:09 | |
|
Здесь всё будет зависеть от платформы, сколько ядер у процессора, может ли использовать операционная система все эти ядра, в лучшем случае новые системы хорошо используют многоядерные процессоры. Если с одним ядром то многопаточность по обработке эфективности иллюзиорная. что основная будет программа исполнять код или псевдо-паралельная, просто в лучшем случае удобно одна программа работает с TCP, другая принимает или отсылает данные в RS-232 и т.п. Вообще самое оптимальное до 33 - потоков работает даже с однопроцессорным ядром, потоки можно контролироавть по приоритету отдачи им кванта времени функцией
SetThreadPriority(handle, flag) -по - умолчанию если прогер не указал флаг то поток запускается с флагом THREAD_PRIORITY_NORMAL, сейчас уже не модно-асинхронные процедуры создавать уже до 16 - ядер дошло, а мы ещё создаём код в основном потоке, я не имею виду серверных приложений.
0
|
|
|
60 / 40 / 30
Регистрация: 26.05.2011
Сообщений: 92
|
|
| 29.06.2011, 23:18 | |
|
Lord_Voodoo, количество потоков по количеству ядер процессора.
Если есть HT на процессорах Интел и математические вычисления с плавающий точкой, то по количеству потоков с HT. Быстрее не посчитать
0
|
|
|
|
|
| 29.06.2011, 23:28 | |
|
Давно как то хотел реализовать следующую вещь:
Создается небольшое количество потоков (допустим по количеству ядер умноженное на какой либо коэффициент, к примеру 2) при условии что потоки занимаются одинаковыми вычислениями, можно замерить время их выполнения и взять за эталон. Далее создаются еще несколько потоков и каждый сообщает за сколько он сделал расчет, постепенно увеличиваем количество потоков, пока вписываемся в эталонное время. Т.е. завершился один поток со временем 2сек. (условно), на его место создаются 2 других потока (увеличение количества потоков происходит - вместо одного завершившегося 2 новых), смотрим на следующий завершившийся, если время не изменяется кардинально, еще 2 (или 3) запускаем, и т.д. пока время от эталонного не отойдет, как отошло, уменьшаем количество вновь создаваемых потоков. ЗЫ: не доделал, т.к. надобность в основной задаче отпала. ЗЫЗЫ: сорри если сумбурно описал.
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 30.06.2011, 10:13 [ТС] | |
|
oxotnik, задумка-то интересная, но просто вычисления больно длительные, так оно будет у меня сутки только кол-во потоков подбирать))))
в общем, буду экспериментально искать золотую середину... еще бы добыть пример ПК, на котором будут гонять эту прогу, а то у меня 6-тиядерный, а светит максимум 2-ядерный проц...
0
|
|
|
1 / 1 / 0
Регистрация: 13.07.2011
Сообщений: 4
|
||
| 13.07.2011, 01:15 | ||
|
в реальной жизни конечно будут небольшие отклонения за счет фоновых процессов, но для тяжелой математики это вряд ли будет заметно.
0
|
||
| 13.07.2011, 01:15 | |
|
Помогаю со студенческими работами здесь
7
Каково оптимальное/максимальное кол-во профильных документов? Реализация управляемого кол-во потоков Как уменьшить кол-во потоков в семафоре Реализовать многопоточный доступ к N-ой переменной из N-го кол-во потоков
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|