Исследование межплатформенной переносимости прикладных программ

Автор: Пользователь скрыл имя, 23 Августа 2011 в 13:30, автореферат

Краткое описание

Актуальность темы: Теоретическое и экспериментальное исследование вопросов переносимости прикладных программ (ПП) представляется достаточно актуальным. Эта актуальность тем выше, чем выше уровень гетерогенности среды и чем больше масштаб задачи, для которой создается прикладная программа. Как известно, в настоящее время большое развитие получает так называемая GRID-архитектура, представляющая собой распределенную гетерогенную высокопроизводительную среду.

Файлы: 1 файл

Автореферат Межплатформенная переносимость.doc

— 177.50 Кб (Скачать)

РОССИЙСКАЯ  АКАДЕМИЯ НАУК  
Институт радиотехники и электроники 
 
 

На  правах рукописи 
 
 

КАМЕНЩИКОВ  МИХАИЛ АЛЕКСАНДРОВИЧ 
 
 

Исследование  межплатформенной переносимости  прикладных программ 
 

    Специальность 05.13.11

      Математическое и  программное обеспечение 
вычислительных машин, комплексов  
и компьютерных сетей
 
 
 

АВТОРЕФЕРАТ

диссертации на соискание ученой степени

кандидата технических наук 
 
 
 
 

Москва

2005

 

Работа  выполнена в Институте радиотехники и электроники Российской академии наук (ИРЭ РАН) 

Научный руководитель: 

       д.т.н., проф. Олейников Александр Яковлевич 
 

Официальные оппоненты:   

         д.т.н., проф. Трахтенгерц Эдуард Анатольевич    к.т.н., проф. Лебедев Анатолий Васильевич 
 

Ведущая организация:

         Межведомственный суперкомпьютерный центр РАН (МСЦ) 

Защита  состоится "19" декабря 2005 г. в 11 часов на заседании диссертационного совета Д 002.226.03, Института проблем управления им. В.А. Трапезникова РАН, 117997, Москва, ул. Профсоюзная, д. 65. Телефон совета: 334-93-29. 
 

С диссертацией можно ознакомиться в библиотеке Института проблем управления им. В.А. Трапезникова РАН.  
 

Автореферат разослан "____"_________2005 г. 

Ученый секретарь 

Диссертационного совета, д.т.н.

Юркевич Евгений  Владимирович

 

Общая характеристика работы

 

     Актуальность  темы: Теоретическое и экспериментальное исследование вопросов переносимости прикладных программ (ПП) представляется  достаточно актуальным. Эта актуальность тем выше, чем выше уровень гетерогенности среды и чем больше масштаб задачи, для которой создается прикладная программа. Как известно, в настоящее время большое развитие получает так называемая GRID-архитектура, представляющая собой распределенную гетерогенную высокопроизводительную среду. Постоянно отмечается, что вопросы переносимости ПП в такой среде играют первостепенную роль. Проблема переносимости ПП тесно связана с проблемой так называемого "открытого программного обеспечения". Во многих странах переход на открытое программное обеспечение составляет важнейшую часть государственной политики в области информатизации. В Евросоюзе в 2005 году объявлена специальная программа работ по переходу на  открытое программное обеспечение. В нашей стране проблема перехода на открытое программное обеспечение зафиксирована  в таких программах как Федеральная целевая программа "Электронная Россия" и Городская целевая программа "Электронная Москва".

     Данная  работа выполнялась в рамках проектов РФФИ 03-07-90399-в, 05-07-08018, проекта "Развитие центра коллективного пользования высокопроизводительной обработки геопространственных данных для нужд вузовской и академической науки", Федеральной целевой программы «Интеграция», проекта Программы Президиума РАН   "Разработка фундаментальных основ создания научной распределенной информационно-вычислительной среды на основе технологий GRID" и контракта с Московским комитетом по науке и технологиям, ФЦП “Электронная Россия”.

       В данной области работают ученые: Батоврин В.К., Воеводин В.В., Галатенко В.А., Егоров Г.А., Журавлев Е.Е., Козлов В.А., Липаев В. В.,  Олейников А.Я., Петров А.Б., Сухомлин В.А., Филинов Е. Н. и другие.

     Цель  работы: Теоретическое и экспериментальное исследование проблемы межплатформенной переносимости на основе подхода POSIX, создание средств обеспечения межплатформенной переносимости.

     Задачи  исследований: для достижения поставленной цели необходимо было решить следующие задачи :

  • показать актуальность проблемы переносимости ПП на конкретных примерах;
  • выбрать подход и модель для решения проблемы  переносимости ПП;
  • провести классификацию ПП, классификацию вычислительных ресурсов, используемых для реализации ПП; классификацию стандартов POSIX;
  • выявить особенности решения задач различных классов
  • выработать рекомендации для создания переносимых ПП (малых, на примере задач городского хозяйства и крупномасштабных на примере задач вычислительного эксперимента);
  • разработать библиотеку для работы с распределенными массивами, облегчающую создание переносимых ПП в рамках приведенных требований и перенос последовательных программ в суперкомпьютерную среду.
  • разработать методы и средства для тестирования ПП на переносимость для экспериментальной проверки переносимости ПП, с целью выявления особенностей программ, препятствующих их переносимости;
  • провести экспериментальное тестирование ряда ПП.

