Abstract

In this paper the tasks of managing the directory in coherence maintenance systems in multiprocessor systems with a large number of processors are solved. In microprocessor systems with a large number of processors (MSLP) the problem of maintaining the coherence of processor caches is significantly complicated. This is due to increased traffic on the memory buses and increased complexity of interprocessor communications. This problem is solved in various ways. In this paper, we propose the use of Bloom filters used to accelerate the determination of an element’s belonging to a certain array. In this article, such filters are used to establish the fact that the processor belongs to some subset of the processors and determine if the processor has a cache line in the set. In the paper, the processes of writing and reading information in the data shared between processors are discussed in detail, as well as the process of data replacement from private caches. The article also shows how the addresses of cache lines and processor numbers are removed from the Bloom filters. The system proposed in this paper allows significantly speeding up the implementation of operations to maintain cache coherence in the MSLP as compared to conventional systems. In terms of performance and additional hardware and software costs, the proposed system is not inferior to the most efficient of similar systems, but on some applications and significantly exceeds them.

Highlights

  • Структура ЭВМ и программное моделированиеВ работе [3] предлагается организация ко‐ герентной системы, при которой в кэше последнего уровня (LLC) хранятся либо строки кэша, либо ин‐ формация о копиях разделенных блоков памяти (то есть фактически часть справочника)

  • Введение В настоящее время многопроцессорные системы (МС) с большим числом процессоров используют протоколы когерентности кэшей, базирующиеся на справочниках

  • In microprocessor systems with a large number of processors (MSLP) the problem of maintaining the coherence of processor caches is significantly complicated. This is due to increased traffic on the memory buses and increased complexity of interprocessor communications

Read more

Summary

Структура ЭВМ и программное моделирование

В работе [3] предлагается организация ко‐ герентной системы, при которой в кэше последнего уровня (LLC) хранятся либо строки кэша, либо ин‐ формация о копиях разделенных блоков памяти (то есть фактически часть справочника). Для ускорения поиска нужной информации в справочнике в данной работе предлагается ис‐ пользовать фильтр Блума как для номеров процес‐ соров, так и для разделенных строк кэша. Если же хотя бы одно из значений хэш-функций этого элемента совпадает с нулем в m-битовом фильтре Блума, то это означает, что элемент определенно не принадлежит массиву. Структура когерентной системы Рассматриваемая здесь система содержит част‐ ные L1-кэши процессоров, эксклюзивный разде‐ ленный L2-кэш и централизованный сокращенный справочник, содержащий информацию о наличии копий блоков данных (строк частных кэшей процес‐ соров). 1. В каждой строке этой части справочника содержится массив фильтра Блума для номеров процессоров с раз‐ деленными данными в соответствующем наборе кэша 2. Массив фильтра Блума для номеров процессоров с разделенными данными в наборе n кэша L2

Строка справочника m
Выполнение запроса при обращении процессора
СПИСОК ЛИТЕРАТУРЫ
ИНФОРМАЦИЯ ОБ АВТОРАХ
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call