автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Исследование межплатформенной переносимости прикладных программ
Введение 2005 год, диссертация по информатике, вычислительной технике и управлению, Каменщиков, Михаил Александрович
ПОЛОЖЕНИЯ, ВЫНОСИМЫЕ НА ЗАЩИТУ.8
ГЛАВА 1. ПРОБЛЕМА МЕЖПЛАТФОРМЕННОЙ ПЕРЕНОСИМОСТИ ПРИКЛАДНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.9
1.1. ПРИНЦИПЫ И ТЕХНОЛОГИЯ ОТКРЫТЫХ СИСТЕМ.9
1.1.1. Принципы открытых chcilm.9 1.I.1. Определение открытой системы.9
1.1.1.2. Модульность IUI.10
1.1.1.3. Переносимость 1111.10
1.1.1.4. Понятие API.'.13
1.1.1.2. Эталонная модель среды открытых систем и ее расширения.14
1.1.1.3. ста! 1дарты POSIX.16
1.1.1.4. Windows и POSIX.19
1.1.1.5. языки программирования, пригодные для написания iii реносимых прикладных программ.20
1.1.1.6. Технология открытых систем: Основные этапы.24 /. 1.6.1. Выбор модели.26
1.1.1.6.2. Построение профтей.26
1.1.1.6.3. Составление спецификаций и закупка аппаратных и программных средств.27
1.1.1.6.4. Разработка приложений.27
1.1.1.7. Основные принципы тестирования и сертификации ПП.27
1.2. МАЛЫЕ И КРУПНОМАСШТАБНЫЕ ЗАДАЧИ.29
1.3. ВЫЧИСЛИТЕЛЬНЫЙ ЭКСПЕРИМЕНТ, КАК ПРИМЕР КРУПНОМАСШТАБНОЙ ЗАДАЧИ.32
1.3.1. основы вычислительного эксш рим! hta.32
1.3.2. ml сто вычислительного эксш рим1 ига в системе научных исследовании, 110 iip! имущ! ctba ii недостатки.33
1.3.3. цикл вычислительного эксперимента.34
1.3.4. вычислительный эксперимент ii переносимость ПГ1.36
1.4. КЛАССИФИКАЦИЯ ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ РЕСУРСОВ.37
1.4.1. Суперкомпьютеры.37
1.4.2. Классификация Флина.38
1.4.3. Классификация по способам организации памяти.40
1.4.4. Организация стандартизованного доступа к супер-ЭВМ.47
1.4.5. Технологии GRID.49
1.4.5.1. Проблема GRID.49
1.4.5.2. Основные понятия GRID.51
1.4.5.3. Сервисы GRID.52
1.4.5.4. Архитектура GRID.54
1.5. ВЫВОДЫ ПО ГЛАВЕ 1 (ПОСТАНОВКА ЗАДАЧИ).61
ГЛАВА 2. ПЕРЕХОД НА ОТКРЫТОЕ ПО И АНАЛИЗ ПРОБЛЕМ ПЕРЕНОСИМОСТИ 1111 ПРИ РЕШЕНИИ МАЛЫХ ЗАДАЧ.63
2.1. ОТКРЫТОЕ И ЗАКРЫТОЕ ПО.63
2.1.1. Открытое и закрытое ПО.63
2.1.2. ПО с открытым кодом (Open Source Software).67
2.1.3. Бинарные и текстовые форматы, открытые и закрытые.68
2.1.4. General public license (GPL).69
2.1.5. г1р1 имущ1 ctba открытого по.69
2.1.6. H г достатки открытого ПО (накладные расходы).71
2.1.7. Средства разработки.72
2.2. РАЗВИТИЕ ТЕНДЕНЦИЙ ПО ПЕРЕХОДУ IIA ОТКРЫТОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.73
2.3. АНАЛИЗ ПРОБЛЕМ ПЕРЕНОСИМОСТИ В ЗАДАЧАХ УПРАВЛЕНИЯ ГОРОДСКИМ ХОЗЯЙСТВОМ.77
2.4. ТРЕБОВАНИЯ К ПЕРЕНОСИМЫМ ПГ1.„87
2.4Л:ОБЩИЕ РЕКОМЕНДАЦИИ РАЗРАБОТЧИКАМ ПЕРЕНОСИМЫХ ПГ1.Н7
2.4.2. ТЕХНИЧЕСКИЕ УСЛОВИЯ НА ПЕРЕНОСИМЫЕ ПП.90
2.4.3. РАСШИРЕНИЕ НАБОРА СТАНДАРТОВ.91
2.5. ВЫВОДЫ ПО ГЛАВЕ 2.92
ГЛАВА 3. ОСОБЕННОСТИ ПРОБЛЕМ ПЕРЕНОСИМОСТИ ПРИ РЕШЕНИИ
КРУПНОМАСШТАБНЫХ ЗАДАЧ.94
3.1. СИНТЕЗ МОДЕЛЕЙ ВЭ И СРЕДЫ ОТКРЫТЫХ СИСТЕМ.94
3.2. НЕОБХОДИМОСТЬ РАСПАРАЛЛЕЛИВАНИЯ ПРОГРАММ.97
3.2.1.выбор API параллельного программирования.99
3.2.2. Достоинства и недостатки MPI.107
3.2.3. Использование иарадш:льных библиотек, отличных от MPI.108
3.2.4. Особенности работы на неоднородных кластерах.109
3.2.5. Особенности работы с диском.110
3.3. ТРЕБОВАНИЯ К ПП ДЛЯ РЕШЕНИЯ КРУПНОМАСШТАБНЫХ ЗАДАЧ.111
3.4. РАЗРАБОТКА И ИСПОЛЬЗОВАНИЕ БИБЛИОТЕКИ ЭМУЛЯЦИИ ОБЩЕЙ ПАМЯТИ.113
3.4.1. Пере носимостьпрограмм на суперкомпьютер.114
3.4.2. Программа на MPI.114
3.4.3. Библиотеки эмуляции общей памяти.116
3.4.4. Использование библиотеки.117
3.4.5. Реализация библиотеки.120
3.5. ВЫВОДЫ ПО ГЛАВЕ 3.124
ГЛАВА 4. ЭКСПЕРИМЕНТАЛЬНАЯ ПРОВЕРКА ПЕРЕНОСИМОСТИ НИ (АТТЕСТАЦИОННОЕ ТЕСТИРОВАНИЕ).125
4.1. СОЗДАНИЕ СРЕДСТВ АТТЕСТАЦИОННОГО ТЕСТИРОВАНИЯ ПП.125
4.1. Методология тестирования.125
4.1.1. Уровни тестирования.126
4.1.2. Уровни сложности элементов тестирования:.127
4.1.3. Классификация тестовых утверждений.128
4.1.4. Написание тестовых утверждений.130
4.1.2. Методика тестирования.140
4.1.3. Алгоритм тестирования.143
4.1.4. Прог раммное обеспечение для проведения автоматического тестирования прикладных программна межплатформенную переносимость.145
4.1.4.1. Общее описание функционирования программы.146
4.1.4.2. Описание логики (Алгоритм по шагам).147
4.2. ЭКСПЕРИМЕНТАЛЬНОЕ ТЕСТИРОВАНИЕ ПП.150
4.2.1. Результаты тестирования прикладных программ.150
4.2.2. Основные направления развития работ по сертификации.157
4.2.3. "Сертификат соответствия" стандартам POS1X.159
4.3. ВЫВОДЫ ПО ГЛАВЕ 4.160
ЗАКЛЮЧЕНИЕ.161
ЛИТЕРАТУРА.!.163
СТАНДАРТЫ.166
WEB РЕСУРСЫ.166
ПРИЛОЖЕНИЯ.168
ПРИЛОЖЕНИЕ 1. ОПРЕДЕЛЕНИЯ.168
ПРИЛОЖЕНИЕ 2. ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ.179
ПРИЛОЖЕНИЕ 3. АКТЫ О ВНЕДРЕНИИ.182
Введение—- - —— - —=
Проблема межплатформенной переносимости прикладных программ хорошо осознана и решается с помощью стандартизации интерфейсов программного окружения, в частности, операционных систем. Толчком к созданию стандартов POSIX1, описывающих переносимый интерфейс операционных систем, явилась несовместимость различных диалектов UNIX. Стандарты POSIX составлялись на основе анализа наиболее популярных из существующих реализаций UNIX и развиваются до сих пор. Они являются основой единой спецификации UNIX (Single Unix Specification) [unix.org]. Гибкость и переносимость, присущая ПО с открытым кодом, привела к тому, что такие программы стали популярными как в мире серверного программного обеспечения, так и в мире встраиваемых систем: бортовых компьютеров ракет, карманных компьютеров, смартфонов. В обеих областях наблюдается разнообразие процессоров и платформ, что делает необходимым адаптацию под них операционной системы и необходимого прикладного программного обеспечения. Серверное программное обеспечение требует также гибкого конфигурирования под нужды пользователя.
Тем не менее, проблеме переносимости и доступности в исходных кодах до недавнего времени уделялось недостаточно внимания. В сфере настольных же компьютеров и ноутбуков наблюдается относительное единообразие, доминируют процессоры фирмы Intel и программно совместимые с ними процессоры других производителей (AMD, VIA), в программной сфере доминируют операционные системы от Microsoft. Однако, при этом растет популярность операционной системы Linux (поставляемой в открытых кодах, получившей поддержку на государственном уровне во многих странах), а также других Unix-систем, таких как FreeBSD. Большое количество программ существует сейчас только в среде Windows, что, в частности, обусловлено ее монопольным положением на рынке, а также более удобными средствами
1 Определения терминов даны в Приложении 2, обозначения и сокращения расшифрованы в Приложении 3 4 разработки.для этой.ОС. В связи сэтим, вопросы переносимости приложений становятся все более актуальными. Этому, в частности, посвящены книги [1-5]. В настоящее время ощущается недостаток средств, которые позволили бы автоматизированно тестировать приложения на переносимость, упрощая задачу их переноса на POSIX-совместимые системы путем выявления мест в программах, которые не соответствуют стандартам и могут вызвать проблемы переносимости, хотя стандарты POSIX предлагают методологию тестирования на соответствие им как операционных систем, так и приложений. Восполнить этот пробел — одна из целей настоящей диссертации.
При создании любой программы необходимы две части: компилятор, создающий исполняемую версию программы, и среда исполнения: операционная система, включая надстройки над ней. Для интерпретируемых программ, которые не компилируются в машинный код, эта среда называется интерпретатором, и программа взаимодействует с ОС не напрямую, а через него. Решение проблемы переносимости заключается в стандартизации обеих частей - компилятора (языка программирования) и интерфейсов среды исполнения. Переносимость, как правило, достигается на уровне исходных текстов программ. Бинарная переносимость (переносимость исполняемого кода) возможна для откомпилированных версий интерпретируемых программ или, иногда, для различных версий Unix, на одной аппаратной платформе.
Для ряда компилируемых языков, в первую очередь Си/Си++, определены прямые интерфейсы POSIX к операционной системе. Для других, более высокоуровневых языков программирования решение, проблемы переносимости сводится к переносу компилятора (среды разработки), которые написаны на другом языке, и, в конечном итоге, в большинстве случаев, к переносу программ, написанных на Си или Си++.
В настоящее время во многих странах широко обсуждается перевод государственных учреждений на ПО с открытым исходным кодом, открытые операционные системы (главным образом различные варианты Linux). Это выгодно по экономическим соображениям, а также но соображениям
-безопасности—и—независимости—от-=г конкретных поставщиков. Огромное, количество ПО существует только в версиях под Windows, что связано, на наш взгляд, в частности, с более удобными средствами разработки программ для этой ОС, по сравнению с их аналогами под Linux. "Интерфейс среды разработки Forte for Java напоминает ранние версии Visual Basic" [1]. Сказанное относится к клиентскому ПО, на серверах клоны Unix гораздо более популярны, чем на клиентах. В то же время, разработчики операционной системы Windows ориентируются на корпоративные стандарты WinAPI и не заинтересованы в переносимости Windows приложений ради сохранения монопольного положения на рынке. Поддержка интерфейсов POSIX в Windows ограничена и возможна с использованием эмуляторов, разработанных сторонними компаниями. Существуют также эмуляторы WinAPI для UNIX систем [CygWin.com].
Проблема переносимости возникает для программ из различных областей, малых и больших (ординарных и крупномасштабных), клиентских и серверных. Малыми задачами мы будем называть те, для которых достаточно мощности персонального компьютера. Однако, это понятие является условным, так как максимальная мощность персонального компьютера все время растет. Это касается и научных задач вычислительного эксперимента. Типичной является ситуация, когда задача, которая первоначально казалась малой, в процессе изменения требований к программе для получения физически значимых результатов может потребовать очень больших ресурсов. Вот почему важно изначально создавать программу с учетом требований переносимости ПП.
В диссертации сформулированы требования к переносимым ПП, выдвигаемые стандартами POSIX. Это актуально для всех типов приложений. Особое внимание уделяется также крупномасштабным программам на примере программ вычислительного эксперимента. Показано, что в этой области в связи с многообразием платформ, в особенности в среде GRID, проблема переносимости стоит особенно остро. В список стандартизованных средств для решения крупномасштабных задач вычислительного эксперимента необходимо включить специализированные стандарты для создания параллельных программ. Показано, что в качестве стандарта, обеспечивающего максимальную переносимость, целесообразно выбрать MPI 1.1.
Впервые осуществлен синтез моделей вычислительного эксперимента и модели среды открытых систем, что позволило привнести в методологию вычислительного эксперимента требования к переносимости программ. Рассмотрены основные трудности, возникающие при решении крупномасштабных программ. В частности, необходимость работы с большими массивами данных, которые не могут быть размещены в оперативной памяти одного узла массивнопараллельного суперкомпьютера, а также потребность в контрольной точке для продолжения вычислений после сбоя или истечения отведенного для задачи времени.
Для решения этой проблемы, в рамках средств, предоставляемых стандартами POSIX и MPI, создана переносимая библиотека для работы с распределенными массивами, которая может функционировать в составе пользовательской программы и не требует установки дополнительного программного обеспечения на суперкомпьютере. Библиотека позволяет также сохранять распределенные массивы данных на дисках, что облегчает создание контрольной точки программой, использующей библиотеку. Продемонстрирована возможность решения типичных проблем при решении крупномасштабных задач с использованием рекомендованных стандартных средств.
На основе формализованных требований к переносимым программам создана методика тестирования прикладных программ на переносимость, позволяющая оценивать степень соответствия программы стандартам POSIX и MPI и выявлять в программе нестандартные функции, которые могут вызвать проблемы с переносимостью. На основе методики создана программа автоматизированного тестирования на переносимость MAP, позволяющая тестировать прикладные программы на языке Си. Тестирование программ на языке Си++ тоже возможно, но менее автоматизировано.
Положения, выносимые на защиту
Положения, выносимые на защиту:
• требования к широкому классу переносимых ПП, сформулированные в виде технических условий;
• требования к крупномасштабным параллельным переносимым ПП, сформулированные на основе синтеза моделей открытых систем и вычислительного эксперимента (расширение базовых требований);
• переносимая библиотека для работы с распределенными массивами, разработанная на основе Message passing interface (MPI), обеспечивающая их создание, распределенное хранение на разных узлах суперкомпьютера, выполняющая запросы на присваивание и получение их частей, а также сохранение массивов в дисковой памяти и их восстановление;
• алгоритм и программа тестирования ПП, написанных на языке Си, на переносимость - соответствие их интерфейсов стандартам POSIX и MPI.
Заключение диссертация на тему "Исследование межплатформенной переносимости прикладных программ"
4.3. Выводы по главе 4
• Описана методология, предлагаемая стандартами POSIX для проверки прикладных программ на соответствие им;
• Впервые в России на основе созданной методики разработано программное средство для тестирования прикладных программ на языке Си на соответствие стандартам POSIX и MPI;
• Список поддерживаемых стандартов может быть расширен за счет расширения списка стандартных функций в конфигурационных файлах программы тестирования.
• Проведено опытное тестирование ряда ПП.
Заключение
1. На основе анализа литературных данных и конкретных задач проведено теоретическое и экспериментальное исследование межплатформенной переносимости прикладных программ;
2. При выполнении исследования использован т.н. POSIX-подход, аппробированный международным сообществом и основанный на использовании эталонной модели среды открытой системы и стандартных интерфейсов.
3. Показано соотношение понятий "открытое программное обеспечение" и "свободное программное обеспечение";
4. Проведено количественное исследование проблемы переносимости ПП на примере задач управления городским хозяйством. Выявлены тенденции перехода на операционные системы типа Linux, и показана частота использования различных языков программирования. Наиболее часто используются языки Си и С++.
5. Выработаны рекомендации по написанию прикладных программ на языке Си, обеспечивающие их межплатформенную переносимость. Рекомендации оформлены в виде Технических условий и могут использоваться всеми заинтересованными разработчиками.
6. Рассмотрены особенности создания переносимых прикладных программ для вычислительного эксперимента, требующих высокопроизводительных ресурсов и методов параллельного программирования, Разработанные ранее рекомендации должны быть расширены не только на стандарты POSIX, но и на стандарт параллельного программирования - Message Passing Interface.
7. Разработана переносимая реализация библиотеки эмуляции общей памяти на основе библиотеки Message Passing Interface (MPI) версии 1.1. Она обеспечивает работу с большими распределенными массивами, части которых хранятся на разных вычислительных узлах, и не требует^ предварительной установки дополнительного ПО на суперкомпьютере.
8. Разработаны Методика, алгоритм и программа тестирования, позволяющие проводить тестирование прикладных программ на соответствие стандартам POSIX и MPI., т.е проводить экспериментальную проверку переносимости ПП.
9. С помощью разработанной программы проведено опытное тестирование ряда прикладных программ, в том числе параллельных.
10.Разработанные методы и средства являются развитием в созданной ранее и запатентованной технологии открытых систем, прошли необходимую проверку, оформлены в виде нормативно-технических документов, зарегистрированы в Фонде алгоритмов и программ.
11.Разработанные методы и средства могут быть модернизированы с учетом требований других стандартов.
12.Актуальность полученных результатов будет постоянно увеличиваться в связи с созданием распределенной гетерогенной высокопроизводительной среды GRID и повсеместным переходом на свободное программное обеспечение.
Библиография Каменщиков, Михаил Александрович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
1. Эд Бредфорд, Jly Може, Кросплатформенные приложения для Linux и Windows (Linux and Windows interoperability guide) - Спб: Питер 2003. - 670 стр.
2. Линаев В В Филинов Е II Мобильность программ и данных в открытых информационных системах М.: Научная книга, 1997 - 368 с
3. Галатенко В.А. Программирование в стандарте POSIX Моства: Интренет-университет информационных технологий - ИНТУИТ.ру, 2004, 554 стр.
4. Введение в анализ информац-х технологий Сухомлин В.А.- Москва:Горячая линия-Телеком, 2003, 427 стр.
5. Технология открытых систем, под общей редакцией А.Я. Олейникова Москва : Янус-К, 2004
6. Батоврин В.К., Васютович В.В, Олейников А.Я. Методика проектирования профилей открытых систем и практика ее применения «Стандарты в проектах современных ИС» // Сборник трудов 3 всероссийской практической конференции, 2003.
7. James Isaak, Kevin Lewis, Open Systems HandBook //IEEE Standards Press 1994
8. Система добровольной сертификации средств и систем в сфере информатизации "РОСИНФОСЕРТ" под общей редакцией Шахина В.П. Москва,2000 120 стр.
9. Воеводин В.В. Воеводин Вл. В. Параллельные вычисления Спб:"БХВ-Петербург", 2002. - 600 стр.
10. А.А. Самарский Математическое моделирование. Москва:Наука, 1999
11. Горбунов-Посадов М.М. Расширяемые программы. — М.: Полиптих, 1999. — 336 с.
12. Полщанов Д. Открытые системы. Интернет-обзор (http://w^-w.delphikingdom.com/asp/viewitem.asp?catalogid=63)
13. Зайцев С.С. и др. Сервис открытых информационно-вычислительных сетей: Справочник / С.С.Зайцев, М.И.Кравцунов, С.В.Ротанов. Радио и связь, 1990. 240 с
14. Разработка параллельных программ для вычислительных кластеров и сетей, // "Информационные технологии и вычислительные системы", 2003 1-2
15. Ken Hawick, I ligh Performance Computing anjiCommunications Glossary- (http://parallel.ru/info/reference/hpccgloss.html) —
16. Тихонов A.H., Скуратов А.К., Домрачеев В.Г., Ретинская И.В. Новый этап развития и использования высокопроизводительных вычислительных ресурсов Новости исскуственного интеллекта AI NEWS, 2002 N4(52)
17. Johnston, W.E., Gannon, D. and Nitzberg, В., GRIDs as Production Computing Environments: The Engineering Aspects of NASA's Information Power GRID. In Proc. 8th IEEE Symposium on High Performance Distributed Computing, 1999, IEEE Press.
18. Chervenak, A., Foster, I., Kesselman, C., Salisbury, C. and Tuecke, S. The Data GRID: Towards an Architecture for the Distributed Management and Analysis of Large Scientific Data Sets. J. Network and Computer Applications, 2001
19. Realizing the Information Future: The Internet and Beyond. National Academy Press, 1994. 1111 p://w\ vw. n ap. ed u/read i n g roo m/bo ok s/rt i f/.
20. Butler, R., Engert, D„ Foster, I., Kesselman, C., Tuecke, S., Volmer, J. and Welch, V. Design and Deployment of a National-Scale Authentication Infrastructure. IEEE Computer, 33(12):60-66. 2000.
21. Foster, I., Kesselman, C., Tsudik, G. and Tuecke, S. A Security Architecture for Computational GRIDs. In ACM Conference on Computers and Security, 1998, 83-91.
22. Czajkowski, K„ Fitzgerald, S., Foster, I. and Kesselman, C. GRID Information Services for Distributed Resource Sharing, 2001,
23. Berman, F. High-Performance Schedulers. In Foster, I. and Kesselman, C. eds. The GRID: Blueprint for a New Computing Infrastructure, Morgan Kaufmann, 1999, 279-309. The Anatomy of the GRID 22
24. Frey, J., Foster, I., Livny, M., Tannenbaum, T. and Tuecke, S. Condor-G: A Computation Management Agent for Multi-Institutional GRIDs, University of Wisconsin Madison, 2001.
25. Abramson, D., Sosic, R., Giddy, J. and Hall, B. Nimrod: A Tool for Performing Parameterized Simulations Using Distributed Workstations. In Proc. 4th IEEE Symp. on High Performance Distributed Computing, 1995.
26. Beiriger, J., Johnson, W., Bivens, II., Humphreys, S. and Rhea, R., Constructing the ASCI GRID. In Proc. 9th IEEE Symposium on High Performance Distributed Computing, 2000, IEEE Press.
27. Allcock, В., Bester, J., Bresnahan, J., Chervenak, A.L., Foster, I., Kesselman, C., MederJB., — - NefedovarVrrQuesnel, D."andTuecke,""S.7 Secure^ Efficient Data Transport and Replica
28. Management for High-Performance Data-Intensive Computing. In Mass Storage Conference, 2001.
29. Casanova, II. and Dongarra, J. NetSolve: A Network Server for Solving Computational Science Problems. International Journal of Supercomputer Applications and High Performance Computing, 11(3):212-223. 1997.
30. Nakada, H., Sato, M. and Sekiguchi, S. Design and Implementations of Ninf: towards a Global Computing Infrastructure. Future Generation Computing Systems, 1999.
31. DeFanti, T. and Stevens, R. Teleimmersion. In Foster, I. and Kesselman, C. eds. The GRID: Blueprint for a New Computing Infrastructure, Morgan Kaufmann, 1999, 131-155.
32. Childers, L., Disz, Т., Olson, R., Рарка, M.E., Stevens, R. and Udeshi, T. Access GRID: Immersive Group-to-Group Collaborative Visualization. In Proc. 4th International Immersive Projection Technology Workshop, 2000.
33. Foster, I. and Karonis, N. A GRID-Enabled MPI: Message Passing in Heterogeneous Distributed Computing Systems. In Proc. SC'98, 1998.
34. Casanova, H., Obertelli, G., Berman, F. and Wolski, R., The AppLeS Parameter Sweep Template: User-Level Middleware for the GRID. In Proc. SC'2000, 2000.
35. Howell, J. and Kotz, D., End-to-End Authorization. In Proc. 2000 Symposium on Operating Systems Design and Implementation, 2000, USENIX Association. The Anatomy of the GRID 24
36. Jlappn Ульман "Основы программирования на PHP" ДМК- Пресс 2001
37. Стивен Шанкленд (Stephen Shankland) Торвальдс: ниспровергатель Solaris (ZDNET).
38. Технические условия на переносимые программые средства, реализованные на языке Си, документация по проекту N 4-И/03 от 13 марта 2003 года (К-28ц) Разработка средств обеспечения межплатформенной переносимости прикладных программ
39. Сергей Бобровский // "Как выбрать суперкомпьютер" PC-Week RE N19, май 2005
40. С.Немшогин, Ольга Стесик Параллельное программирование для многопроцессорных вычислительных систем ,"БХВ-Петербург", 2002 -400 стр.
41. А. А. Букатов, В. Н. Дацюк, А. И. Жегуло Программирование многопроцессорных вычислительных систем, Ростов-на-Дону 2003 (http://rsusul.rnd.runnet.ru/tutor/method/index.html)
42. Богачев К.Ю. Основы пар&члельного программирования. -М. БИНОМ. Лаборатория базовых знаний, 2003. 343 с.
43. Концепция создания интегрированной инфраструктуры развития и использования высокопроизводительных ресурсов науки и образования ФЦП "Интеграция" (http://www.cplire.ru/alt/casr/os/3l/19/index.html)
44. Проверка соответствия прикладных систем стандарту Р081Х1 /¿Открытые системы -■1992-Вын.1-С.7-13:------------" ""
45. Методика тестирования на межплатформенную переносимость прикладных программ, реализованных на языке Си, документация по проекту N 4-И/ОЗ от (К-28ц) Разработка средств обеспечения межплатформенной переносимости прикладных программ, Москва 2004
46. O/9945-1. (ANSI/IEEE Std 1003.1) Information technology Portable Operating System Interface (POSIX) 2004 Edition The Open Group Technical Standard Base Specifications, Issue 6,доступно на unix.org
47. O/IEC 14882. PROGRAMMING LANGUAGES С++
48. SO/I EC 9899. ISO/IEC 9899 Programming languages C, 1999 год
49. O/IEC, 7498. Information technology Open Systems Interconnection - Basic Reference Model
50. O/IEC, 14252.-1996 "Information technology Guide to the POSIX0 Open System Environment
51. Posix 1003.0. IEEE Std 1003.0-1995 IEEE Guide to the POSIX® Open System Environment (OSE).
52. POSIX 1003.1. см. ISO/9945-1]
53. POSIX, 1003.2. The POSIX Shell and Utilities standard, вошел в качестве части в последнююредакцию 1003.1
54. POSIX. 1. см. POSIX,1003.1]
55. POSIX.2. см. POSIX,1003.2]1. Web Ресурсы
56. Condor. http://\v\v\v.cs.\visc.edu/condor/ система для развершвания GRID CygWin] http://w\v\v.cygwin.com/
-
Похожие работы
- Оценка и прогнозирование переносимости человеком интенсивных внешних воздействий на основе анализа динамических характеристик сердечного ритма
- Повышение эффективности работы средств и систем САПР с применением технологий Internet (Intranet)
- Информационно-измерительная и управляющая система стабилизации давления добываемой газожидкостной смеси Астраханского месторождения
- Унифицированная модель обмена данными в телемедицинских информационных системах
- Алгоритмы и программы для решения задач динамики многих тел на суперЭВМ
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность