Your SlideShare is downloading. ×
Руслан Гаращук, ABBYY, - Распределенная система тестирования машинного перевода
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

817
views

Published on


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

  • Be the first to like this

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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