Форум программистов, компьютерный форум, киберфорум
Теория программирования
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/25: Рейтинг темы: голосов - 25, средняя оценка - 5.00
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873

Оптимальное кол-во потоков

29.06.2011, 13:29. Показов 5225. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возникла необходимость в большом кол-ве потоков для математических вычислений. Есть ли какие-нибудь методики по определению оптимального количества потоков?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.06.2011, 13:29
Ответы с готовыми решениями:

Оптимальное количество потоков
Есть несколько потоков, которые паралельно выполняют формирование датасорсов для компонентов. Есть подозрение, что плодить много потоков...

Какое оптимальное количество потоков необходимо выбирать?
Здравствуйте! Необходимо написать программу, которая будет обрабатывать большие массивы информации. Вопрос: какое оптимальное число...

Оптимальное кол-во внутренних ссылок с главной
Сейчас у меня на главной странице 10 внутренник ссылок, но подросло кол-во НЧ, которых мне надо продвигать. Скажите, не сильно ли меня...

6
 Аватар для xAtom
935 / 760 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
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
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
29.06.2011, 23:28
Давно как то хотел реализовать следующую вещь:
Создается небольшое количество потоков (допустим по количеству ядер умноженное на какой либо коэффициент, к примеру 2) при условии что потоки занимаются одинаковыми вычислениями, можно замерить время их выполнения и взять за эталон. Далее создаются еще несколько потоков и каждый сообщает за сколько он сделал расчет, постепенно увеличиваем количество потоков, пока вписываемся в эталонное время. Т.е. завершился один поток со временем 2сек. (условно), на его место создаются 2 других потока (увеличение количества потоков происходит - вместо одного завершившегося 2 новых), смотрим на следующий завершившийся, если время не изменяется кардинально, еще 2 (или 3) запускаем, и т.д. пока время от эталонного не отойдет, как отошло, уменьшаем количество вновь создаваемых потоков.
ЗЫ: не доделал, т.к. надобность в основной задаче отпала.
ЗЫЗЫ: сорри если сумбурно описал.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
30.06.2011, 10:13  [ТС]
oxotnik, задумка-то интересная, но просто вычисления больно длительные, так оно будет у меня сутки только кол-во потоков подбирать))))

в общем, буду экспериментально искать золотую середину... еще бы добыть пример ПК, на котором будут гонять эту прогу, а то у меня 6-тиядерный, а светит максимум 2-ядерный проц...
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
30.06.2011, 10:23
Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
еще бы добыть пример ПК, на котором будут гонять эту прогу, а то у меня 6-тиядерный, а светит максимум 2-ядерный проц...
разверни виртуалку и определи ей 2 ядра
1
1 / 1 / 0
Регистрация: 13.07.2011
Сообщений: 4
13.07.2011, 01:15
Цитата Сообщение от oxotnik Посмотреть сообщение
разверни виртуалку и определи ей 2 ядра
А AffinityMask заюзать не проще?
в реальной жизни конечно будут небольшие отклонения за счет фоновых процессов, но для тяжелой математики это вряд ли будет заметно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.07.2011, 01:15
Помогаю со студенческими работами здесь

Каково оптимальное/максимальное кол-во профильных документов?
Очень уж хочется иметь быстрый доступ к информации, только вот какой объем информации имеет смысл записывать в профильные документы? И...

Реализация управляемого кол-во потоков
Всем доброго утро :) Итак, есть метод выполняющий некий алгорит запрос<->ответ. Хотелось бы спросить как можно реализовать что бы для...

Как уменьшить кол-во потоков в семафоре
Всем привет. Есть такой вопрос. У меня есть бесконечные потоки.Допустим я создаю семафор. Semaphore s = new Semaphore(0, 10,...

Реализовать многопоточный доступ к N-ой переменной из N-го кол-во потоков
Добрый день дорогие пользователи. В общем проблема состоит в том,что мне нужно реализовать многопоточный доступ к N-ой переменной из N-го...

Создавать то кол-во потоков, которое указанно в SpinEdit1
begin if proxys.Count<>0 then begin Proxy:=-1; Work:=True; for Thread:=0 to 50 do begin th.Create(false); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
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 . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru