Кэширование в распределенных системах. Организация и управление кэшированием.

Может производиться на стороне сервера или на стороне клиента.

На стороне сервера файл кэшируется в его памяти. //Практически всегда реализуется

Кэширование на стороне клиента – в памяти клиента.

 

Модели:

1. Кэширование внутри каждого процесса.

Управляется с помощью библиотеки системных вызовов.

После завершения процесса все модифицированные файлы записываются на заданный сервер.

Используется, если процессор часто открывает/закрывает одни и те же файлы.

 

2. Кэширование в ядре.

Во всех случая, даже при попадании в КЕШ требуется выполнять системные вызовы, но файлы остаются в КЭШ и после завершения процессов.

 

 

3. Использование КЭШ-менеджеров

Это процесс пользовательского уровня, освобождающий ядро от кода файловой системы. В системах с виртуальной памятью страница КЭШ-менеджера фиксируется от вытеснения на диск из-за скорости обработки.

 

Алгоритмы управления кэшированием:

1. Сквозная запись – когда кэшируемый элемент изменяется, все изменения немедленно отправляются на сервер.

2. Отложенная запись – при модификации клиент помечает, что файл изменен. Все изменения отправляются на сервер вместе раз в определенный промежуток времени.

3. Запись по закрытию – удовлетворяет сессионной семантике.

4. Централизованное управление – файл может быть открыт для чтения сколько угодно раз, но только 1 раз для записи.