Механизм управления кэшем на основе «путешествий во времени» приспособили к процессорам Intel




17:43 04.10.2016 |   2747



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

Год назад в МТИ предложили механизм когерентности кэшей Tardis для многоядерных процессоров, основанный на концепции «путешествий во времени», — он выполняет операции с памятью в «логическом», а не хронологическом порядке, присваивая каждой отметки времени. Особенность Tardis — в том, что он требует последовательной консистентности, при которой, если ядро выполняет запись, а следующая инструкция — считывание, то перед ее выполнением придется дождаться окончания записи.

Но в современных процессорах последовательная консистентность не соблюдается, объясняют ученые МТИ: чип Intel может назначить последовательность ABC операций записи/считывания ядру, но выполнить оно их может, скажем, в порядке ACB. Более слабая консистентность позволяет процессорам работать быстрее.

Чтобы Tardis мог работать при менее жестких стандартах консистентности, характерных для процессоров Intel, исследователи предложили доработку — каждое ядро получает по два счетчика, один для операций считывания, один для записи. Если ядро решает выполнить считывание до завершения предыдущей записи, оно просто присваивает ему меньшую отметку времени.

В докладе о Tardis 2.0 разъясняется, как координировать работу счетчиков при различных моделях консистентности и количествах ядер. По оценкам исследователей, в чипах с сотнями ядер Tardis высвобождает 15-25% кэш-памяти, значительно ускоряя обработку.


Теги: Intel МТИ