Магистр ДонНТУ Войтенко Андрей Владимирович

Войтенко Андрей Владимирович

Факультет: Вычислительной техники и информатики

Специальность: Системное программирование

Тема выпускной работы:

Проблемно-ориентированная параллельная моделирующая среда для объектов с распределенными параметрами

Руководитель:д.т.н., профессор, заведующий кафедрой, Святный В. А.

 

Автобиография

Коротко о себе
Детство
Школьные годы
Коллеж
Институтские годы
Планы на будущее

Магистерская работа

Реферат
Библиотека
Ссылки
Отчет о поиске

Индивидуальное задание

Тренировки
Соревнования
Веселая жизнь команды
Забавные факты

ДонНТУ

Главная
Портал магистров

Контактная информация

 
Переход к использованию компьютеров с параллельной Grid-архитектурой

Название Towards a Grid Applicable Parallel Architecture Mach

Источник http://www.cro-grid.hr/hr/apps/rep/papers/GAPAM.5.doc/

Авторы Karolj Skala, Zorislav Sojat

Перевод Войтенко А.В.

Введение

      Развитие e-науки, которая, очевидно, разовьется к e-обществу, оправдывает необходимые усилия по улучшению понимания компьютерной реализации, с использованием Grid-вычислений, естественно распределенного параллелизма окружающей среды, в которой мы живем.

      Это – факт, что новые технологии, кластеры и особенно Grid-вычисления, используются при программировании задач, полностью отличных от классического одно- или много-процессорной вычислительной среды с использованием параллельной архитектуры множества независимых компьютеров, связанных при помощи различных коммуникационных сетей

      Это приводит к возникновению множества проблем в разработке жизнеспособной Grid-системы. Главные проблемы лежат в развитии такой структуры (то есть программное обеспечение, включающем промежуточное программное обеспечение), инфраструктура (то есть аппаратные средства, включая низкоуровневое программное обеспечение и встроенное программное обеспечение) и приложение (включая программу верхнего уровня и т.д.), которое может эффективно использовать различные условия выполнения программы, и фактически сделать возможным беспрепятственную интеграцию различных видов Grid оборудования, включая исходные псевдонимы научных инструментов, экспериментальные и производственные инструменты, мобильные единицы всех видов и т.д. в одну Grid-систему.

      Чтобы позволять эффективное использование мультигорода и разнообразия Grid-ресурсов, в этой статье, мы предлагаем руководство для дальнейшего научного и практического исследования пути создания используемой человеком, жизнеспособной Grid-системы, то есть определенному набору, как мы представляем, необходимых шагов к созданию пригодного параллельного компьютера с Grid-архитектурой (ПКGА).

Инфраструктура Grid-программного обеспечения

      Фактически взятый подход – попытка определить инфраструктуру программного обеспечения сложной программируемой системы, которая должна быть гибкой, легко программируемой в традиционных языках программирования, и эффективной с точки зрения используемых ресурсов и скорости выполнения. Следующее требование это поддержка многопользовательского интерфейса, с поддержкой пользовательской конфиденциальности и деятельности группы. Система должна быть масштабируемой, охватывать весь диапазон доступного Grid-оборудования, от простых пользовательских Grid-терминалов, до огромных вычислительных кластеров или данных с Power архитектурой, включающей быстрые и большие операции с данными, оборудование для сбора и визуализации.

      Главной предпосылкой гибкости является то, что заключительная система не должна быть операционной системой (ОС), а виртуальной инфраструктурной машиной (ВИМ), которая должна быть применимой либо в аппаратных средствах, либо в программируемом оборудовании, как ядро, или как слой, демон или только программа. Определенные программируемые устройства, такие как оборудование визуализации, измерительное оборудование, экспериментальное оборудование, Grid-терминалы и другое подобное оборудование, так же как различный научный, технический и производственный инструменты, должны также быть взяты.

      Мы считаем, что большинство упомянутых проблем может быть намного легче решить, и некоторые из врожденных проблем разнородности были бы решены заранее, при строительстве простой и надежной высоко производительной гибкой инфраструктурой программного обеспечения, такой как виртуальной инфраструктурной машиной (ВИМ). ВИМ - фактически виртуальная машина (ВМ), определенная таким способом, что ее основные состояния являются распределенными Grid-состояниями, то есть его базовая конструкция инфраструктурная.

      Это может быть достигнуто при условии самого низкого программируемого общего знаменателя, в форме виртуальной инфраструктурной машины с параллельной архитектурой, таким образом, жизнеспособная Grid-система могла быть написана в языках программирования и переведена в интерпретаторы, в следствии, этого легко перестраиваемая, псевдокод ВИМ, выполненный в закрытом интерпретационном программном обеспечении (или даже при помощи аппаратных средств) ведомой машиной..

      Фактически, мы защищаем цель развития системы, легко применимой не только компьютерными экспертами и программистами, но также и широким кругом ученых и простых пользователей. Чтобы достичь такой цели, не только необходимо разработать, упомянутый выше, ПКGА, но также и, основанный на этой ВИМ, интерактивный пользовательский интерфейс, в форме интерактивной параллельной модели языка описания.

