Модераторы: xvr

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтобы тред рабол только на втором процессоре, в двух процессорном компе. 
:(
    Опции темы
fray
Дата 30.10.2008, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 7.6.2007

Репутация: нет
Всего: 0



Как сказать треду чтобы он работал только на втором проце. В двух процессорной системе. FreeBsd amd64 Core Duo ?
Спасибо.
PM MAIL   Вверх
HappyLife
Дата 30.10.2008, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 17.5.2006

Репутация: нет
Всего: 8



По-моему это не тебе решать, а оси.
PM MAIL   Вверх
fray
Дата 30.10.2008, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 7.6.2007

Репутация: нет
Всего: 0



Цитата(HappyLife @ 30.10.2008,  16:22)
По-моему это не тебе решать, а оси.

да а как заставить ? Ну или хотя бы рекомендовать... Просто будет очень не хорошо если первый проц будет загружен под 100 а второй отдыхать.. фря 6.2

Это сообщение отредактировал(а) fray - 30.10.2008, 16:29
PM MAIL   Вверх
Lazin
Дата 30.10.2008, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 1
Всего: 154



в винде есть функции SetThreadAffinityMask, SetThreadIdealProcessor, которые делают то, что нужно ТС-у, так-что наверняка можно smile 
PM MAIL Skype GTalk   Вверх
fray
Дата 30.10.2008, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 7.6.2007

Репутация: нет
Всего: 0



Цитата(Lazin @ 30.10.2008,  16:37)
в винде есть функции SetThreadAffinityMask, SetThreadIdealProcessor, которые делают то, что нужно ТС-у, так-что наверняка можно smile

Круто но Венда не мой случай, мне как бы это на фряхе делается ...
PM MAIL   Вверх
J0ker
Дата 30.10.2008, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: нет
Всего: 14



OpenMP попробуйте


--------------------
user posted image
PM MAIL   Вверх
Lazin
Дата 30.10.2008, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 1
Всего: 154



нагуглил,
Код

#include <sched.h>
sched_setaffinity
sched_getaffinity

то или нет не знаю
PM MAIL Skype GTalk   Вверх
fray
Дата 30.10.2008, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 7.6.2007

Репутация: нет
Всего: 0



Спасибо за ссылки, а можно это же, но применительно к pthreads ?  А то лень знаете ли  smile 

Это сообщение отредактировал(а) fray - 30.10.2008, 17:33
PM MAIL   Вверх
MAKCim
Дата 30.10.2008, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Цитата(Lazin @  30.10.2008,  17:04 Найти цитируемый пост)
то или нет не знаю 

не то, т. к Linux specific

во FreeBSD cpuset_setaffinity()/cpuset_getaffinity()
тут

Добавлено через 6 минут и 51 секунду
Цитата(fray @  30.10.2008,  17:32 Найти цитируемый пост)
но применительно к pthreads ?

нету


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
xvr
Дата 31.10.2008, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 20
Всего: 223



Цитата(fray @ 30.10.2008,  16:24)
Цитата(HappyLife @ 30.10.2008,  16:22)
По-моему это не тебе решать, а оси.

да а как заставить ? Ну или хотя бы рекомендовать... Просто будет очень не хорошо если первый проц будет загружен под 100 а второй отдыхать.. 

А ты предпочитаешь, что бы под 100% был загружен второй, а отдыхал первый? ОС сама должна разруливать процессоры, что бы их равномерно загрузить (если конечно есть чем)

Цитата

фря 6.2
Без разницы. Если у тебя программа с thread'ами она должна равномерно расползтись на оба кора.

PM MAIL   Вверх
fray
Дата 31.10.2008, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 7.6.2007

Репутация: нет
Всего: 0



Цитата(xvr @ 31.10.2008,  10:29)
Цитата(fray @ 30.10.2008,  16:24)
Цитата(HappyLife @ 30.10.2008,  16:22)
По-моему это не тебе решать, а оси.

да а как заставить ? Ну или хотя бы рекомендовать... Просто будет очень не хорошо если первый проц будет загружен под 100 а второй отдыхать.. 

А ты предпочитаешь, что бы под 100% был загружен второй, а отдыхал первый? ОС сама должна разруливать процессоры, что бы их равномерно загрузить (если конечно есть чем)

Цитата

фря 6.2
Без разницы. Если у тебя программа с thread'ами она должна равномерно расползтись на оба кора.

У меня два потока в программе, и оба они весят на одном проце, 50.0% idle CPU 99.9%, система двух процессорная если бы работало на двух процах то было бы 120%  что-то вроде того, как мне кажется. Ну не врубается умный шедуллер.

Добавлено через 5 минут и 28 секунд
Цитата(MAKCim @ 30.10.2008,  22:51)
Цитата(Lazin @  30.10.2008,  17:04 Найти цитируемый пост)
то или нет не знаю 

не то, т. к Linux specific

во FreeBSD cpuset_setaffinity()/cpuset_getaffinity()
тут

Добавлено @ 22:58
Цитата(fray @  30.10.2008,  17:32 Найти цитируемый пост)
но применительно к pthreads ?

нету

А можно пример создания треда и примениния дл него cpuset_setaffinity()  smile 
PM MAIL   Вверх
Lazin
Дата 31.10.2008, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 1
Всего: 154



Цитата(fray @  31.10.2008,  14:02 Найти цитируемый пост)
У меня два потока в программе, и оба они весят на одном проце, 50.0% idle CPU 99.9%, система двух процессорная если бы работало на двух процах то было бы 120%  что-то вроде того, как мне кажется. Ну не врубается умный шедуллер.

а ты уверен что оба потока работают одновременно? может у тебя там синхронизация где-нибудь происходит
PM MAIL Skype GTalk   Вверх
xvr
Дата 31.10.2008, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 20
Всего: 223



Цитата(fray @ 31.10.2008,  14:02)
Цитата(xvr @ 31.10.2008,  10:29)
Цитата(fray @ 30.10.2008,  16:24)
Цитата(HappyLife @ 30.10.2008,  16:22)
По-моему это не тебе решать, а оси.

да а как заставить ? Ну или хотя бы рекомендовать... Просто будет очень не хорошо если первый проц будет загружен под 100 а второй отдыхать.. 

А ты предпочитаешь, что бы под 100% был загружен второй, а отдыхал первый? ОС сама должна разруливать процессоры, что бы их равномерно загрузить (если конечно есть чем)

Цитата

фря 6.2
Без разницы. Если у тебя программа с thread'ами она должна равномерно расползтись на оба кора.

У меня два потока в программе, и оба они весят на одном проце, 50.0% idle CPU 99.9%, система двух процессорная если бы работало на двух процах то было бы 120%  что-то вроде того, как мне кажется. Ну не врубается умный шедуллер.

Похоже умный шедулер не вкурсе, что у тебя 2 thread'а. Я не знаю, как реализован pthread в BSD, но похоже не очень  smile Он случайно thread'ы делает не через библиотеку без поддержки ядра?
PM MAIL   Вверх
MAKCim
Дата 31.10.2008, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



вообще говоря, привязка к конкретным процессорам/ядрам, обычно только снижает производительность, т. к шедулер обязан будет держать процесс в остановленном состоянии в то время, когда может быть доступен процессор/ядро, не входящий/ее в его affinity маску


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
J0ker
Дата 1.11.2008, 04:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: нет
Всего: 14



Цитата(xvr @  31.10.2008,  18:06 Найти цитируемый пост)
Он случайно thread'ы делает не через библиотеку без поддержки ядра? 

IMHO так не бывает - уровень привилегий обычных программ недостаточен для переключения контекста


--------------------
user posted image
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0593 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.