Маркетинг

Больше данных – меньше проблем!


Новые системы хранения данных для компаний малого и среднего бизнеса. Узнайте подробности и задайте вопросы на on-line-семинаре IBM




White Papers

45% руководителей компаний считают информацию ключевым стратегическим ресурсом, но лишь 7% уверены, что смогут успешно использовать ее для роста.

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

Открытые системы :: Открытые системы

Мягкие обновления. Методика, позволяющая избежать большей части синхронных операций записи в быстрой файловой системе

в buzz в мой мир в twitter версия для печатисохранить в pdf

Грегори Р. Ганджер, Маршал Кирк Маккьюзик

Данная статья описывает реализацию мягких обновлений и интеграцию данного решения в быструю файловую систему 4.4BSD. Здесь подробно рассказывается обо всех изменениях, которые необходимо сделать как в прототипе, выполненном в рамках исследовательского проекта, так и в системе BSD, для создания системы, которую можно выпускать в массовом порядке. Кроме того, в статье обсуждается накопленный опыт, возможные трудности и уроки, полученные во время преобразования системы из исследовательского прототипа в реальную. И, как это часто бывает в подобных случаях, побочные операции (например, fsck и fsynk) требуют тщательного обдумывания и написания дополнительного кода. Опыт работы с получившейся системой подтвердил результаты проводимого ранее исследования: мягкие обновления прекрасно интегрируются с существующими файловыми системами и реализуют обработку зависимостей метаданных с достаточной производительностью, то есть производительность оказывается меньше оптимальной всего на несколько процентов.

Непротиворечивость файловой системы в случае возникновения системной ошибки традиционно поддерживается за счет использования синхронных операций записи, выполняемых в порядке, зависящем от обновлений метаданных, или за счет использования записей с упреждением с обязательной регистрацией, необходимой для их автоматической группировки. Мягкие обновления как альтернатива этим подходам представляют собой реализацию механизма, который контролирует и обеспечивает выполнение зависимостей обновления с тем, чтобы гарантировать постоянную непротиворечивость образа диска. Использование мягких обновлений позволяет обойтись без специальной регистрации или большинства синхронных операций записи. Действительно, способность мягких обновлений объединять многие операции, прежде выполнявшиеся отдельно и синхронно, сокращает число операций записи на диск на 40 - 70% для среды, где происходит интенсивная работа с файлами (то есть при разработке программ, работе почтовых серверов и так далее). Кроме того, помимо увеличения производительности, мягкие обновления могут поддерживать непротиворечивость образа диска на более высоком уровне. Гарантируя, что все некорректности сводятся лишь к невостребованным блокам и индексным дескрипторам файлов, мягкие обновления позволяют обойтись без необходимости запускать программу проверки файловой системы после каждого сбоя системы, то есть система сразу готова к работе. Операция проверки выполняется в активной файловой системе для восстановления всех потерянных блоков и индексных дескрипторов файлов, когда это удобно и, возможно, в виде фоновой задачи.

История вопроса и введение

В файловой системе метаданные (например, каталоги, индексные дескрипторы и карты свободных блоков) задают структуру необработанной памяти. Метаданные предоставляют указатели и дескрипторы для объединения нескольких секторов на диске в файлы и идентифицируют эти файлы. Чтобы быть полезной для работы постоянной памяти файловая система должна поддерживать целостность своих метаданных на случай непредсказуемых системных сбоев, таких как отключение питания и ошибки файловой системы. Поскольку подобные сбои обычно приводят к потере всей информации во временной памяти, информация в постоянной основной памяти (то есть на диске) всегда должна быть корректной настолько, чтобы можно было однозначно восстановить согласованное состояние файловой системы. А именно, образ файловой системы на диске не должен иметь «повисших» указателей, ссылающихся на неинициализированное пространство, указывать неоднозначную принадлежность ресурсов, которая возникает в том случае, когда на ресурс ссылается несколько указателей, или на используемые ресурсы, указатели на которые отсутствуют. Поддержка такого рода инвариантности в общем случае требует определения четкой последовательности (или атомарной группировки) обновлений небольших объектов метаданных, размещаемых на диске.

Быстрая файловая система BSD (FFS) [McKusick et al, 1984] и ее производные традиционно используют синхронные операции записи на диск для того, чтобы выполнить корректную последовательность изменений, обеспечивающую стабильное состояние памяти. Например, создание файла в системе BSD предусматривает сначала резервирование и инициализацию нового индексного дескриптора файла, а затем заполнение нового элемента каталога, который на него ссылается. При использовании подхода синхронных операций записи файловая система заставляет приложение, которое создает файл, ожидать выполнения операции записи на диск, инициализирующей индексный дескриптор на диске. В результате операции файловой системы, такие как создание и удаление файла, выполняются со скоростью доступа к диску, а не со скоростью процессоров и доступа к памяти в этих системах [McVoy & Kleiman, 1991; Ousterhout, 1990; Seltzer et al, 1993]. Поскольку время доступа к диску намного больше, чем скорость работы других компонентов компьютера, синхронные операции записи снижают производительность системы.

