Для максимально эффективного использования возможностей многоядерных процессоров страны Европы намерены реализовать проект Java Environment for Parallel Real-time Development (JEOPARD) по созданию платформы для Java-приложений реального времени, работающих на современных многоядерных процессорах и в системах с параллельной многопроцессорной обработкой.
По словам представителей Open Group, участвующей в проекте, он будет выполняться под эгидой Еврокомиссии. На проект выделено более 4,9 млн. долл. Цель JEOPARD — подготовить инструментальные средства, которые позволили бы вести контролируемую разработку систем без привязки к определенной платформе. Разрабатываемые таким образом системы должны быть ориентированы на многоядерные платформы с симметричной многопроцессорной обработкой и программируемые логические матрицы (FPGA). Предполагается, что этот инструментарий позволит увеличить производительность программного обеспечения, а также повысить степень повторного использования за счет расширения возможностей процессорных технологий настольных систем, с учетом требований многоядерных встроенных систем.
«Покупая современный ноутбук или сервер, вы приобретаете четырехъядерный процессор или что-то подобное. Применяемые в настоящее время подходы к созданию операционных систем и приложений для таких устройств не позволяют в полной мере использовать все их возможности, — подчеркнул Дейв Лаундсбери, вице-президент Open Group. — Думаю, все признают — на данный момент существуют определенные ограничения на использование многоядерных систем».
По словам Лаундсбери, в рамках проекта JEOPARD будут проведены исследования, посвященные вопросам создания прикладных программных интерфейсов, расширений операционных систем и языковой поддержки многоядерных процессоров, причем особое внимание будет уделяться встроенным системам.
Проект предусматривает анализ возможности использования расширений, ориентированных на работу с различными конфигурациями памяти. Будут рассмотрены ситуации, в которых нет полной симметрии, — к примеру, процессор не может получить доступ ко всем компонентам памяти или процессоры используют разные часы. Анализ подобных ситуаций крайне важен, учитывая ограничения на полосу пропускания при доступе к памяти. Для решения данной задачи средства поддержки языков и операционные системы могут выполнять определенную оптимизацию.
По словам представителей Open Group, результаты JEOPARD найдут свое отражение в спецификации RTSJ (Real-Time Specification for Java), которая ориентирована на разработку решений для переносимого программного обеспечения для многоядерных встроенных систем. Кроме того, в рамках JEOPARD будет создан интерфейс для разработки не зависящего от платформы программного обеспечения для многоядерных систем реального времени на базе RTSJ и Safety-Critical Java. Теме RTSJ посвящены документы Java Specification Requests 1 и 282 в рамках Java Community Process, а Safety-Critical Java описана в JSR 302.