Библиотека NPTL полностью поддерживает нити POSIX – один из самых популярных интерфейсов для создания многопоточных приложений. Она постепенно перерабатывается с учетом требований систем реального времени, но на настоящее время подходит только для систем мягкого реального времени.
Рассматриваются методы распараллеливания программ в оптимизирующем компиляторе, использующие параллелизм операций, коротких векторов и параллельных потоков управления. Предложенные методы являются достаточно универсальными, т.к. они практически применяются для двух архитектурных платформ: «Эльбрус» с явным параллелизмом операций и «МЦСТ-R» с суперскалярным (в исходном порядке) выполнением операций, при этом обе платформы содержат короткие (несовпадающие) векторные операции и поддерживают многопроцессорность на общей памяти. Приводятся результаты практического использования данных методов распараллеливания.
На базе СнК могут строиться вычислительные системы, включающие до четырех микросхем «МЦСТ-R1000», совместно содержащих до 36 устройств кэш-памяти. Одной из важнейших задач при построении подобной системы является обеспечение согласованности данных. Описанию ее решения посвящена данная статья.
Дано краткое описание архитектуры процессора Эльбрус, рассмотрено применение его особенностей для реализации быстрого преобразования Фурье (БПФ). Предложен алгоритм реализации БПФ для данной архитектуры. Подробно рассмотрена оптимизация алгоритма для 32-разрядных данных с плавающей точкой. Произведен сравнительный анализ предложенного алгоритма с алгоритмом FFTW и представлены результаты работы алгоритма на разных размерах.
Рассматривается общая схема работы двоичного транслятора, многоуровневая система оптимизаций, технологии сокращения накладных расходов на трансляцию (долговременное хранение кодов и параллельная трансляция).
| Назад 1 2 Дальше |