Продолжая просмотр сайта и(или) нажимая X, я соглашаюсь с использованием файлов cookie владельцем сайта в соответствии с Политикой в отношении файлов cookie в том числе на передачу данных, указанных в Политике, третьим лицам (статистическим службам сети Интернет), в соответствии с Пользовательским соглашением >X

Для помощи нажмите здесь

Continuous Cache Mirroring – новый подход к организации работы кэш-памяти

Константин Нахимовский, ведущий менеджер по решениям Huawei Enterprise Business Group в России

В чем преимущество обоих подходов? В случае с Mirrored Cache речь идет о большом полезном объеме кэш-памяти при использовании более чем двух контроллеров. Дело в том, что добавление контроллеров в СХД приводит к кратному росту не только общего объема кэш-памяти, но и количества операций чтения и записи, которые могут быть кэшированы, что увеличивает вероятность наличия нужных данных в кэше (cache-hit). Разумеется, у данного способа есть и минусы. Так, если один из двух контроллеров выходит из строя, второй перестает работать на запись, соответственно сохранность кэша не может быть гарантирована при нахождении данных только на одном контроллере. Таким образом, при выходе одного контроллера из строя общая производительность контроллерной пары на операциях записи снижается более чем вдвое.

Во втором случае (Global Cache) кэш всех контроллеров зазеркалирован, поэтому при возникновении нештатной ситуации и наличии двух и более контроллеров производительность при осуществлении операций записи будет выше. Но и здесь не обходится без недостатков. При увеличении числа контроллеров (более двух) полезный объем кэш-памяти не увеличится и всегда будет равен размеру кэш-памяти одного контроллера. Проще говоря, это означает, что такая система, будучи значительно быстрее в нештатной ситуации, при работе в штатном режиме уступит по производительности решению с попарным зеркалированием. Такой подход целесообразен именно в СХД класса high-end, где необходимы высочайший уровень надежности и стабильно высокая производительность, в том числе и в нештатных режимах. В то же время реализация данного подхода в СХД класса mid-range не всегда оправданна, так как недостатков у систем подобного класса ничуть не меньше, чем преимуществ.

Новаторский подход Continuous Cache Mirroring, предложенный компанией Huawei, призван объединить оба способа, компенсировав недостатки каждого, то есть плохую утилизацию кэш-памяти у Global Cache и падение производительности при выходе из строя одного из контроллеров в системах с попарным зеркалированием. Если коротко, то суть заключается в применении в СХД блоков по четыре контроллера, среди которых кэш продолжает зеркалироваться между парами, тем самым обеспечивая высокую утилизацию. Если при этом выходит из строя один из контроллеров, кэш-память с его пары зеркалируется на оставшиеся два контроллера (по половине на каждый). В итоге система продолжает использовать кэш на запись даже в нештатном режиме (как в случае с Global Cache). Схема, иллюстрирующая новый подход компании Huawei, приведена ниже.



Принцип работы Continuous Cache Mirroring

В таблице ниже приведено сравнение всех трех реализаций работы с кэш-памятью.

 

Mirrored Cache

Global Cache

Continuous Cache Mirroring

Объем кэш-памяти

100%

100%

100%

Объем полезной кэш-памяти при четырех контроллерах

50%

25%

50%

Объем полезной кэш-памяти при восьми контроллерах

50%

12,5%

50%

Кэш на запись при выходе из строя одного из контроллеров

Нет/Со второй пары

Да

Да


Таким образом, можно говорить о значительном (кратном) преимуществе подхода Continuous Cache Mirroring как перед Global Cache, так и перед решением с попарным зеркалированием (Mirrored Cache).