Size: a a a

2020 August 11

CD

Constantine Drozdov in rust_offtopic
Berkus Decker
> Each core has its own L1 and L2 cache while the last level, the L3 cache is shared across all the cores on a die.

L1 обычно сверхбыстрый и очень маленький и часто делится на отдельные кеши для данных и инструкций
в L2 все свалено вместе и он жирнее и медленней
а, понял
источник

CD

Constantine Drozdov in rust_offtopic
Berkus Decker
L3 это еще медленней но делится между локальными ядрами
то есть там полная иерархия?
источник

CD

Constantine Drozdov in rust_offtopic
есть кэш который общий для не 1 и не все ядра?
источник

CD

Constantine Drozdov in rust_offtopic
это же надо будет е*ться с affinity чтобы нормально работало все
источник

BD

Berkus Decker in rust_offtopic
Constantine Drozdov
а, понял
источник

RP

Roman Proskuryakov in rust_offtopic
Constantine Drozdov
то есть там полная иерархия?
источник

BD

Berkus Decker in rust_offtopic
NUMA это про другое
источник

BD

Berkus Decker in rust_offtopic
Constantine Drozdov
есть кэш который общий для не 1 и не все ядра?
ась?
источник

BD

Berkus Decker in rust_offtopic
я не распарсил
источник

CD

Constantine Drozdov in rust_offtopic
ну там топология личных кэшей - общая шина? только личные и всеобщие кэши или еще промежуточные есть?
источник

BD

Berkus Decker in rust_offtopic
Constantine Drozdov
ну там топология личных кэшей - общая шина? только личные и всеобщие кэши или еще промежуточные есть?
они обычно иерархические со сквозной записью, то есть проц пишет в L1 и дальше делами занимается, а врайт пролезает в более высокие уровни до самого ОЗУ
источник

RP

Roman Proskuryakov in rust_offtopic
Typically, ccNUMA uses inter-processor communication between cache controllers to keep a consistent memory image when more than one cache stores the same memory location.

чем не устраивает?
источник

CD

Constantine Drozdov in rust_offtopic
Berkus Decker
они обычно иерархические со сквозной записью, то есть проц пишет в L1 и дальше делами занимается, а врайт пролезает в более высокие уровни до самого ОЗУ
это я понимаю, просто если условного говоря будет L3 блок на ядро 1 и 2 отдельно, на 3 и 4 отдельно еще полезет что надо affinity настраивать
источник

BD

Berkus Decker in rust_offtopic
Roman Proskuryakov
Typically, ccNUMA uses inter-processor communication between cache controllers to keep a consistent memory image when more than one cache stores the same memory location.

чем не устраивает?
ну примерно так и без нумы работает, просто лишняя сущностью сейчас
источник

RP

Roman Proskuryakov in rust_offtopic
ок
источник

BD

Berkus Decker in rust_offtopic
Constantine Drozdov
это я понимаю, просто если условного говоря будет L3 блок на ядро 1 и 2 отдельно, на 3 и 4 отдельно еще полезет что надо affinity настраивать
а это как раз MESI протокол разруливает
через межпроцессорный интерконнект
источник

AB

Artöm Bakri Al-Sarmi... in rust_offtopic
Constantine Drozdov
о_О а чем он от L1 отличается
В л1 делится на инструкции и данные, л2 нет
источник

AB

Artöm Bakri Al-Sarmi... in rust_offtopic
По крайней мере в интелах сейчас
источник

CD

Constantine Drozdov in rust_offtopic
Berkus Decker
а это как раз MESI протокол разруливает
через межпроцессорный интерконнект
я тебе про то, что топология, отличная от "общая шина" будет требовать еще немного еботы про разное время коммуникации в зависимости от пар ядер и настройку дохуя всего для выжимания тактиков
источник

BD

Berkus Decker in rust_offtopic
Constantine Drozdov
я тебе про то, что топология, отличная от "общая шина" будет требовать еще немного еботы про разное время коммуникации в зависимости от пар ядер и настройку дохуя всего для выжимания тактиков
ну вот NUMA как раз про совершенно разделенные пространства памяти, которые через IPC синхронизируются. Современные процы тоже стараются не делать тупо общую шину т.к. она жрет энергию и время.
источник