F2F-technology           Библиотека "JINRLIB"                    

    Авторы: А.П.Сапожников, Т.Ф.Сапожникова                          Вы
    Язык: Фортран, Паскаль (С++)                                     
    Среда программирования: Delphi (C++ Builder)                     посетитель.

         РЕИНЖЕНИРИНГОВАЯ ТЕХНОЛОГИЯ АВТОМАТИЗИРОВАННОГО ПОСТРОЕНИЯ 
                   РАСПРЕДЕЛЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
           НА ОСНОВЕ АВТОНОМНО РАЗРАБОТАННЫХ ФОРТРАННЫХ ПРОГРАММ
                                                                                                                
    Одним из путей повышения эффективности решения больших научных и 
    технических задач является распределение вычислений между несколькими, в
    общем случае различными компьютерами вычислительной сети. Существующие
    стандартные технологии распараллеливания программ, такие как MPI и Open MP,
    ориентированы на разбиение вычислительной задачи на более мелкие процессы.
    Как правило, это разбиение осуществляется вручную при разработке или
    модернизации программного обеспечения.

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

    Общая архитектура предлагаемой распределенной системы для решения больших
    вычислительных задач представляется достаточно нетрадиционной. Рабочая
    станция пользователя содержит программу-клиент, распределяющую работы между 
    независимыми вычислительными серверами. Каждый такой сервер - это процесс,
    исполняющий конкретную вычислительную программу. Заявки на ввод и вывод
    информации, возникающие в ходе работы серверов, интерпретируются клиентом.
    Количество серверов и их местонахождение в локальной сети определяются 
    потребностями клиента. В частности, возможно использование сервера,
    выполняющегося на той же самой рабочей станции. Кроме запуска
    вычислительных серверов и исполнения их запросов на ввод/вывод клиентская
    программа (и только она) осуществляет интерактивное общение с пользователем.
    Эта технология по существу является реинжениринговой, поскольку основным
    инструментальным средством создания вычислительных серверов становится
    конвертор F2F для автоматического преобразования автономно разработанных
    программ с целью интеграции их в более крупные распределенные системы.      

    Таким образом, характерными чертами реинжениринговой технологии
    автоматизированного построения распределенных вычислительных систем на 
    основе готовых, автономно разработанных фортранных программ являются:
    1. использование конвертора F2F для автоматической генерации программы 
       вычислительного сервера;
    2. построение клиентского приложения на базе программного обеспечения 
       типового клиента.

    Подробнее - см.:
    1. Реинжениринговая технология распределенных вычислений в локальной сети 
       (html,pdf).
    2. Методика использования реинжениринговой технологии для распределенных
       вычислений (html).
    3. Конвертор F2F как основное инструментальное средство реинжениринговой
       технологии распределенных вычислений (html).

    Предлагаемый архив содержит материалы для демонстрации F2F-технологии
    на примере широко известной программы MINUIT минимизации функций многих 
    переменных.
    В состав архива входят:
    1. конвертор F2F для автоматизированного преобразования исходных текстов;
    2. базовое программное окружение вычислительного сервера;
    3. исходные тексты программы MINUIT как представителя типично "фортранной
       программы";
       На основе этого материала (п.1,2) строится произвольный вычислительный
       сервер. В данном случае - вычислительный сервер для программы MINUIT,
       который будет выполнять основную счетную работу;
    4. простое клиентское приложение для программы MINUIT, построенное на 
       основе программы "типового клиента" и выполняющее ввод/вывод данных 
       и графическое представление результатов;
    5. файл ReadMe.txt с пояснениями и инструкциями.

    Работа выполнена в Лаборатории информационных технологий ОИЯИ в рамках
    проекта, поддержанного грантом РФФИ 03-07-90347.