Size: a a a

Rust — русскоговорящее сообществo

2020 November 18

C

Cooler3D in Rust — русскоговорящее сообществo
Doge Shibu
Но вопрос - ты уверен, что у тебя там кэшмиссы сейчас есть?
Я больше из научного интереса любопытствовал, вряд ли кому то может понадобиться иметь логический раздел в кеше. Троллейбус из буханки, и все такое.
источник

А

Алексей in Rust — русскоговорящее сообществo
я чёт сомневаюсь что такой троллейбус возможен
источник

C

Cooler3D in Rust — русскоговорящее сообществo
Спасибо за разъяснение!
источник

DS

Doge Shibu in Rust — русскоговорящее сообществo
Cooler3D
Я больше из научного интереса любопытствовал, вряд ли кому то может понадобиться иметь логический раздел в кеше. Троллейбус из буханки, и все такое.
Вообще были архитектуры всяких сопроцессоров с небольшим обьемом очень быстрой памяти, куда явно надо было класть нужный кусок данных.

В основном это были всякие сопроцессоры в старых приставках.
источник

DS

Doge Shibu in Rust — русскоговорящее сообществo
Cooler3D
Я больше из научного интереса любопытствовал, вряд ли кому то может понадобиться иметь логический раздел в кеше. Троллейбус из буханки, и все такое.
Если ты пишешь прям на голое железо без ОСи и у тебя очень предсказуемые обращения к памяти, то такое можно попробовать сделать, но останется вопрос - зачем, если процессор как раз при  предсказуемых обращениях к памяти и так сможет это сделать за тебя.
источник

C

Cooler3D in Rust — русскоговорящее сообществo
Doge Shibu
Вообще были архитектуры всяких сопроцессоров с небольшим обьемом очень быстрой памяти, куда явно надо было класть нужный кусок данных.

В основном это были всякие сопроцессоры в старых приставках.
Задумался о троллейбусе после приобретения AMD 3990X. Около 400 мегабайт кеша.
источник

A

Aragaer in Rust — русскоговорящее сообществo
это немного не тот кеш
источник

А

Алексей in Rust — русскоговорящее сообществo
скорее всего процессор запихнёт в кэш то что ему нужно, без спроса для этого разрешения от ОС
источник

A

Aragaer in Rust — русскоговорящее сообществo
ну собственно можно расчитывать на то, что если обратиться к некоторому участку памяти, то он и соседние попадут в кеш. А если продолжать его дергать, то он там так и будет оставаться
источник

A

Aragaer in Rust — русскоговорящее сообществo
управлять тем, что из кеша будет удалено, полноценно не получится. Но поддерживать кеш, если "я знаю, что оно понадобится, хотя проц об этом еще не знает" - можно. Искусственно.
источник

C

Cooler3D in Rust — русскоговорящее сообществo
Возможность залить условный файл в пространство, с доступом в 1 наносекунду мне показалась интригующей.
источник

A

Aragaer in Rust — русскоговорящее сообществo
ну так и залей, в чем проблема
источник

DS

Doge Shibu in Rust — русскоговорящее сообществo
Cooler3D
Возможность залить условный файл в пространство, с доступом в 1 наносекунду мне показалась интригующей.
Это у тебя и так будет сделано автоматом по сути. Процессор сам знает, что ему нужно класть в кэш в подавляющем большинстве случаев.
источник

A

Aragaer in Rust — русскоговорящее сообществo
для этого достаточно просто зачитать из него по одному байту каждые ... ну допустим 4к
источник

A

Aragaer in Rust — русскоговорящее сообществo
вот допустим у меня есть массив с которым я планирую активно работать.
источник

A

Aragaer in Rust — русскоговорящее сообществo
перед тем как начать работать (я жду каких-то параметров этой работы) я хочу массив загнать в кеш. Не проблема - я пробегусь по массиву и его почитаю. Он попадет в кеш.
источник

И

Игорь in Rust — русскоговорящее сообществo
кроме всего прочего кэш это не не непрерывный кусок памяти а ассоциативный массив
источник

DS

Doge Shibu in Rust — русскоговорящее сообществo
Игорь
кроме всего прочего кэш это не не непрерывный кусок памяти а ассоциативный массив
И не только это. Оно же всё ещё иерархично и L1/L2/L3 очень сильно друг от друга отличаются.
источник

C

Cooler3D in Rust — русскоговорящее сообществo
Логический раздел мне показался универсальным решением, с которым из коробки смогло бы взаимодействовать ПО.
источник

DS

Doge Shibu in Rust — русскоговорящее сообществo
Cooler3D
Логический раздел мне показался универсальным решением, с которым из коробки смогло бы взаимодействовать ПО.
Так у тебя эти данные и так окажутся в кэше при их обработке.
источник