0
Система распределенного
тестирования машинного
перевода
Система распределенного тестирования машинного перевода
История возникновения системы
•В проекте машинного перевода заняты...
Система распределенного тестирования машинного перевода
Требования к системе
•Производительность.
Необходимо было обеспечи...
Система распределенного тестирования машинного перевода
Типичные проблемы,
возникающие при построении
больших распределенн...
Система распределенного тестирования машинного перевода
Вариант архитектуры 1
База данных
переводов
Клиентские
машины
Пере...
Система распределенного тестирования машинного перевода
Вариант архитектуры 2
Сервер управления
распределенной
системой.
К...
Система распределенного тестирования машинного перевода
Вариант архитектуры 3
Центральный серевер,
содержащий
базу данных ...
Система распределенного тестирования машинного перевода
Архитектура
•В реальности был выбран 3-й вариант, содержащий в одн...
Система распределенного тестирования машинного перевода
Внутреннее устройство
•Единица работы для клиента – задание. Задан...
Система распределенного тестирования машинного перевода
Очередь заданий и пул пакетов
•Для того чтобы не работать одноврем...
Система распределенного тестирования машинного перевода
Обеспечение надежности и борьба
с отказами
•Транзакционность
Не до...
Система распределенного тестирования машинного перевода
Обеспечение надежности и борьба
с отказами
•Восстановление инвариа...
Система распределенного тестирования машинного перевода
Обеспечение надежности и борьба
с отказами
•Формальное доказательс...
Система распределенного тестирования машинного перевода
Оптимизация
•Специфика нашей системы в том, что с одним заданием с...
Система распределенного тестирования машинного перевода
Администрирование
•Для уменьшения затрат времени на администрирова...
Система распределенного тестирования машинного перевода
Спасибо за внимание!
Upcoming SlideShare
Loading in...5
×

Руслан Гаращук, ABBYY, - Распределенная система тестирования машинного перевода

