В информатике , кэш - раскраска (также известная как страницы окраска ) является процессом попытки выделить свободные страницы , которые являются смежными с кэша CPU «s точки зрения, для того , чтобы максимизировать общее количество страниц , кэшированных процессором. Раскрашивание кэша обычно используется низкоуровневым кодом распределения динамической памяти в операционной системе при отображении виртуальной памяти на физическую.. Подсистема виртуальной памяти, в которой отсутствует раскраска кэша, менее детерминирована в отношении производительности кеша, поскольку различия в распределении страниц от одного запуска программы к другому могут привести к большим различиям в производительности программы.
Подробности операций [ править ]
Физически индексированный кэш ЦП разработан таким образом, что адреса в соседних блоках физической памяти занимают разные позиции («строки кэша») в кэше, но это не тот случай, когда речь идет о виртуальной памяти; когда выделяются виртуально смежные, но не физически смежные блоки памяти, они потенциально могут занимать одну и ту же позицию в кэше. Раскрашивание - это метод, реализованный в программном обеспечении для управления памятью, который решает эту проблему, выбирая страницы, которые не конкурируют с соседними страницами.
Страницы физической памяти «раскрашены», поэтому страницы с разными «цветами» занимают разные позиции в кэш-памяти ЦП. При выделении последовательных страниц в виртуальной памяти для процессов ядро собирает страницы с разными «цветами» и отображает их в виртуальную память. Таким образом, последовательные страницы в виртуальной памяти не конкурируют за одну и ту же строку кэша.
Реализации [ править ]
Этот код значительно усложняет подсистему распределения виртуальной памяти, но результат стоит затраченных усилий. [1] Раскраска страниц делает виртуальную память такой же детерминированной, как и физическая память, в отношении производительности кеша. Раскраска страниц используется в таких операционных системах , как Solaris , [2] FreeBSD , [1] NetBSD , [3] и Windows NT . [4]
Ссылки [ править ]
- ^ a b Мэтью Диллон . «Раскраска страниц» . Элементы дизайна системы FreeBSD VM . Фонд FreeBSD . Проверено 13 января 2007 .
- ^ "Что нового в операционной системе Solaris" . Маркетинговые материалы по Solaris . Sun Microsystems, Inc . Проверено 13 января 2007 .
- ^ Мэтт Томас . «Улучшение NetBSD / mips» (PDF) . Управление цветами страницы . Фонд NetBSD . Проверено 24 сентября 2012 .
- ^ Эдуард Бюньон; Дженнифер М. Андерсон; Тодд С. Моури *; Мендель Розенблюм; Моника С. Лам. «Раскраска страниц, управляемая компилятором для мультипроцессоров» . Стэнфордский университет . Проверено 6 октября 2009 .
Внешние ссылки [ править ]
- « Алгоритмы размещения страниц для больших реально индексируемых кешей », Р. Кесслер, Марк Д. Хилл, Университет Висконсина, 1992.
- « Раскрашиваемая память », Йохен Лидтке , IBM TJ Watson Center, ноябрь 1996 г.
- «缓存 着色 技术», автор: Марай, Технологический блог CSDN, 2008 г.