Re: Многоядероность, многопроцессорность
От: Pzz Россия https://github.com/alexpevzner
Дата: 28.04.13 13:12
Оценка: 6 (1)
Здравствуйте, snaphold, Вы писали:

S>Что то не до конца понимаю разницу.

S>Насколько я понимаю сейчас разница только в том, что в случае многопроцессорности, кэш процессора не будет делиться и это плюс многопроцессорности.
S>Есть еще разница?

Многоядерность — это многопроцессорность в одном корпусе.

А бывает еще hyperthreading — это когда один процессор прикидывается двумя. Разница гипертрединга от двух настоящих процессоров становится заметна, если оба из них нагрузить — в случае гипертрединга суммарная производительность будет не двойная, а заметно меньше.

S>Вопрос 2. Какие плюсы/минусы имеет Многоядероность и многопроцессорность с точки зрения разработки?


На поверхностном уровне можно вообще про это не думать. Если хочется выжать максимум производительности, то к каждому зверю из этого зоопарка надо подходить индивидуально, и чем больше разных вариантов, тем сложнее их все поддержать.
Re[2]: Многоядероность, многопроцессорность
От: snaphold  
Дата: 28.04.13 15:16
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, snaphold, Вы писали:


S>>Что то не до конца понимаю разницу.

S>>Насколько я понимаю сейчас разница только в том, что в случае многопроцессорности, кэш процессора не будет делиться и это плюс многопроцессорности.
S>>Есть еще разница?

Pzz>Многоядерность — это многопроцессорность в одном корпусе.


Pzz>А бывает еще hyperthreading — это когда один процессор прикидывается двумя. Разница гипертрединга от двух настоящих процессоров становится заметна, если оба из них нагрузить — в случае гипертрединга суммарная производительность будет не двойная, а заметно меньше.


т.е. многоядерность будет производительней hyperthreading в общем случае?
Re[2]: Многоядероность, многопроцессорность
От: Sharov Россия  
Дата: 29.04.13 07:47
Оценка:
Здравствуйте, netch80, Вы писали:

N>Есть реализации с раздельным кэшом (более того, L1 предпочитают делать персональным для каждого ядра).


L1 предпочитают шарить между ядрами.

N>Но многопроцессорность требует поддержки в чипсете, а сейчас это сильно дороже, чем в процессоре. Поэтому её очень мало. Предпочитают держать один процессор, но расширять его общение с системой.


Многопоточность (hyper-threading) требует поддержки в чипсете, а это не производительнее и труднее
чем отдельные простенькие ядра. Пример — ht от интел. Как я понял, от этой идеи они отказались.
Кодом людям нужно помогать!
Re[3]: Многоядероность, многопроцессорность
От: samius Япония http://sams-tricks.blogspot.com
Дата: 29.04.13 07:54
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Многопоточность (hyper-threading) требует поддержки в чипсете, а это не производительнее и труднее

S>чем отдельные простенькие ядра. Пример — ht от интел. Как я понял, от этой идеи они отказались.

Откуда видно что они отказались?
http://ark.intel.com/search/advanced/?s=t&HyperThreading=true
Re[4]: Многоядероность, многопроцессорность
От: Sharov Россия  
Дата: 29.04.13 08:09
Оценка:
Здравствуйте, samius, Вы писали:

S>>Многопоточность (hyper-threading) требует поддержки в чипсете, а это не производительнее и труднее

S>>чем отдельные простенькие ядра. Пример — ht от интел. Как я понял, от этой идеи они отказались.

S>Откуда видно что они отказались?

S>http://ark.intel.com/search/advanced/?s=t&HyperThreading=true

Угу, погорячился...
В любом случае на вики пишут, что ARM отказались от.

In 2010, ARM said that it might include simultaneous multithreading
in its chips in the future,[17] however this was rejected for their 2012 64 bit design.[18]


Пока во всяком слчае.
Кодом людям нужно помогать!
Re[5]: Многоядероность, многопроцессорность
От: samius Япония http://sams-tricks.blogspot.com
Дата: 29.04.13 08:47
Оценка: 3 (1)
Здравствуйте, Sharov, Вы писали:

S>Здравствуйте, samius, Вы писали:


S>>>Многопоточность (hyper-threading) требует поддержки в чипсете, а это не производительнее и труднее

S>>>чем отдельные простенькие ядра. Пример — ht от интел. Как я понял, от этой идеи они отказались.

S>>Откуда видно что они отказались?

S>>http://ark.intel.com/search/advanced/?s=t&HyperThreading=true

S>Угу, погорячился...

S>В любом случае на вики пишут, что ARM отказались от.