836

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
836
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Руслан Гаращук, ABBYY, - Распределенная система тестирования машинного перевода "

  1. 1. Система распределенного тестирования машинного перевода
  2. 2. Система распределенного тестирования машинного перевода История возникновения системы •В проекте машинного перевода заняты несколько десятков человек. •И программисты, и лингвисты постоянно вносят изменения. •Для надежного тестирования изменений необходимо перевести более 10 тысяч предложений. •На одном компьютере эта задача невыполнима.
  3. 3. Система распределенного тестирования машинного перевода Требования к системе •Производительность. Необходимо было обеспечить время получения результата при пиковой нагрузке около10 мин. •Масштабируемость. Система должна переносить увеличение числа переводящих ядер в 2 раза. •Надежность и отказоустойчивость. Про систему, состоящую из нескольких сотен элементов, с уверенностью можно сказать: “Если в системе есть ошибка, она обязательно проявится.” Т.к. цена простоя системы очень велика, особое внимание при проектировании уделялось надежности.
  4. 4. Система распределенного тестирования машинного перевода Типичные проблемы, возникающие при построении больших распределенных систем •Конфликты при одновременном доступе к ресурсам Очень многим элементам системы может понадобиться один и тот же ресурс, например, файл. Способы решения: очереди к ресурсам, создание копий ресурсов. •Проблема тестирования При тестировании тяжело воспроизвести ситуацию экстремальной нагрузки. Т.е. часть проблем выясняется при пробном пуске. Система должна иметь очень развитую диагностику, чтобы за минимальное время выявить проблему. При пуске в эксплуатацию новой версии нужно предусматривать быстрый откат к предыдущей версии.
  5. 5. Система распределенного тестирования машинного перевода Вариант архитектуры 1 База данных переводов Клиентские машины Переводящие станции
  6. 6. Система распределенного тестирования машинного перевода Вариант архитектуры 2 Сервер управления распределенной системой. Клиентские машины Переводящие станции База данных переводов
  7. 7. Система распределенного тестирования машинного перевода Вариант архитектуры 3 Центральный серевер, содержащий базу данных переводов и управление распределенной системой. Клиентские машины Переводящие станции
  8. 8. Система распределенного тестирования машинного перевода Архитектура •В реальности был выбран 3-й вариант, содержащий в одной базе данных и переводы, и систему управления. •В такой системе клиенты ничего не знают о станциях перевода, знают только о базе данных переводов. •Если клиент что-то хочет перевести, он создает задание в базе. •Станции перевода ничего не знают о клиентах, знают только о базе данных переводов. •Основной цикл работы станции перевода: Запросить из базы задание и, если есть, – выполнить.
  9. 9. Система распределенного тестирования машинного перевода Внутреннее устройство •Единица работы для клиента – задание. Задание состоит из множества примеров и бинарных компонентов, осуществляющих перевод. •Создание задания полностью лежит на клиенте. Т.к. кроме множества примеров задание содержит еще и бинарные компоненты, клиент отправляет бинарные компоненты на случайную станцию перевода. •В процессе создания задание режется на пакеты. •Пакет – единица работы для станции перевода.
  10. 10. Система распределенного тестирования машинного перевода Очередь заданий и пул пакетов •Для того чтобы не работать одновременно с большим количеством заданий, задания ставятся в очередь. Активны, т.е. переводятся, только несколько первых в очереди. •Пул пакетов формируется из пакетов активных заданий. Станции перевода берут пакеты только из пула. Пул пакетов Активные задания
  11. 11. Система распределенного тестирования машинного перевода Обеспечение надежности и борьба с отказами •Транзакционность Не должно существовать действий, про которые какой-нибудь элемент системы может подумать, что он завершен, а он на самом деле не завершен. Транзакционным должно быть, в том числе, и копирование файлов. •Повторение неудавшихся действий Например, если компьютер, на котором лежит нужный файл, вышел из строя, нужно просигнализировать, что такого файла в нужном месте нет, и запросить его еще раз. Конечно, таких попыток не должно быть слишком много.
  12. 12. Система распределенного тестирования машинного перевода Обеспечение надежности и борьба с отказами •Восстановление инвариантов Пакет в нашей системе может находиться в трех состояниях: •Не поступил в обработку. •Отдан на обработку на станцию Х, и эта станция единственна. •Обработан. Если пакет отдан на обработку на станцию X, а станция не подает признаков жизни, пакет нужно вернуть в состояние “не поступил в обработку”.
  13. 13. Система распределенного тестирования машинного перевода Обеспечение надежности и борьба с отказами •Формальное доказательство правильности важных алгоритмов. •Мы, например, доказывали следующее утверждение: Каждое задание, поступившее в систему, будет переведено. Это значит, что: •Каждое задание, поставленное в очередь, поступит в обработку. •Каждый пакет активного задания поступит в обработку. •Каждый пакет, поступивший в обработку, будет переведен.
  14. 14. Система распределенного тестирования машинного перевода Оптимизация •Специфика нашей системы в том, что с одним заданием связан большой объем бинарных данных. Чтобы уменьшить количество копирований, мы стараемся минимизировать количество компьютеров, участвующих в одном задании. •Для устранения узких мест мы регистрируем все копии файлов, находящихся в системе. Станция, которой необходим файл, случайно выбирает одно из мест, где лежит этот файл. •Для борьбы с эффектом последнего пакета мы делаем пакеты двух размеров: большие и маленькие. Первыми в обработку поступают большие пакеты. Пакеты одного размера Пакеты двух разных размеров
  15. 15. Система распределенного тестирования машинного перевода Администрирование •Для уменьшения затрат времени на администрирование, все основные операции автоматизированы. •Переустановка бинарных компонентов на переводящих станциях после выхода нового билда происходит полностью автоматически. •Включение в систему новой станции делается нажатием одной кнопки.
  16. 16. Система распределенного тестирования машинного перевода Спасибо за внимание!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×