LINUX.ORG.RU

Эстафета процессора по кэшам и диску для прокладывания путей в пространстве памяти

 , кэши, логистика, эстафета


1

1

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

Представляем.

Раздел размером например в 32 гигабайта. Этот раздел состоит из чисел. В начале все числа равны нулю.

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

Задача, как можно быстрее заполнить раздел плюсами, тоесть увеличивать числа. Также задача это покрыть плюсами как можно более широкий объем.

Вот процессор начинает свою работу. Он загружает с жесткого диска информацию себе в первый кэш, все предидушие кэши запомнают это. Далее он плюсует эту информацию пока загружется новая информация. Вот новая информация загрузилась. Приплюсованная информация остаётся в кэше более высокого уровня. Новая информация теперь плюсуется, загружается третья информация. И так далее.

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

Завершив свою работу мы получаем результат с зесткого диска.

Количество гигабайт покрытых тонким слоем плюсов. Далее меньший объём покрытый более толстым слоем плюсов. И так далее до размера первого кэша с самым толстым слоем плюсов, а также пути наложения этих плюсов.

Тоесть получаем зависимости объема и толщины, и карту путей покрытия.

Тоесть на жестком диске у нас получается такой ландшафт с горами и хребтами, и это отражение максимально эффективной работы всех кэшей и диска.

Эти данные можно использовать для других задач.



Последнее исправление: CYB3R (всего исправлений: 2)
Ответ на: комментарий от masloed

А какие именно нужно проходить?

Более того --- именно с этого и надо было начинать. В результате рассмотрения этого вопроса может так оказаться, что и саму программу писать не нужно будет ;)

VLev
()
Ответ на: А какие именно нужно проходить? от VLev

Понимаете, хочется упереться в стенку производительности кэшей и памяти, пройти вдоль этой стенки где упором будет служить не несовершетсво алгоритма а несовершенство кэшей и памяти. Чтобы потом по полной нагрузить.

masloed
() автор топика
Ответ на: комментарий от masloed

Что именно является «едой»? И чем ограничены ментопсихофизические способности «муравья»?

Задача охватить как можно больший объём, более эффективной зоной плюсовки.

Именно так сформулированное --- это не одна, а две задачи, причем почти ортогональные. И каждая имеет простое решение.
Тот алгоритм, который Вы пытались описать, решает немного другую задачу:
«охватить как можно больший объём, пока это не мешает эффективной плюсовке»
Решение тоже очень простое: равномерный «слой плюсов толщиной» равной отношению пиковой производительности к темпу доступа к уровню иерархии подсистемы хранения. Для современных жесткого диска и процессора --- около тысячи.

VLev
()
Ответ на: комментарий от masloed

не только «понимаю», но и могу эту «стенку» нарисовать.
;)

VLev
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.