АНАЛИЗАТОР ПРИМЕНИМОСТИ ПРОГРАММНОГО МОДУЛЯ ДЛЯ РАЗРАБОТКИ И ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ МНОГОПРОЦЕССОРНЫХ СРЕД

1. Машинно-реализуемый способ программирования неоднородной многопроцессорной вычислительной системы для выполнения множества программных модулей, причем каждый программный модуль подлежит выполнению на одном из процессоров, система содержит множество процессоров двух или большего числа различных типов процессоров, при этом способ содержит:
(a) выполнение машинно-реализуемой офлайновой обработки с использованием анализатора применимости программного модуля (PMAA) и множества инструментальных средств SBT из инструментального набора построения плана (SBT), причем:
PMAA определяет, какие типы процессора какие программные модули способны выполнять; и
множество инструментальных средств SBT содержит:
(i) средство построения плана, которое выбирает подмножество из одного или нескольких различных решений плана на основании первого набора сценариев использования; и
(ii) формирователь исходного кода, который формирует программное обеспечение планирования для выбранного решения плана, причем программное обеспечение планирования подлежит выполнению на одном или нескольких из упомянутых процессоров; и
(b) выполнение машинно-реализуемой онлайновой обработки с использованием данных реального времени для тестирования программного обеспечения планирования и выбранного решения плана, при этом:
PMAA определяет, способен ли первый процессор первого типа процессора выполнять первый программный модуль, не компилируя первый программный модуль.
2. Способ по п.1, в котором:
PMAA принимает информацию, соответствующую распределению памяти для первого процессора;
PMAA принимает требования к размеру данных для первого программного модуля;
PMAA вычисляет общее требование к памяти для первого программного модуля на основании требований к размеру данных;
PMAA сравнивает общее требование к памяти для первого программного модуля с распределением памяти для первого процессора; и
PMAA определяет, что первый процессор не может выполнять первый программный модуль, если общее требование к памяти больше распределения памяти.
3. Способ по п.2, в котором:
PMAA принимает информацию, соответствующую характеристикам передачи данных для первого процессора;
PMAA принимает требования к передаче данных для первого программного модуля;
PMAA вычисляет среднее использование передачи данных для первого программного модуля на основании требований к передаче данных;
PMAA сравнивает среднее использование передачи данных для первого программного модуля с характеристиками передачи данных для первого процессора; и
PMAA определяет, что первый процессор не может выполнять первый программный модуль, если среднее использование передачи данных выше характеристик передачи данных.
4. Способ по п.1, в котором:
PMAA принимает информацию, соответствующую характеристикам передачи данных для первого процессора;
PMAA принимает требования к передаче данных для первого программного модуля;
PMAA вычисляет среднее использование передачи данных для первого программного модуля на основании требований к передаче данных;
PMAA сравнивает среднее использование передачи данных для первого программного модуля с характеристиками передачи данных первого процессора; и
PMAA определяет, что первый процессор не может выполнять первый программный модуль, если среднее использование передачи данных выше характеристик передачи данных.
5. Способ по п.1, дополнительно содержащий после этапа (a) и перед этапом (b) этап выполнения моделирования методом «черного ящика», чтобы тестировать программное обеспечение планирования и выбранное решение для плана на втором наборе вариантов использования, более большом, чем первый набор, причем множество инструментальных средств SBT дополнительно содержит формирователь кода профилирования и моделирования, который генерирует программное обеспечение для моделирования методом «черного ящика».
6. Способ по п.1, в котором множество процессоров содержит, по меньшей мере, N1 процессоров первого типа процессора и N2 процессоров второго типа процессора, отличающегося от первого типа процессора, причем по меньшей мере одно значение из N1 и N2 больше 1.
7. Способ по п.6, в котором и N1, и N2 больше 1.
8. Способ по п.1, в котором, по меньшей мере, часть офлайновой обработки по этапу (a) повторяется после выполнения онлайновой обработки по этапу (b), чтобы модифицировать одно или оба из программного обеспечения планирования и выбранного решения для плана.
9. Способ по п.1, в котором PMAA является одним из множества инструментальных средств SIET из инструментального набора средств извлечения информации планирования (SIET), причем:
множество инструментальных средств SIET дополнительно содержит одно или несколько из:
(i) анализатора циклов, который определяет требования к временной диаграмме для каждого программного модуля, исполняющегося на каждом допустимом типе процессора;
(ii) анализатор зависимостей, который определяет зависимости по вводу и выводу данных между различными программными модулями, выполняющимися на допустимых типах процессора; и
(iii) анализатор обмена данными, который определяет требования к передаче данных между различными программными модулями, выполняющимися на допустимых типах процессора.
10. Способ по п.1, в котором инструментальные средства SBT дополнительно содержат одно средство или несколько из:
(i) оптимизатора соединений, который сравнивает различные решения для плана, соответствующие различным возможным назначениям программных модулей на процессоры; и
(ii) оптимизатор синхронизации, который разрабатывает схему синхронизации для подмножества решений плана.