Сравнительный анализ современных средств управления связями между программными объектами Научный руководитель: Илюшин А.И. Золотых Алексей
Система хранения прикладных объектов Вычислительный объект Представление физической области (набор матриц, векторов и скаляров + алгоритм счета ) Хранилище объектов Программный объект Представление вычислительного объекта в МВС (множество несмежных областей оперативной памяти, в которых хранятся данные и программы) Сериализованное представление Одномерный массив байт
Система управления связями между прикладными объектами Прикладной объект Система RPC Прикладной объект RPC = Remote Procedure Call Вообще говоря, объекты могут располагаться на разных компьютерах
Общая цель – создать систему управления вычислительными моделями для МВС Желаемый результат: локальность программирования для прикладного программиста прикладной программист получает средства для создания и хранения вычислительных моделей в виде множества программных объектов на дисках; система управления автоматически распределяет объекты по процессорам, входящим в состав МВС – Требуются средства управления связями; система управления обеспечивает синхронизацию взаимодействия объектов по их локальным временам – Требуются средства управления связями; система управления определяет связи между объектами по их локальным координатам – Требуются средства управления связями; система управления обеспечивает сохранение состояния модели в процессе счета с возможностью прерывания и возобновления счета в том числе и на другой МВС.
Критерии сравнения : 1.Необходимая функциональность: - возможность связывания объектов в конкретную систему с помощью передачи ссылок друг на друга как параметров вызовов и хранения этих ссылок в собственных переменных объектов. Распределенный и локальный случаи идентичны по синтаксису. -возможность вызова процедуры в удаленном объекте по ссылке на него. Распределенный и локальный случаи идентичны по синтаксису. -Наличие специальных каталогов, в которых можно сохранять пары «имя объекта – ссылка на объект»,с целью последующего поиска объектов по их именам. Цель работы – сравнительный анализ средств управления связями между программными объектами
2. Производительность: -величина накладных расходов для любого вызова – время вызова «пустой» процедуры. -время передачи массива эталонной длины. 3. Простота использования 4. Надежность
Рассмотренные системы: PYRO(Python Remote Objects) RMI(Remote Method Invocation) XML-RCP(XML-Remote Call Procedure) ICE(Internet Communications Engine)
Функциональность PYROICERMIXML-RCP Связывание объектов с помощью передачи ссылок как параметров ++-- Вызов удаленного объекта по ссылке +++- Каталоги (имя – ссылка) +-+-
PicklecPickleMarshal+ cPickle Marshal+ base64 1x x x x x x x Производительность XML-RCP при различных методах сериализации
Производительность методов удаленных вызовов ICEXMLRCPPYRORMI 1x x x x x x x x x
Простота и надежность PYRO-9 баллов RMI-5 баллов XMLRCP-7 баллов ICE-4 балла
Оптимальным для реализации удаленных вызовов в рамках проекта OST видится метод PYRO, как лучший из методов удаленных вызовов в рамках данного сравнения. (на этом слайде не очень хочется писать много текста – расскажу устно о причинах, подробнее в тексте самой курсовой работы) Итоговое сравнение
Результаты работы Реализованы примеры использования различных систем удаленного вызова (PYRO, RMI, XML-RCP, ICE) Проведен сравнительный анализ реализованных примеров и по итогам выбран PYRO, как наиболее удобный для системы OST Проведен сравнительный анализ скорости передачи данных, используя различные сериализации(pickle/cPickle, cPickle+marshal, cPickle+base.64)