Методы  исследований: В диссертационной работе используются принципы и технология открытых систем, методы параллельного программирования, методы тестирования. 

Положения, выносимые на защиту:

  • требования к широкому классу переносимых ПП, сформулированные в виде технических условий;
  • требования к крупномасштабным параллельным переносимым ПП, сформулированные на основе синтеза моделей открытых систем и вычислительного эксперимента (расширение базовых требований);
  • переносимая библиотека для работы с распределенными массивами, разработанная на  основе Message passing interface (MPI), обеспечивающая их создание,  распределенное хранение на разных узлах суперкомпьютера, выполняющая запросы на присваивание и получение их частей, а также сохранение массивов в дисковой памяти и их восстановление;
  • алгоритм и программа тестирования ПП, написанных на языке Си, на переносимость – соответствие их интерфейсов стандартам POSIX  и MPI.

Научная новизна: В работе впервые

  • На основе анкетирования разработчиков проведено количественное исследование проблемы переносимости ПП на примере задач управления городским хозяйством г. Москвы, и показана действительная актуальность проблемы переносимости ПП;
  • осуществлен синтез моделей вычислительного эксперимента и модели среды открытых систем, что позволило привнести в методологию вычислительного эксперимента требования к переносимости ПП;
  • создана библиотека для работы с распределенными массивами, использующая только переносимые средства POSIX и MPI;
  • показано соотношение свободного (доступного в исходных кодах) ПО  и открытого (в смысле используемых стандартов) ПО. Переносимое ПО находится в пересечении этих понятий.

Достоверность научных положений, выводов, рекомендаций обоснована использованием апробированного международным сообществом POSIX-подхода, ориентацией на международные стандарты и корректным тестированием на соответствие им.

Практическая  ценность:

Практическая  ценность полученных результатов состоит  в следующем :

  • рекомендации по созданию переносимых ПП, написанных на языке  Си, оформлены в виде Технических условий и могут использоваться всеми заинтересованными разработчиками;
  • разработана Методика тестирования ПП на соответствие стандартам POSIX, оформленная в виде проекта нормативно-технического документа;
  • разработана программа тестирования ПП на межплатформенную переносимость оформлена согласно Единой системе программной документации, зарегистрирована в Фонде алгоритмов и программ и, таким образом, является программным продуктом;
  • на программу тестирования ПП на межплатформенную переносимость получен сертификат в системе добровольной сертификации «Росинфосерт». Программа включена в число сертифицированных средств, используемых аккредитованной испытательной лабораторией Центра открытых систем ИРЭ РАН.

Апробация: Основные результаты диссертации  докладывались на следующих  конференциях: 53-я научно техническая конференция МИРЭА 17-24 мая 2004 г., Конференция аспирантов и студентов “Развитие и применение технологии открытых систем” 9 декабря 2004 года, проводившаяся в рамках конференции ЮНЕСКО, Конференция общества А.С.Попова “Цифровая обработка сигналов и ее применение”, Москва, март 2005.

Публикации: Основные результаты приведенных исследований отражены в 13 работах.

Структура и объем диссертации: Диссертация состоит из Введения, четырех глав, Заключения и трех приложений. Диссертация содержит 189 страниц, 33 рисунка, 11 таблиц.