Задача обновления метаданных также может быть решена с помощью других механизмов. Например, один из них позволяет избежать необходимости сохранять состояние системы на диск за счет применения технологий энергонезависимой памяти. При таком подходе необходимо сохранять корректными только обновления и их можно переносить на диск в любом порядке и в тот момент, когда это удобнее. Еще один подход состоит в группировке каждого множества зависимых обновлений в виде атомарной операции в сочетании с определенной формой регистрации записи с упреждением [Chutani et al, 1992; Hagmann, 1987; NCR_Corporation, 1992] или с использованием таблиц теневых страниц [Chamberlin et al, 1981; Chao et al, 1992; Rosenblum & Ousterhout, 1991; Stonebraker, 1987]. В общем и целом эти подходы расширяют образ диска за счет дополнительной информации, которая может использоваться для восстановления перенесенных на диск значений метаданных после любой системной ошибки за исключением случая повреждения физического носителя. Многие современные файловые системы для повышения производительности по сравнению с подходом, предусматривающим синхронные операции записи на диск, успешно используют регистрацию записей с упреждением.

В статье [Ganger & Patt, 1994] был предложен альтернативный подход, получивший название мягкие обновления. В этой же статье была дана оценка его применения в рамках исследовательского прототипа. Файловая система с мягкими обновлениями для изменения метаданных использует отложенные операции записи на диск (то есть кэширование с отложенной записью), контролирует зависимости между обновлениями и выполняет эти зависимости в момент отложенной записи. Поскольку большинство блоков метаданных содержит множество указателей, в тех случаях, когда зависимости записываются только на уровне блоков, часто возникают циклические зависимости. Поэтому мягкие обновления отслеживают зависимости на уровне каждого из указателей, что позволяет записывать блоки в произвольном порядке. Любые обновления со статическими зависимостями в блоке метаданных перед записью блока возвращаются в предыдущее состояние, а после записи - восстанавливаются. Таким образом, циклы зависимостей с выполнением транзакции, ликвидируются. При использовании мягких обновлений приложения всегда «видят» самые последние копии блоков метаданных, а на диске всегда размещаются копии, согласующиеся с другим содержимым.

В данной статье мы описываем интеграцию мягких обновлений в 4.4BSD FFS, используемую в операционных системах NetBSD, OpenBSD, FreeBSD и BSDI. При этом мы обсудим накопленный в процессе работы опыт и расскажем об аспектах, оказавшихся сложнее, чем предполагалось в исследовательских проектах. Как зачастую бывает в подобных случаях, побочные операции, такие, как ограничение использования основной памяти, применяемой при отслеживании зависимостей, полная реализация fsync, семантика системных вызовов, корректное выявление и обработка утерянных ресурсов в fsck, а также четкое и рациональное завершение системного вызова unmount, требуют определенного обдумывания и, в результате, приводят к усложнению кода. Несмотря на эти трудности, опыт эксплуатации системы подтвердил расчеты по производительности, сделанные во время проводимых ранее исследований. В первую очередь необходимо отметить, что использование мягких обновлений в BSD FFS позволяет отказаться от большинства синхронных операций записи на диск и обеспечить производительность, которая на отличается от идеальной на 5%. В то же самое время мягкие обновления позволяют BSD FFS обеспечить более ясную семантику, строгую целостность и гарантии защиты, а кроме того - быстрое восстановление после сбоев (после системного сбоя для дальнейшей безопасной работы использование fsck не требуется).

Зависимости обновлений в быстрой файловой системе BSD

Ряд важных операций файловой системы состоят из серии последовательных модификаций отдельных структур метаданных. Чтобы гарантировать надежное восстановление в случае возникновения непредсказуемых ошибок, зачастую модификации в постоянной памяти должны выполняться в строго определенном порядке. К примеру, при создании нового файла файловая система резервирует индексный дескриптор, инициализирует его и создает в каталоге элемент, который на него указывает. Если работа системы прервана после того, как новый элемент каталога был записана на диск, но до того, как был записан проинициализированный индексный дескриптор файла, согласованность может быть нарушена, поскольку содержимое индексного дескриптора файла на диске некорректно. Чтобы гарантировать согласованность метаданных, проинициализированный индексный дескриптор файла должен быть записан в постоянную память до записи нового элемента каталога. Мы называем это требование зависимостью обновления, поскольку безопасная запись элемента каталога существенно зависит от того, был ли первым записан индексный дескриптор файла. Упорядоченные ограничения определяются тремя простыми правилами.

1) Никогда не определяется указатель на структуру до тех пор, пока она не проинициализирована (например, индексный дескриптор файла должен быть проинициализирован до элемента каталога, который на него ссылается).


17.07.1999г


Комментарии:


Для того, чтобы оставить комментарий авторизуйтесь или зарегистрируйтесь.

Новости ОСП-ТВ - 03.09.10


30/05/2007 №04

