Как вы гарантируете атомарность в транзакциях и согласованность в файловой системе с агрессивным кэшированием жесткого диска и переупорядочением? - PullRequest
1 голос
/ 15 декабря 2011

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

Можно ли гарантировать атомарность (транзакции) и согласованность в таких случаях?Существуют ли какие-либо известные способы смягчения проблем с кешем?

Я прочитал одну статью по этой теме, в которой было создано решение под названием «принудительное вытеснение кеша» для решения проблемы журналирования файловых систем.В основном это состояло в заполнении кеша новыми записями, приводящими к очистке кеша.Это, однако, не практическое решение для всех случаев, поскольку в некоторых случаях сброс может занять несколько секунд.Трудно было получить больше информации.

1 Ответ

1 голос
/ 08 мая 2012

Это очень поздний ответ, но я подумал, что отвечу, если кто-то столкнется с той же проблемой.

Я один из аспирантов, которые работали над принудительным выселением кэша (CCE). Я был бы рад ответить на любые ваши вопросы. Я согласен, что для накопителей со сложным кэшем CCE может потребоваться много времени для очистки кэша.

Мы разработали новую файловую систему под названием No-Order file system (NoFS), которая позволяет избежать этой проблемы. В этой файловой системе вы можете иметь согласованность, даже если файловая система запускается поверх дисков, которые не выполняют команду flush. Вы можете прочитать об этом больше здесь: http://pages.cs.wisc.edu/~vijayc/nofs.htm

К сожалению, в настоящее время NoFS не предоставляет транзакции. Мы работаем над этой проблемой прямо сейчас в UW Madison.

...