Содержание  работы

     Во  Введении обоснована актуальность работы, определена основная цель и задачи исследования, научная новизна, практическая ценность и апробация результатов.

     В Главе I «Проблема межплатформенной переносимости прикладных программ» рассматриваются принципы открытых систем, сформулированные международными стандартизующими организациями. Создание все новых информационных систем на основе разнородных средств вычислительной техники привело к тому, что во всем мире возникла  гетерогенная электронная среда, состоящая из различных программно-аппаратных платформ. В такой среде возникает проблема совместимости. В настоящее время можно считать общепринятым, что вопросы совместимости в такой среде должны решаться за счет применения принципов открытых систем. Существо принципов открытых систем состоит в использовании стандартных интерфейсов между всеми программно-аппаратными компонентами среды. Точное определение открытой системы дано в основополагающем документе, разработанном Объединенным комитетом JTC-1 ISO/IEC TR 1425:1996, ANSI/IEEE Std. 1003.0-1995 Information Technology -  Guide to the POSIX Open systems Environment ( в дальнейшем ISO/IEC 14252):

"Открытая система - система, реализующая открытые спецификации или стандарты на интерфейсы, службы и форматы данных, достаточные для того, чтобы созданное должным образом приложение получило:

  • переносимость (мобильность) - возможность переноса с минимальными изменениями  на широкий диапазон систем;
  • взаимодействие с другими приложениями на локальных или удаленных платформах;
  • взаимодействие с пользователями в стиле, облегчающем последним переход от системы к системе (“мобильность пользователя”).

      Приведенное выше определение  дано комитетом IEEE POSIX, специально занимающимся вопросами переносимости программного обеспечения,  поэтому в дальнейшем мы будем пользоваться выражением “POSIX-подход”.

     В ISO/IEC 14252 переносимость (portability)  определяется как степень легкости, с которой приложения и данные могут быть перенесены с одной прикладной платформы на другую. Она достигается за счет унификации интерфейсов операционных систем c приложением (POSIX API).

     Приведена так называмая эталонная (базовая) модель среды открытой системы (см. Рис.1), следующая из документа ISO/IEC 14252.

Рис. 1. Эталонная модель среды открытой системы 

      В этой модели можно выделить три сущности (entity) :

  • приложение  (прикладную программу - ПП);
  • платформу;
  • внешнее окружение;

и два основных интерфейса:

  • интерфейс ПП –  платформа (в латинской транскрипции АРI);
  • интерфейс платформа - внешнее окружение (в латинской транскрипции EEI).

Интерфейсы детализируются:

в составе ИПП  определяется четыре категории интерфейсов:

  • системные,
  • коммуникационные,
  • информационные,
  • человеко-машинного взаимодействия (ИЧМ).

В составе интерфейса внешнего окружения (ИВО) (в латинской транскрипции External Environment Interface  ЕЕI) определяется три категории интерфейсов:

  • коммуникационные,
  • информационные,
  • человеко-машинного взаимодействия.

Под приложением  в данной работе будет пониматься прикладная программа (ПП). Проблема переносимости данных не рассматривается. Существо проблемы межплатформенной переносимости представлено на Рис.2

           

Рис. 2. Межплатформенная переносимость 

     Как всякий интерфейс, API состоит из двух частей. Со стороны платформы (операционной системы) разработчики позаботились о том, чтобы построить API таким образом, чтобы обеспечить соответствие стандартам POSIX, иначе эти операционные системы не выдержали бы конкуренции на рынке. Разработчики же ПП далеко не всегда учитывают проблему переносимости и поэтому не всегда выдерживают требования стандартов. Собственно это и означают слова, выделенные в приведенном выше определении открытой системы жирным шрифтом: «разработанные должным образом», и расшифровка и обсуждение этой формулировки и служит основным предметом диссертации. Должным образом - означает полное соответствие стандартам. Многие стандарты содержат около 1000 страниц, и далеко не все разработчики их внимательно изучают. Кроме того, стандарты постоянно обновляются. Как известно, однозначный ответ на вопрос, соответствует ли конкретный продукт, в данном случае ПП,  конкретному стандарту, дает так называемое аттестационное тестирование.

Информация о работе Исследование межплатформенной переносимости прикладных программ