Проект: ИПС РАН/Т-система Т-система: система программирования и run-time среда, реализующие автоматическое динамическое распараллеливание программ |
Основные разработчики |
Институт
программных систем РАН, ИПС РАН, Переславль-Залесский Исследовательский центр мультипроцессорных систем (ИЦМС ИПС РАН) д.ф.-м.н., Абрамов Сергей Михайлович, директор ИЦМС ИПС РАН Адамович Алексей Игоревич, с.н.с. ИЦМС ИПС РАН |
Тип (теория, программная система, приложение, аппаратные средства) проекта |
Программная система: система программирования и run-time среда |
Краткое описание |
Т-система реализует принцип автоматического
динамического распараллеливания программ за
счет использования функциональной парадигмы
(программы для Т-системы определяют
набор чистых--без побочного эффекта--функций)
и особой модели вычисления функциональных
программ: процесс вычисления--это процесс
автотрансформации вычислительной сети. Т-ядро (run-time support компонента Т-системы) реализует поддержку вычислительной модели "автотрансформация вычисляемой сети" -- поддерживает основные Т-структуры данных и основные операции модели вычисления:
Разработка программ для исполнения в среде Т-системы: сегодня нами используется язык t2cp (в дальнейшем возможна реализация других языков для программирования в Т-системе)--расширение языка С небольшим числом новых конструкций (Т-конструкций):
Особенности программирования: Т-программа определяет набор чистых Т-функций. Однако в рамках тела каждой функции, программист может использовать любые С-конструкции и С-данные, использовать стиль программирования , к которому он привык--например, императивный стиль. При этом, должен отсутсвовать побочный эффект у Т-функций: все данные для вычислений в теле функции должны быть получены явно через ее аргументы, все результаты вычисления--переданы через ее выходы/результаты. Язык t2cp поддержан препроцессором, преобразующим входную Т-программу в программу на языке С (перечисленные выше Т-конструкции заменяются на соответствующие вызовы Т-ядра; остальная часть программы оставляется без изменения). Результат препроцессирования обрабатывается стандартным в ОС Linux компилятором языка С и собирается с библиотеками Т-ядра в исполняемый файл, пригодный для запуска на любой установке вида "TCP/IP-сеть Linux-машин" (содержащей любое число моно- или SMP-узлов сети, любое число процессоров...). При запуске исполняемого файла считывается конфигурационный файл с перечислением разрешенных для использования в данном запуске программы вычислительных ресурсов: IP-адресов и характеристик (монопроцессор или SMP-мультипроцессор) узлов сети. За счет механизма rcp/rsh на указанных узлах вычислительной установки запускаются экземпляры Т-ядра, образующих общую среду исполнения Т-задачи. Эта совокупность экземпляров Т-ядра автоматически (без специальных спецификаций со стороны программиста) в динамике (во время выполнения Т-программы) поддерживает все операции, связанные с параллельным выполнением Т-программы:
|
Область применения |
Сегодня встречаются программы/задачи (из
таких областей, как компьютерная алгебра,
интеллектуальные системы, моделирование
сложного поведения и др.), которые
Именно на такой класс задач--задач с динамическим (скрытым до момента запуска программы) параллелизмом--и была первоначально ориентирована разработка. Уточнение класса задач, для которых использование Т-системы целесообразно, является предметом дальнейших исследований и во многом будет определяться результатами использования Т-системы для решения практических задач (см. URL-ссылки на отчеты о решении задач в Т-системе). |
Связь с другими проектами/платформами |
Т-система разработана для платформ класса "IP-сеть рабочих станций (Intel, PC, mono или SMP) с ОС Linux" (в дальнейшем возможен перенос на другие платформы). |
Завершенность проекта |
Реализована и используется для разработки
приложений. Завершены академичeские
исследования, Т-система и Т-язык
(t2cp)--реализованы. На t2cp написан ряд задач--как
демонстрационных, так и практически
значимых--имеющих различную алгоритмическую
организацию и относящихся к различным областям.
В результате выполнения всех этих задач
достигался высокий уровень распараллеливания
программ Т-системой. Для выполнения приложений используется мультикомпьютер, реализованный (ИПС РАН) как быстрая локальная сеть (Switched Fast Ethernet 100 Mbps) из 9 различных Linux-машин, в том числе мультипроцессорных SMP-компьютеров двух типов:
Всего в данной установке 24 процессора Pentium Pro/200 и Pentium II/266, 1,408 Mb оперативной памяти и 70.4 Gb дисковой памяти. Суммарная теоретическая пиковая производительность установки--5.6GFlops, стоимость установки--ок. $55,000. |
Контакты, ссылки на доп. информацию |
Россия, 152140, Переславль-Залесский, ИПС РАН,
ИЦМС, Абрамову С.М. д.ф.-м.н., Абрамов Сергей Михайлович, директор ИЦМС ИПС РАH, тел.: +7(08535)98.031, +7(08535)98.032, +7(08535)98.033, fax: +7(08535)98.278, e-mail: abram@botik.ru Адамович Алексей Игоревич, с.н.с. ИЦМС ИПС РАН, тел.: +7(08535)98.042, lexa@adam.botik.ru URLs: Список и URL-ссылки на публикации: T-System project. List of publications Подробное описание Т-системы и языка t2cp, примеры Т-программ и технические отчеты по экспериментам с Т-системой: ftp://ftp.botik.ru/pub/local/Sergei.Abramov/T-system/ |