Многопоточная обработка данных
Многопоточная обработка данных (англ. Multi-data-stream processing) — программный и/или аппаратный способ построения архитектуры оборудования[англ.], позволяющий осуществлять одновременную обработку двух или более последовательностей данных под управлением одной или более последовательностей команд (см. Многопоточность).
При многопоточной обработки данных происходит разбиение больших заданий на более мелкие, называемые потоками. Многопоточная обработка данных позволяет значительно уменьшить время выполнение задач, но только теми программами, которые написаны с расчётом на такую обработку. В некоторых программах многопоточная обработка организуется с использованием фоновых заданий[1].
В зависимости от количества потоков команд и данных и от организации системы различают следующие архитектуры:
- архитектура с одним потоком команд и несколькими потоками данных (SIMD), например векторный или матричный процессоры;
- архитектура с параллельно-централизованным управлением потоком данных (Multiple Single Instruction Multiple Data — MSIMD);
- архитектуры с множеством потоков данных и множеством потоков команд (MIMD), а именно: тесно связанные, близко связанные или слабо связанные;
- структурированные массивы элементов обработки, включая систолические массивы[2].
Примечания
- ↑ Зыков А. Многопоточная обработка данных (infostart.ru)
- ↑ U.S. Export Administration Regulations, Part 772 (15 C.F.R. §772.1).