Не октрывал ссылку, но думаю что причины могут быть в других приоритетах компании, в политике, или может быть в том, что пока не достигли значительных успехов на этом фоне, не стоит втыкать HT в линейку продуктов. Интел ведь тоже начинал с 1-2% увеличения производительности на специфичных задачах. У меня стоял один из первых камней Интела с HT. Я мерил производительность так и сяк, и все думал, ну нафига это надо было? голый маркетинг!
Re: Многоядероность, многопроцессорность
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 29.04.13 09:39
Оценка:
Здравствуйте, snaphold, Вы писали:


S>Вопрос 2. Какие плюсы/минусы имеет Многоядероность и многопроцессорность с точки зрения разработки?

Все течет все меняется http://www.overclockers.ru/hardnews/53650/Sony_zhdet_ot_PlayStation_4_vpechatlyajuschih_GPGPU-vozmozhnostej.html


Далее, с подачи Sony компания AMD внесла три изменения в архитектуру APU. Во-первых, это некая новая шина для чтения данных графическим ядром непосредственно из системной памяти, минуя кэш L1 и L2. Для "небольшого объёма" данных, который подпадает под "скорострельность" этой шины, равной 20 Гбайт/с, процессы синхронизации кэшей и данных не нужны, что устраняет кучу процессов для обмена информацией между GPU и CPU.

Во-вторых, для запуска одновременных процессов по обработке графики и по обработке GPU "неграфических" задач в строку данных для записи в кэш L2 вносится некий временный маркер — "volatile" бит, как назвали его в Sony (по-англ. непостоянный). Благодаря этому маркеру упрощается запись и возврат данных по отдельным процессам, что не ведёт к торможению графики при одновременном выполнении неграфических расчётов. В общем — это те "12 одновременно работающих программ", о которых мечтает разработчик.

и солнце б утром не вставало, когда бы не было меня
Re[4]: Многоядероность, многопроцессорность
От: Evgeny.Panasyuk Россия  
Дата: 29.04.13 10:15
Оценка:
Здравствуйте, samius, Вы писали:

S>Откуда видно что они отказались?


Они отказались после 4 Pentium'а, и вернулись в "Core i".
В Core2 afaik не было HT.

S>Интел ведь тоже начинал с 1-2% увеличения производительности на специфичных задачах


Маловато, тут говорят про 25%:

The total performance is never doubled by hyperthreading, but it may be increased by e.g. 25%


А remark намерял 86% в своём тесте:

As it can be seen, the program shows very good scalability of 13.38 on 16 hardware threads (8 physical cores). Speedup obtained due to HT technology (difference between 8 threads and 16 threads) is 1.86. That's quite high speedup for HT technology (reference numbers are 1.2-1.4), and it may be explained by a high amount of cache misses (linked list traversal inherently produces high amount of cache misses), which are efficiently neutralized by HT technology (pipeline stalls of two HT sibling threads are interleaved, so that execution units are busy most of the time).

Re[6]: Многоядероность, многопроцессорность
От: Evgeny.Panasyuk Россия  
Дата: 29.04.13 10:21
Оценка:
Здравствуйте, Doom100500, Вы писали:

D>Сдаётся, мне вопрос не филосовский. На высоком уровне программисту не надо знать ничего о внутреннем устройстве железа.


bullshit
Программисту не нужно знать о кэшах? О том что из памяти приходят большие блоки (64 байт на современном железе)?

Не хочется спускаться до уровня конкретных железок?
ОК — делай cache-oblivious algorithm — но это всё равно некоторое знание о внутреннем использовании железа, пусть не конкретного.
Re[5]: Многоядероность, многопроцессорность
От: samius Япония http://sams-tricks.blogspot.com
Дата: 29.04.13 10:49
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>Здравствуйте, samius, Вы писали:


EP>Они отказались после 4 Pentium'а, и вернулись в "Core i".

EP>В Core2 afaik не было HT.
Действительно в Core2 не было. Но "отказались и вернулись" имеет немного другой смысл чем "отказались и не вернулись".

S>>Интел ведь тоже начинал с 1-2% увеличения производительности на специфичных задачах


EP>Маловато, тут говорят про 25%:

EP>

EP>The total performance is never doubled by hyperthreading, but it may be increased by e.g. 25%

Дык я ведь написал что начинал. Это первые HT на пне4. Сейчас они действительно приближаются к 2x по сравнению с выключенным HT на некоторой синтетике. Да и winrar показывает стабильные 1.5x.
Re[6]: Многоядероность, многопроцессорность
От: Evgeny.Panasyuk Россия  
Дата: 29.04.13 10:54
Оценка:
Здравствуйте, samius, Вы писали:

EP>>Они отказались после 4 Pentium'а, и вернулись в "Core i".

EP>>В Core2 afaik не было HT.
S>Действительно в Core2 не было. Но "отказались и вернулись" имеет немного другой смысл чем "отказались и не вернулись".

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