- PVSM.RU - https://www.pvsm.ru -
Предыдущая статья [1] о распознавании текста в изображениях в сервисе Evernote была посвящена в основном вопросам функциональности — что это такое, как работает и что дает платформе Evernote в целом. На этот раз мы поговорим о технической стороне вопроса.
Распознавание текста в изображениях Evernote значительно загружает вычислительный кластер, поэтому производительность и эффективность играют главную роль при оценке оборудования. После испытания нескольких различных платформ мы остановились на iX1204-563UB от iX Systems [2]. По сути это Supermicro X8DTU [3] на шасси 815TQ-563UB [4]. Каждая из 37 систем распознавания в кластере состоит из следующего железа:
CPU, RAM и прочие составляющие были выбраны по принципу компромисса между пропускной способностью и эффективностью. Ранее мы оценивали некоторые навороченные системы 2U Twin², но обнаружили, что они менее надежны при работе под постоянной большой нагрузкой, с которой им бы пришлось иметь дело. Традиционные blade-сервера также рассматривались, но в итоге оказалось, что их слишком трудно воткнуть в уже существующую инфраструктуру — особенно учитывая типичную для этих серверов 100% нагрузку.
Лежащая в основе операционная система представляет собой сборку Debian “Squeeze” (AMD64) из которой выкинуто все лишнее. Выбор пал на Debian из-за стабильности и удобства апгрейда. ОС осталась практически первозданной за исключением нескольких моментов:
Идея состояла в том, чтобы по возможности свести к минимуму число узких мест и позволить набору средств распознавания изображений спокойно заниматься своим делом. Неожиданно большое влияние оказала настройка ядра, которая привела к росту производительности на 7-30% в зависимости от различных условий. Что касается XFS, то это дало нам возможность минимизировать конфликты ввода-вывода на однодисковом томе за счет немного большего количества оперативной памяти, а также возможности переназначить файловую систему на лету.
Набор средств для распознавания изображений Evernote включает разработанное внутри компании ПО для работы с очередями на распознавание и собственно обработки изображений, а также набор механизмов распознавания, ориентированных на разные типы текста. Среди них есть как наши собственные разработки, так и лучшая в своем классе сторонняя технология от I.R.I.S. [5] Наше собственное ПО состоит из AMP (Asynchronous Media Processor, асинхронный обработчик медиа) и ENRS (Evernote Recognition Service, служба распознавания Evernote). Подробно об этом софтверном наборе мы уже писали в предыдущей статье [1], поэтому ограничимся кратким описанием:
Нагрузка от взаимодействия серверов AMP смягчается наличием собственного трансляционного домена с принудительной изоляцией через упомянутый выше 802.1Q tagged VLAN. Это позволяет серверам распознавания сообщать друг другу, с каким шардом они уже работают, и избегать дублирования, за счет чего нагрузка на основной сервис Evernote значительно снижается.
Надеемся, что наш рассказ сделал понятнее для заинтересованных читателей одну из наиболее необычных составляющих сервиса Evernote. Тема такова, что довольно сложно рассказать об этой теме подробно, но в то же время не скатываясь во второстепенные детали.
Автор: Roberto
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/raspoznavanie/3563
Ссылки в тексте:
[1] Предыдущая статья: http://habrahabr.ru/company/evernote/blog/139857/
[2] iX Systems: http://www.ixsystems.com/
[3] X8DTU: http://www.supermicro.com/products/motherboard/QPI/5500/X8DTU.cfm
[4] 815TQ-563UB: http://www.supermicro.com/products/chassis/1U/815/SC815TQ-563U.cfm
[5] I.R.I.S.: http://www.irislink.com/
Нажмите здесь для печати.