Миражи интеграции
Герман Хохлов
ИТ-рынок наконец-то осознал необходимость интеграции приложений — интеграционные платформы сегодня на пике популярности, а еще пару лет назад приходилось убеждать, что интегрировать лучше «на шине», чем с помощью прямых интерфейсов. Однако сегодня ожидания от внедрения интеграционных платформ часто значительно превосходят их реальные возможности. Мало того, встречаются даже случаи, когда шины рассматриваются как волшебные палочки, решающие все проблемы автоматизации и бизнеса. Интеграция приложений и интеграционные платформы постепенно становятся существенной статьей ИТ-бюджета.
Виртуализация: за и против
Александр Замятин
Сегодня технологии виртуализации вызывают большой интерес со стороны всех участников ИТ-рынка — все больше заказчиков видят в ИТ реальный инструмент бизнеса и все меньше внимания потребители информационных услуг уделяют оборудованию и программным средствам, на которых будет выполняться интересующая их задача. ИТ-инфраструктура все чаще оценивается как единое информационное поле, позволяющее получать, структурировать, обрабатывать и хранить необходимую компании информацию. Концепции виртуализации, начавшие развиваться около 40 лет назад, стали ответом на эти требования, однако виртуализация таит в себе не только преимущества.
Scrum: гибкое управление разработкой
Михаил Борисов
В большинстве случаев программирование — сложный, слабо определенный процесс, требующий от разработчиков творческого подхода. Различные agile-технологии позволяют организовать процесс постепенного приближения к цели проекта путем проведения циклов испытаний с корректировкой последующих, основанных на анализе результатов предыдущих. Scrum — одна из первых методологий циклического наращивания функциональности и корректировки хода проекта на основе анализа обратной связи от пользователей. Методология Scrum устанавливает правила управления процессом разработки и позволяет использовать уже существующие практики кодирования, корректируя требования или внося тактические изменения. Использование этой методологии дает возможность выявлять и устранять отклонения от желаемого результата на более ранних этапах разработки программного продукта.
Метрики управления качеством защиты приложений
Гуннар Петерсон, Элизабет Николс
Функциональность Web-приложений и их пользовательская база развиваются одновременно с ростом угроз, и хотя специальное оборудование (например, сетевые экраны) играет важную роль в деле защиты приложений, для обеспечения их полной безопасности одного оборудования недостаточно. Все эти устройства обеспечивают защиту хостов и средств связи, но почти бессильны перед атаками на сами программные модули или дизайн (интерфейсные экраны) приложения, поэтому предприятия должны сосредоточиться на усилении защиты Web-приложений. Однако здесь сразу появляется ряд вопросов. Какие проблемы могут возникнуть у моих программ? Насколько установленные приложения уязвимы перед лицом наиболее общих угроз? Какие изменения в цикле разработки программного обеспечения могут повлиять на защиту этих уязвимых мест?
Комбайн автоматизации
Александр Александров
Корпоративные платформы управления бизнес-процессами претендуют на то, чтобы, отделив логику выполнения процессов от их программной реализации, включить в единый цикл взаимодействие людей, потоки документов, распределенные информационные системы и базы данных. Когда появился такой «комбайн» с возможностью объединения анализа и моделирования процессов, управления действиями людей и работой информационных систем при обеспечении мониторинга и оптимизации производительности на протяжении жизненного цикла процессов, потребовалось переосмысление организации системы управления бизнес-процессами.
BPM со всех сторон
Наталья Дубова
Ежегодная конференция «Управление бизнес-процессами на предприятии: интеграция в корпоративные системы» вновь собрала полную аудиторию. С чем связан повышенный интерес к BPM и какие решения в данной области предлагаются сегодня отечественному бизнесу? Дисциплина управления бизнес-процессами сложилась в последнее десятилетие в ответ на неэффективную организацию бизнеса по функциональным подразделениям и избыточную сложность предлагаемых подходов к реинжинирингу бизнес-процессов, обычно предписывающих полную и одномоментную перестройку процессов из состояния «как есть» в состояние «как должно быть».
Транзакционная память — первые шаги
Леонид Черняк
Память современных компьютеров в принципе отличается от легендарных ферритовых колечек только своей емкостью и быстродействием: она последовательна по своей природе. С появлением многоядерных процессоров возникает необходимость в альтернативных решениях. Возможно, таким решением станет транзакционная память.



Эта рубрика в архиве
Список номеров за



Инфозоны

Решения Oracle

10-кратная эффективность

Оцените возможности снижения затрат и улучшения ключевых показателей работы системы с новой СУБД Oracle Database 11g Release 2!

Финансы для НТВ

Телекомпания НТВ совершенствует систему финансового управления с помощью Oracle E-Business Suite.

Аналитика нового поколения

Полный спектр современных технологий и методов бизнес-анализа в среде Oracle BI.

Спортивный интерес

Торговая сеть СПОРТМАСТЕР анализирует миллиард записей за четыре секунды!


OSP.RU :: Написать письмо.