Метод

      Чтобы достигать этой общей цели, мы должны, прежде всего, исследовать обязательные принципы параллелизма самых сложных проблем, через призму их постоянного естественного распределенного параллелизма, и найти результативные и эффективные методы выполнения интерактивных программных систем, которые могут автоматически моделировать параллельно описанные модели на параллельной архитектуре, последовательностью скоординированной артикуляции и экзартикуляции модели.

      С одной стороны есть цель создания такой ВИМ, которая будет поддерживать требуемую артикуляцию формального языка программирования в элементах, которые позволят синхронизированное параллельное выполнение. Это облегчит процесс создания параллельных программ.

      С другой стороны, наша цель должна производить целевой разделенный и деформализованный, другими словами естественный язык как, модельные языки определения, которые, через диалоговую программную окружающую среду облегчат использование сложной Grid-технологии, обеспечивая их широкое использование обычными пользователями.

      Существующие параллельные языки программирования (например, Оккам, Орка и т.д.), прежде всего, основаны на явных правилах параллелизма, то есть пользователь должен явно объявить параллельно выполняемые подмодули, то есть под алгоритмы.

      Известно из общего знания относительно языков программирования, что подчеркиваемые принципы некоторых из "боковых" и менее популярных языков не являются производными потока поддерживающего одну инструкцию. Этим мы, прежде всего, подразумеваем ориентированные на объект языки как Smalltalk, неотъемлемо диалоговые языки как Форт, Пролог, Лисп, и параллельные языки, такие как АПЛ, J и тому подобные.

      Соответствующие языки, прежде всего те, которые позволяют концептуальный параллелизм естественного описания процесса, независимого от их существующей однопоточной реализации. Те языки, которые должны использоваться как основание для их дальнейшего разъединения и деформализации.

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

      Разъединение языка программирования фактически является продуктом "суперструктуры" верхней части программной системы. Эта так называемая "суперструктура", отделенная от языка программирования, является эффективной для такого языка программирования, который предназначен для описания ученым (или другим пользователем) моделей, которые были бы лингвистически как можно ближе к пользователю, и тем самым повышали применимость. Путем разъединения языка, был получен уровень взаимодействия, более приемлемый человеком.

      Главный принцип, приводящий к надлежащим разъединениям – согласованность действий. Чтобы увеличивать меру приемлемости и возможности такого диалогового программирования, в частности учеными, которые в их работе, в современной науке, всегда используют формализованные модели определенных объектов или областей их научных стремлений, должно использоваться специально направленное разъединение. При таком разъединении ПКGА языки были бы приспособлены к определенным пользовательским сообществам, для которых они предназначаются.

      Главное средство достижения такого разъединения - определение "суперструктуры" языка при использовании обозначающих синонимов, и исследования возможностей деформализации таких разъединенных языков. В этом смысле деформалзация должна быть расценена как развитие синонимов, легкое и частично автоматическое определение абстракций, то есть слоев абстракции, и не слишком формальной грамматики, которая поддерживает интерактивную, пошаговую и рекурсивную работу, приводя к созданию образцового языка описания в форме основы знания для определенных пользователей или пользовательских групп и типов.

      Метод, используемый для достижения данной цели, прежде всего, состоит из надлежащей переформализации и надлежащей артикуляции языков модельного описания, деформализации и разъединения описанным способом, в строго формальные формы выбранных языков программирования. Упомянутые языки модельного описания, из-за их деформализованности и разъединенной природы не могут называться языками программирования.

      Артикуляция этих языков в формальные формы должна быть сделана таким способом, что эта задача была легкой, и конечно выполнимой, имела высококачественную реализацию таких языков модельного описания на кластерах и Grid-системах.

      Реализация целой системы должна, следовательно, быть сделана принципом вставки, где более низкий уровень выполняемой виртуальной машины, то есть Виртуальной Инфраструктурной Машины (ВИМ), используется, чтобы осуществить высокоуровневую интерпретируемую Виртуальную Машину (ВМ), на многоуровневом принципе, где каждая последовательная высокоуровневая ВМ реализовывает определенный формальный язык или деформализирует разъединение такого языка к целевому человеческому языку.

      Поскольку любой разъединенный и деформализированный язык, так же как и любой естественный (то есть неформальный) язык, позволяет (и требует) многозначение и неочевидность, комплексность системы должна поддерживать управляемое определение значений каждой определяемой модели. Таким способом переформализация разъединенного деформализированного языка достижима интерактивным способом.

      Пользовательские программы, написанные таким способом, были бы в своем роде понятны и выполнимы. Разнообразие понимания и возможностей выполнения таких пользовательских программ существенно для достижения лучших принципов взаимодействия человека и машины. Они были бы понятными на разъединенном языке ученого, то есть сообщество, которое использует этот специфический целевой язык для их модельных описаний, будет в состоянии понять примечание и понятия, используемые в такой выполняемой модели. Также разъединенный и деформализированный язык может быть весьма близок к общему научному жаргону, используемому в определенной области; такое образцовое описание может быть легко воспринимаемым и понятным для всех людей, хорошо осведомленных в предметной области. С другой стороны, модельные программы описания будут, после их первой артикуляции, и диалоговой переформализации, понятны на выбранном основном языке программирования. Это влечет за собой свойство переносимости на другие машины вне зависимости от описанной Виртуальной Инфраструктурной Машины, так же как и понятность другим людям, которые не знают, предметную область науки разъединившую язык, но знают формальный язык программирования.

      Такие модельные описания программы будут выполнимы в классической манере на одной последовательной машине, так же как на быстрой параллельной архитектуре, особенно на кластерах и Grid-системах. Это параллельное выполнение достигнуто предварительно исследуемой артикуляцией выполнения через систему вставки языка программирования.

