Клиенты выполняют те же предупредительные действия для уменьшения вероятности попадания на устаревшие данные. Ядро поддерживает срок устаревания в mode, при помощи которого отслеживается давность кэширования атрибутов.
Также может иметь смысл заглянуть на сайт zlotnikoffstroy.ru, ведь именно там можно узнать много нового на тему http://zlotnikoffstroy.ru/torf/. Тема торф Раменское может показаться на первый взгляд незначительной и даже не тематичной. Но стоит посетить сайт zlotnikoffstroy.ru, и тема торф Раменское начинает проявлять себя с неожиданной стороны и вызывает всё больший интерес. Дело в том, что тема торф Раменское очень подробно представлена на сайте zlotnikoffstroy.ru. Трудно найти более детальное освещение темы торф Раменское чем это сделано на сайте zlotnikoffstroy.ru. Спасибо сайту zlotnikoffstroy.ru за такое доскональное преподнесение темы торф Раменское.
Обычно клиент кэширует атрибуты после получения их от сервера на 60 или менее секунд. Если к ним произойдет обращение после истечения срока, клиент запросит новые сведения от сервера. Примерно таким же образом обрабатываются блоки данных: клиент удостоверяет целостность кэша путем проверки времени изменения. Если значение, установленное после чтения данных с сервера, не изменилось, данные считаются действительными. Клиент может продолжать использовать величину, хранимую в кэше, или вызвать GETATTR, если срок хранения истек.
Кэширование на стороне клиента положительно влияет на производительность системы. Описанные упреждающие меры благотворны, но, к сожалению, не защищают от проблем целостности. К примеру, они могут привести к состязательности, что подробно описано в работах [17] и [12].
Отложенная запись
Требования синхронности записи в системе NFS относятся только к серверной части. Клиент может отложить операцию записи, следовательно, если данные будут утеряны в результате его выхода из строя, пользователь будет знать об этом. В любом случае правила предписывают использовать асинхронную запись для полных блоков (передавать запрос WRITE, но не ждать ответа) и отложенную запись для фрагментов блоков (производя WRITE позже). Большинство реализаций UNIX сбрасывают изменения на сервер каждые 30 секунд, а также при закрытии файла. Обработку таких запросов ведут клиентские демоны biod.
Хотя серверу необходимо выполнить операцию записи на надежный носитель перед отправкой ответного сообщения, он не обязан сохранять данные именно на диске. Сервер может использовать специализированную аппаратуру, гарантирующую отсутствие потерянных данных при своем отказе. Например, некоторые серверы имеют специальную энергонезависимую память, с подпиткой от батарейки, называемую NVRAM. Сервер сбрасывает буферы NVRAM на диске через определенные промежутки времени. Это позволяет ему быстро реагировать на запросы записи, так как перенос данных на NVRAM происходит намного быстрее, чем на диск. Дисковый драйвер может оптимизировать порядок записи с NVRAM на диск, добиваясь минимизации перемещения головок. Более того, несколько изменений одного и того же буфера может быть записано на диск одной операцией. Реализации системы NFS с применением NVRAM описаны в работах [9] и [18].
В книге [13] демонстрируется методика, называемая сбором записей (write- gathering), уменьшающая проблему появления узкого места при записи без использования дополнительных аппаратных устройств. Она построена на том факте, что типичные клиенты NFS загружают определенное количество демонов biod для обработки операций записи. После того как клиент откроет файл и произведет в него запись, ядро сбросит изменения в кэш и пометит его для отложенной записи. Когда клиент закроет файл, ядро передаст блоки на сервер. Если на клиентской машине загружено достаточное количество демонов biod, они могут вести запись параллельно. В результате серверы часто получают сразу несколько запросов на запись одного и того же файла.
При использовании технологии сбора записей сервер не производит обработку запросов WRITE немедленно. Вместо этого он обычно задерживает операцию записи на небольшой промежуток времени в надежде дождаться остальных запросов WRITE, относящихся к тому же файлу. Затем сервер собирает запросы на запись одного файла воедино и обрабатывает их все вместе. Ответные сообщения сервер генерирует по завершении обработки группы запросов. Описанная методика эффективна при использовании клиентами демонов biod и наиболее оптимальна в случае большого количества запущенных копий этой программы. На первый взгляд при этом увеличивается задержка обработки отдельных запросов, однако рост производительности происходит за счет меньшего количества дисковых операций на сервере.
Например, если сервер собрал п запросов на запись файла, он может сбросить изменения на диск, используя только одну операцию записи данных и одну операцию записи индексного дескриптора (в противовес п вызовов каждой из перечисленных операций). Сбор записей увеличивает пропускную способность сервера и уменьшает загруженность дисков. Технология наращивает задержку обработки отдельного запроса, сокращая при этом среднее время записи.
Опубликовал katy
July 12 2015 07:02:15 ·
0 Комментариев ·
3132 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.