Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

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

on

  • 1,061 views

 

Statistics

Views

Total Views
1,061
Views on SlideShare
1,047
Embed Views
14

Actions

Likes
0
Downloads
1
Comments
0

1 Embed 14

http://webcrunch.ru 14

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

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