Заключение и видение будущего

      В этой статье мы пробовали дать видение подхода к более высокой человеческой согласованности действий с будущими Grid-системами, определяя несколько шагов, которые мы видим необходимый для реализации концепции системы, способной принять проблему разработки разъединенного и деформализированного, естественно-подобного, модельного языка описания, позволяющего нетехническим пользователям начать использовать мощность Grid-систем.

      Наше видение будущего – общество, где интегрированные Grid-системы позволяют, легкое программирование и интерактивное решение пользовательских проблем в режиме реального времени выполнением специфических моделей, описанных в соответствии с модельным языком описания, близким к естественным языкам, на большом количестве машин, выбранном для самого эффективного выполнения, но возможно чрезвычайно распределенных даже для основной ВИМ с параллельными сложными инструкциями. Приближение обычного пользователя к Grid-системе подобно приближению компаньона, высоко развитого инструмента, который поддерживает коммуникацию при помощи почти естественного языка пользователей. Именно такая коммуникация между человеком и машиной позволит Grid-системе стать, как W. Ross Ashby назвал это, Усилителем Способностей.

      И, наконец, относительно разъединений и деформализации, следует процитировать A. N. Whitehead:

      "при освобождении мозга от всей ненужной работы, появляется возможность, чтобы сконцентрироваться на более передовых проблемах, и в результате увеличивается умственная власть народа"

References

      Raymond Greenlaw, Lawrence Snyder, “Achieving Speedups for APL on an SIMD Distributed Memory Machine”, International Journal of Parallel Programming, 1990.

      Charles Antony Richard Hoare, “Communicating Sequential Processes”, Prentice Hall International, 1985.

      Kenneth E. Iverson, “Concrete Math Companion”, ISI, 1995.

      Sinisa Marin, Mihajlo Ristic, Zorislav Sojat, “An Implementation of a Novel Method for Concurrent Process Control in Robot Programming”, ISRAM ’90, Burnaby, BC, 1990.

      Robin Milner, “Computing in Space”, CARS, 2003.

      Karolj Skala, “e-Science”, Ruder, Vol. 3, No. 7/8, Institute Ruder Boskovic, Zagreb, 2002, pp. 11-14.

      Karolj Skala, Zorislav Sojat; Grid for Scientific and Economic devolopment of Croatia, 4th CARNet Users Conference - CUC 2002, September 25-27, 2002, Zagreb, Croatia

      Zorislav Sojat, “An Approach to an Active Grammar of (Non-Human) Languages”, 27. Linguistisches Kolloquium, Munster, 1992.

      Zorislav Sojat, “An Operating System Based on Device Distributed Intelligence”, 1st Orwellian Symposium, Baden Baden, 1984.

      Zorislav Sojat, “Nanoracunarstvo i prirodno distribuirani paralelizam” (‘Nanocomputing and naturally distributed parallelism’), Ruder, Vol. 3, No. 7/8, Institute Ruder Boskovic, Zagreb, 2002, pp. 20-22.

      W. M. Waite, “Implementing Software for Non-Numeric Applications”, Prentice Hall, New York, 1973.

      Krzysztof Zielinski, ed., “Grid System Components”, AGridnet Consortium, draft, December 2002.

Вначало страницы

ДонНТУ 2008 © Войтенко Андрей