The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

30.04.2010 12:12  Facebook открыл модуль Flashcache для организации кэширования на SSD-накопителях

Сервис Facebook уже не первый раз открывает свои наработки в области высокопроизводительных систем и Linux, на этот раз решено поделиться наработками в области ускорения работы сервера MySQL и других интенсивно взаимодействующих с диском приложений, за счет организации процесса прозрачного кэширования данных на быстрых SSD-накопителях.

Как известно, если у движка хранилища данных InnoDB рабочий набор данных не умещается в пуле кэша, тогда отзывчивость (latency) операций чтения сильно ухудшается. Эту проблему можно решить, если расположить рабочий набор данных на более быстром носителе информации, например, на SSD дисках. Модуль Flashcache, созданный инженерами Facebook, занимается именно этой задачей - он работает как универсальных механизм кэширования для любого приложения, работающего с блочным устройством.

Также Flashcache увеличивает скорость записи, сначала кэшируя запись на хранилище SSD, а затем неторопясь перекидывая данные на обычное хранилище стандартных вращающихся жёстких дисков. При этом операции записи не атомарны и отложенное кэширование может привести к неполной записи данных в случае экстренного отключения питания. В настоящий момент разработчики вынашивают планы по добавлению функций, которые позволят устранить данный недостаток.

Модуль выпущен и проверен для работы только в ядрах Linux 2.6.18 и 2.6.20. При работе Flashcache базируется на технологии Linux Device Mapper (DM), для вытеснения старых данных поддерживаются методы FIFO и LRU. Из дополнительных возможностей и планов отмечено: функции зеркалирования кэша на несколько SSD-накопителей; задействование команды ATA TRIM для более оптимального распределения данных по SSD; планируется более тесная интеграция с файловыми системами (сейчас кэш работает только на блочном уровне); ожидается появление гибких средств для определения контента не подлежащего кэшированию.

  1. Главная ссылка к новости (http://www.facebook.com/note.p...)
  2. OpenNews: Компания Facebook открыла код высокопроизводительного PHP транслятора
  3. OpenNews: Социальная сеть Facebook вошла в число спонсоров Apache Software Foundation
  4. OpenNews: Социальная сеть Facebook представила новый открытый web-сервер Tornado
  5. OpenNews: Устройство инфраструктуры проекта Facebook
  6. OpenNews: Facebook выпустила исходные коды части серверного ПО
Автор новости: Artem S. Tashkinov
Тип: К сведению
Ключевые слова: facebook, MySQL, cache, InnoDB
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, sluge (ok), 13:22, 30/04/2010 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    интересно, насколько эта фишка увеличивает производительность
     
  • 1.2, Анонимуз (?), 13:32, 30/04/2010 [ответить] [показать ветку] [···]    [к модератору]
  • –2 +/
    У линукса будет свой ReadyBoost, с блэкджеком и прочей атрибутикой?
     
  • 1.3, Евгений Ваганович (?), 13:43, 30/04/2010 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    Учитывая ограниченное число перезаписей на ssd - винты нужно будет менять минимум раз в год, а то и чаще.
    В итоге имеем с ssd -
    1. необходимость часто менять винты
    2. если случайно затянуть с п.1, то получим потерю данных
    3. если пропадет питание - то получим потерю данных
    Зато нужно меньше оперативы
    В итоге, скорее всего фейсбуковцы решили выкинуть "недоношенную" технологию в "массы" с надежной что кто нить это допилит - и тогда это можно будет массово использовать
     
     
  • 2.4, bart (?), 13:55, 30/04/2010 [^] [ответить]    [к модератору]
  • –2 +/
    Где то видел расчет про долговечность ssd винтов и окозалось что живут они не меньше чем hdd
     
     
  • 3.7, Имени нету (?), 14:33, 30/04/2010 [^] [ответить]    [к модератору]
  • +1 +/
    Рассчёт, не есть провереная временем практика. Теоретики как всегда такие теоретики....
     
  • 3.9, hhg (ok), 14:49, 30/04/2010 [^] [ответить]    [к модератору]  
  • +2 +/
    так это всё время приводятся расчёты для ненагруженной бытовой системы, где мало пишется и много читается.
     
     
  • 4.17, pro100master (ok), 19:03, 30/04/2010 [^] [ответить]     [к модератору]  
  • +/
    и даже в этом случае рекомендуется выключать обновления времени доступа к файлам... весь текст скрыт [показать]
     
  • 4.42, User294 (ok), 20:38, 02/05/2010 [^] [ответить]    [к модератору]  
  • +/
    Ну так фэйсбуковцы вроде ж и предлагают кешить нагрузку где в основном чтение?
     
  • 2.5, Зашифрованный (?), 14:09, 30/04/2010 [^] [ответить]    [к модератору]  
  • +/
    Зависит модели у некоторых 5млн циклов.
     
  • 2.8, sluge (ok), 14:37, 30/04/2010 [^] [ответить]    [к модератору]  
  • +1 +/
    уж фейсбук то найдет бабки на винты я думаю
     
     
  • 3.26, Евгений Ваганович (?), 05:05, 01/05/2010 [^] [ответить]     [к модератору]  
  • +/
    у фейсбука порядка 50 000 - 100 000 серверов и впиливание сырого решения с закуп... весь текст скрыт [показать]
     
     
  • 4.29, sHaggY_caT (ok), 05:50, 01/05/2010 [^] [ответить]     [к модератору]  
  • +/
    SAN рулит ... весь текст скрыт [показать]
     
  • 2.21, sHaggY_caT (ok), 23:21, 30/04/2010 [^] [ответить]     [к модератору]  
  • +/
    Кто-то отменил raid-массивы и hotspare Это да, но при определенном бюджете прое... весь текст скрыт [показать]
     
     
  • 3.27, Евгений Ваганович (?), 05:11, 01/05/2010 [^] [ответить]     [к модератору]  
  • +/
    учитывая время доступа к ssd, рейд контроллер, который сохранит данные характери... весь текст скрыт [показать]
     
     
  • 4.28, sHaggY_caT (ok), 05:23, 01/05/2010 [^] [ответить]     [к модератору]  
  • +/
    gt оверквотинг удален Лол, ssd mdraid вполне жизнеспособная конфигурация на _з... весь текст скрыт [показать]
     
     
  • 5.30, Anon Y Mous (?), 18:21, 01/05/2010 [^] [ответить]     [к модератору]  
  • +/
    А как определить, на какой половинке целостные данные, а на какой нет, чтобы выя... весь текст скрыт [показать]
     
     
  • 6.31, sHaggY_caT (ok), 18:30, 01/05/2010 [^] [ответить]     [к модератору]  
  • +/
    Никак, как и в hardware зеркале Рейд не панацея в вопросе сохранности данных эт... весь текст скрыт [показать]
     
     
  • 7.32, sHaggY_caT (ok), 19:59, 01/05/2010 [^] [ответить]    [к модератору]  
  • +/

    >raid-z не такой быстрый(в сравнении с raid10), как бы это не хотелось
    >кучи местных фанатиков.

    *куче, сорри

     
  • 7.33, Anon Y Mous (?), 20:31, 01/05/2010 [^] [ответить]     [к модератору]  
  • +/
    То есть решение получается нежизнеспособное, если даже способа определить, какой... весь текст скрыт [показать]
     
     
  • 8.34, sHaggY_caT (ok), 20:53, 01/05/2010 [^] [ответить]     [к модератору]  
  • +/
    gt оверквотинг удален Если данные оказались испорчены и нет ошибки ввода-выво... весь текст скрыт [показать]
     
     
  • 9.35, sHaggY_caT (ok), 20:58, 01/05/2010 [^] [ответить]     [к модератору]  
  • +/
    З Ы Это все лирика, и в любом случае, в реальной ситуации mirror и пятый рейд н... весь текст скрыт [показать]
     
  • 9.36, Anon Y Mous (?), 21:35, 01/05/2010 [^] [ответить]     [к модератору]  
  • +/
    Остается открытым вопрос, какую половину выбрать в качестве источника данных для... весь текст скрыт [показать]
     
     
  • 10.37, sHaggY_caT (ok), 21:44, 01/05/2010 [^] [ответить]     [к модератору]  
  • +/
    Если диски не битые, то без разницы на один диск последний флэш был на одну сек... весь текст скрыт [показать]
     
     
  • 11.38, Anon Y Mous (?), 00:26, 02/05/2010 [^] [ответить]     [к модератору]  
  • +/
    Ну почему же на одном могут быть правильные данные, на другом - нет, так что ра... весь текст скрыт [показать]
     
     
  • 12.39, sHaggY_caT (ok), 00:47, 02/05/2010 [^] [ответить]     [к модератору]  
  • +/
    Не бывает плохих или хороших данных для зеркала Зеркало вообще не проверяет кон... весь текст скрыт [показать]
     
     
  • 13.40, Anon Y Mous (?), 01:17, 02/05/2010 [^] [ответить]    [к модератору]  
  • +/
    > Я думала, тут вы запоете в очередной раз песню про чексуммы данных в zfs, и то, то hw-контроллеры не проверяют непосредственно данные, а только блоки данных в raid5/6, но, похоже, Вы про это не знали :)

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

     
     
  • 14.41, sHaggY_caT (ok), 01:38, 02/05/2010 [^] [ответить]     [к модератору]  
  • +/
    А задумывались ли Вы так ли хороша и универсальна zfs, как Вы пытаетесь показать... весь текст скрыт [показать]
     
  • 1.6, Аноним (-), 14:14, 30/04/2010 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    http://leaf.dragonflybsd.org/cgi/web-man?command=swapcache§ion=ANY
     
  • 1.10, cvsup (ok), 15:12, 30/04/2010 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    К слову, Paul Saab, автор заметки на главной ссылке - ключевой разработчик FreeBSD в прошлом (ps@freebsd.org). Там же работал(-ет) Jasone Evance - автор jemalloc.
     
     
  • 2.12, birdie (?), 16:28, 30/04/2010 [^] [ответить]    [к модератору]  
  • –1 +/
    Народ уходит из FreeBSD? Впрочем, на энтузиазме сейчас в open source мало кто работает.

    Единственно, что мне жутко не хватает в Линукс - это jail, хотя и FreeBSD'ный не самый идеальный вариант.

    Например, в jail надо закидывать все библиотеки, требуемые для запуска приложения, которое там работает, а было бы неплохо сделать виртуальную FS по типу CoW, чтобы в jail физически находились только изменённые библиотеки (если они вообще там будут изменятся ну или для совместимости лежать древние их версии).

     
     
  • 3.13, Одмин (?), 16:36, 30/04/2010 [^] [ответить]    [к модератору]  
  • +/
    Ну там есть файлуха с COW, забыл как называется. В linux есть linux containers, там даже модно ограничивать по памяти, cpu, засовывать внутрь отдельный айпишник и прописывать отдельные роутинги :). Увы, на уровне дистров поддержки нет(если в libvirt, но я не тестил) :(.
     
     
  • 4.19, бедный буратино (?), 19:07, 30/04/2010 [^] [ответить]    [к модератору]  
  • +/
    >Ну там есть файлуха с COW, забыл как называется. В linux есть
    >linux containers, там даже модно ограничивать по памяти, cpu, засовывать внутрь
    >отдельный айпишник и прописывать отдельные роутинги :). Увы, на уровне дистров
    >поддержки нет(если в libvirt, но я не тестил) :(.

    lxc уже давно в ядре.

    Это в каких дистрибутивах нет поддержки lxc? Или libvirt?

     
  • 3.15, RedRat (ok), 16:49, 30/04/2010 [^] [ответить]    [к модератору]  
  • +/
    man mount_unionfs
     
  • 3.16, cvsup (ok), 17:35, 30/04/2010 [^] [ответить]    [к модератору]  
  • +/
    Нет, скорее это говорит о квалификации разработчиков :p
    Эти люди всегда были и есть в Facebook, Yahoo!, Juniper и тому подобных конторах.
    FreeBSD - это не работа, а скорее образ жизни.
     
  • 3.18, бедный буратино (?), 19:04, 30/04/2010 [^] [ответить]    [к модератору]  
  • +/
    А чем не устраивает Linux Containers (LXC), которая именно так и работает - и как jail, и можно библиотеки не закидывать?
     
  • 3.22, sHaggY_caT (ok), 23:26, 30/04/2010 [^] [ответить]    [к модератору]  
  • +/
    >[оверквотинг удален]
    >кто работает.
    >
    >Единственно, что мне жутко не хватает в Линукс - это jail, хотя
    >и FreeBSD'ный не самый идеальный вариант.
    >
    >Например, в jail надо закидывать все библиотеки, требуемые для запуска приложения, которое
    >там работает, а было бы неплохо сделать виртуальную FS по типу
    >CoW, чтобы в jail физически находились только изменённые библиотеки (если они
    >вообще там будут изменятся ну или для совместимости лежать древние их
    >версии).

    Советую проснуться, ситуация Jails vs другие контейнеры изменилась кучу лет назад:

    а) отсуствие в апстриме (kernel.org) не означает отсутствие поддерживаемого решения (коммерчески или поддерживаемого коммюнити), и вообще мало какой дистрибутив использует ванильный кёрнель без своих патчей

    б) как уже сказали, есть LXC (имхо, еще сырой), есть OVZ(имхо, сейчас самый адекватный выбор, но нет аналога cow/vzfs), есть PVC (память/место шарятся через vzfs, но проприетарный и стоит денег)

     
  • 3.24, marten (??), 01:32, 01/05/2010 [^] [ответить]    [к модератору]  
  • +1 +/
    есть openvz. вполне себе перекрывает функционал jail
     
     
  • 4.25, sHaggY_caT (ok), 01:59, 01/05/2010 [^] [ответить]    [к модератору]  
  • +1 +/
    >есть openvz. вполне себе перекрывает функционал jail

    Причем перекрывает уже пол-десятка лет :)

     
  • 3.43, User294 (ok), 22:52, 02/05/2010 [^] [ответить]    [к модератору]  
  • +/
    >Единственно, что мне жутко не хватает в Линукс - это jail,

    Странно, учитывая что openvz сделали явно не вчера. Может быть, ручник стоит отпускать побыстрее? oO

     
  • 1.20, Терминус (?), 21:06, 30/04/2010 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    я только хотел попробовать студенческое поделие dm-cache
    http://users.cis.fiu.edu/~zhaom/dmcache/index.html

    с отличным IBM Research Report от автора
    http://domino.research.ibm.com/library/cyberdig.nsf/papers/BA52BEF8B940E74385

    как вдруг появился flashcache

    кстати у пользователей ZFS кеширование на
    более быстрых носителях уже давно есть
    http://blogs.sun.com/brendan/entry/test

     
     
  • 2.23, sHaggY_caT (ok), 23:35, 30/04/2010 [^] [ответить]    [к модератору]  
  • +/

    >кстати у пользователей ZFS кеширование на
    >более быстрых носителях уже давно есть
    >http://blogs.sun.com/brendan/entry/test

    Кстати, да, интересно :)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor