Выбор архитектуры L2 кэша для 2-х ядерных проц.
Arhaim
Интересующийся
1/14/2007, 6:33:18 PM
Как Вы думаете, какая организация кэш памяти 2-го уровня лучше для двухъядерных процессоров - два кэша (для каждого ядра отдельный) или один общий блок памяти?
-=Велла=-
Акула пера
1/15/2007, 5:25:45 PM
А что измениться от того, что мы считаем лучше? Фирма-производитель будет делать как мы скажем?
klll
Новичок
1/16/2007, 4:39:06 AM
Однозначто общий КЭШ лучше. Проц сам выбирает для каких действий ему надо больше "памяти" и для какого Кэша 1 -го уровня...
Arhaim
Интересующийся
1/16/2007, 3:45:10 PM
Однако если посмотрим на решение АМД для серверных платформ В этом случае при интенсивной загрузке обоих ядер (согласитесь, типичная ситуация для любого сервера) эффективно используется только часть памяти на каждое ядро, а время доступа к остальному объему сравнимо со временем доступа к оперативной памяти.
Arhaim
Интересующийся
1/16/2007, 3:52:39 PM
(-=Велла=- @ 15.01.2007 - время: 14:25) А что измениться от того, что мы считаем лучше? Фирма-производитель будет делать как мы скажем?
Ничего... Просто интерестно, какое архетектурное решение кажется более правильным...
Ничего... Просто интерестно, какое архетектурное решение кажется более правильным...
Mr.Disel
Специалист
2/19/2007, 5:27:54 PM
Ясно что разделяемый лучше, т.к. в приложениях не оптимизированных под двуядерность(работает одно из ядер процессора), ядро может использовать весь кэш. Т.е. допустим есть два проца у первого два ядра и на каждое ядро по 1Мб кэша, у второго процессора 2Мб разделяемого кэша. То при выполнении приложений без оптимизации под двуядерность первый проц сможет задействовать только свой кэш, а это 1Мб. В то время как второй может использовать все 2Мб. Вот такая арифметика, если кто чего понял...
Кстати разделяемым в ближайшее время станет кэш только 3-го уровня(так называемый L3)
Кстати разделяемым в ближайшее время станет кэш только 3-го уровня(так называемый L3)
Arhaim
Интересующийся
2/20/2007, 1:46:27 AM
(Mr.Disel @ 19.02.2007 - время: 14:27) Ясно что разделяемый лучше, т.к. в приложениях не оптимизированных под двуядерность(работает одно из ядер процессора), ядро может использовать весь кэш. Т.е. допустим есть два проца у первого два ядра и на каждое ядро по 1Мб кэша, у второго процессора 2Мб разделяемого кэша. То при выполнении приложений без оптимизации под двуядерность первый проц сможет задействовать только свой кэш, а это 1Мб. В то время как второй может использовать все 2Мб. Вот такая арифметика, если кто чего понял...
Кстати разделяемым в ближайшее время станет кэш только 3-го уровня(так называемый L3)
Ну тогда по твоей логике как раз общий и лучше. то есть если у одного проца 2 ядра и для каждого по одному кэшу (то есть он раздельный), а у другого проца 2 ядра и один кэш общий (совмесный и по емкости равен 2-м раздельным), то при простое второго ядра общий кэш весть (почти весь ) предоставляется первому ядру. То есть по твоей логике как раз совместный лучше... ))))))))))
Но на самом деле тут вопрос глубже. Ведь есть проблемы такие как конфликты при доступе к общей памяти с одной стороны, и упрощение обмена данными между ядрами проца
Кстати разделяемым в ближайшее время станет кэш только 3-го уровня(так называемый L3)
Ну тогда по твоей логике как раз общий и лучше. то есть если у одного проца 2 ядра и для каждого по одному кэшу (то есть он раздельный), а у другого проца 2 ядра и один кэш общий (совмесный и по емкости равен 2-м раздельным), то при простое второго ядра общий кэш весть (почти весь ) предоставляется первому ядру. То есть по твоей логике как раз совместный лучше... ))))))))))
Но на самом деле тут вопрос глубже. Ведь есть проблемы такие как конфликты при доступе к общей памяти с одной стороны, и упрощение обмена данными между ядрами проца
Arhaim
Интересующийся
2/20/2007, 1:52:28 AM
Вообще как было замечено выше фирма интел делает общий кэш на многоядерных системах используя хитрую технологию.
А решение амд для серверных систем ипользует раздельный кэш )))
Но вот что лучше... это воопрос!
А решение амд для серверных систем ипользует раздельный кэш )))
Но вот что лучше... это воопрос!
Mr.Disel
Специалист
2/20/2007, 3:52:54 PM
(Arhaim @ 19.02.2007 - время: 22:46) (Mr.Disel @ 19.02.2007 - время: 14:27) Ясно что разделяемый лучше, т.к. в приложениях не оптимизированных под двуядерность(работает одно из ядер процессора), ядро может использовать весь кэш. Т.е. допустим есть два проца у первого два ядра и на каждое ядро по 1Мб кэша, у второго процессора 2Мб разделяемого кэша. То при выполнении приложений без оптимизации под двуядерность первый проц сможет задействовать только свой кэш, а это 1Мб. В то время как второй может использовать все 2Мб. Вот такая арифметика, если кто чего понял...
Кстати разделяемым в ближайшее время станет кэш только 3-го уровня(так называемый L3)
Ну тогда по твоей логике как раз общий и лучше. то есть если у одного проца 2 ядра и для каждого по одному кэшу (то есть он раздельный), а у другого проца 2 ядра и один кэш общий (совмесный и по емкости равен 2-м раздельным), то при простое второго ядра общий кэш весть (почти весь ) предоставляется первому ядру. То есть по твоей логике как раз совместный лучше... ))))))))))
Но на самом деле тут вопрос глубже. Ведь есть проблемы такие как конфликты при доступе к общей памяти с одной стороны, и упрощение обмена данными между ядрами проца
Вот именно что РАЗДЕЛЯЕМЫЙ между двумя ядрами (он же общий), а не РАЗДЕЛЕННЫЙ! Не путай понятия
Про сложности ты прав, имнно по этому индустрия только что и подходит к использованию раделяемого(общего) кэша. Т.к должны быть еще грамотно реализованы алгоритмы его распеделения, а это не так то просто... И что в итге лучше будет зависит именно от реализации этих алгоритмов. Но должно быть лучше, т.к. в противном случае с ним бы не связались...
Кстати разделяемым в ближайшее время станет кэш только 3-го уровня(так называемый L3)
Ну тогда по твоей логике как раз общий и лучше. то есть если у одного проца 2 ядра и для каждого по одному кэшу (то есть он раздельный), а у другого проца 2 ядра и один кэш общий (совмесный и по емкости равен 2-м раздельным), то при простое второго ядра общий кэш весть (почти весь ) предоставляется первому ядру. То есть по твоей логике как раз совместный лучше... ))))))))))
Но на самом деле тут вопрос глубже. Ведь есть проблемы такие как конфликты при доступе к общей памяти с одной стороны, и упрощение обмена данными между ядрами проца
Вот именно что РАЗДЕЛЯЕМЫЙ между двумя ядрами (он же общий), а не РАЗДЕЛЕННЫЙ! Не путай понятия
Про сложности ты прав, имнно по этому индустрия только что и подходит к использованию раделяемого(общего) кэша. Т.к должны быть еще грамотно реализованы алгоритмы его распеделения, а это не так то просто... И что в итге лучше будет зависит именно от реализации этих алгоритмов. Но должно быть лучше, т.к. в противном случае с ним бы не связались...
Arhaim
Интересующийся
3/22/2007, 9:01:32 PM
То есть кэш никого не интересует :(