werehuman 27.06.2011 16:47 Psi+

По интернету гуляет мнение, что наиболее эффективно вычисления происходят на (количество_процессоров + 1) потоков. Где-нибудь есть обоснование этого дела?

1. 238328 27.06.2011 16:47 >>>

торсионные поля

2. utros 27.06.2011 16:48 Adium

Зависит от того, что потоки делают.

3. eurekafag 27.06.2011 16:48 WOK

А сам не понимаешь, что ли? Если один или несколько процов внезапно окажутся чуточку недогруженными, их простой тут же сожрёт этот n+1-й поток.

4. werehumanutros /2 27.06.2011 16:48 Psi+

вычисляют, без лишнего i/o

5. utros 27.06.2011 16:49 Adium

Ну тогда /3, да.

6. werehumaneurekafag /3 27.06.2011 16:49 Psi+

я не спрашивал еврикабабкиного мнения, я спрашивал материал с доказательством.

7. eurekafagwerehuman /6 27.06.2011 16:51 WOK

Не вижу смысла доказывать очевидное. Вообще, это зависит от планировщика. Если он может выполнять один поток по очереди на нескольких процах, то тут выгода очевидна. Если же поток «приклеивается» с помощью affinity к одному ядру, очевидно, он не сможет дозагрузить остальные. У винды и линукса я видел, как однопоточное приложение периодически нагружает то одно, то второе ядро, а бывает, что и оба понемногу (но в сумме не больше 100%). Вот только период смены этой нагрузки не знаю.

8. werehumanwerehuman /6 27.06.2011 16:52 Psi+

ок. Мне нужно на что-то в библиографии сослаться. Есть ссылочка, где это наблюдение описывается и поясняется?

9. 0x2207 27.06.2011 16:52 epsilon

это не так

10. werehuman0x2207 /9 27.06.2011 16:52 Psi+

эксперименты доказывают что так

11. 0x2207werehuman /10 27.06.2011 16:52 epsilon

мои эксперименты доказывают что это не так

12. werehuman0x2207 /11 27.06.2011 16:53 Psi+

быть может, чуть позже выложу свой отчёт

13. eurekafagwerehuman /8 27.06.2011 16:54 WOK

Запусти while true; do; done и посмотри на ядра. У меня грузит оба поровну, как ни странно. Хм.

14. werehumaneurekafag /13 27.06.2011 16:54 Psi+

потому что у тебя bfs

15. eurekafagwerehuman /14 27.06.2011 16:54 WOK

Хмм... Не подглядывай! >:E

16. werehumaneurekafag /15 27.06.2011 16:55 Psi+

я уже знаю фишку этого планировщика. Значит, метод N+1 потоков действует только для дефолтного планировщика задач?

17. eurekafagwerehuman /16 27.06.2011 16:57 WOK

Видимо, да. Сейчас мне лень ребутаться в родное для дебиана 39-е, но я помню, что там было такое поведение.

18. utroswerehuman /8 27.06.2011 17:02 Adium

Посмотри попсовую книжку препода Торвальдса (который миникс зопейлил), там точно есть что-то такое.

19. werehumanutros /18 27.06.2011 17:02 Psi+

Танненбаум ёпт. Я там буду год искать.

20. utroswerehuman /19 27.06.2011 17:03 Adium

Да, он. А ты скажи что из ... очевидно следует...

21. werehumanutros /20 27.06.2011 17:06 Psi+

я решил не говорить вообще. Как выяснилось, это описывался частный случай.

22. utroswerehuman /21 27.06.2011 17:07 Adium

Ок

24. asukafag 27.06.2011 17:09

1 ядро — один поток. Хочешь больше — указывай явно. n+1 нужен для того, чтобы полностью загружать 2 ядра. (ведь на 100% ни одно не будет загруженным, а только чуть больше половины). Обоснование есть где-то в доках openmp, например.

25. ulidtko 27.06.2011 20:18 lunatic asylum

БЛЯДЬ, ШТО.

26. ulidtko 27.06.2011 20:19 lunatic asylum

да вы совсем охуели, мне после трёх лет курса параллельных вычислений ЖОПУ РВУТ ТАКИЕ ТРЕДЫ НАХУЙ

27. werehumanulidtko /26 28.06.2011 09:43

а по делу есть что сказать, жопорванец?

Do you really want to delete ?