Параллельная структура данных
-
Определение и использование параллельных структур данных
- Параллельные структуры данных обеспечивают доступ к данным для нескольких вычислительных потоков.
- Исторически использовались в однопроцессорных системах, но теперь доминируют многоядерные процессоры.
- Термин «параллелизм» описывает мультиплексирование операций потоков, даже если они не выполняются одновременно.
-
Основные принципы параллельных структур данных
- В последовательной среде структура данных должна соответствовать определенным свойствам, таким как безопасность и живучесть.
- В параллельной среде спецификация должна описывать свойства живучести и безопасности, которые должны быть реализованы.
- Методы могут быть блокирующими или неблокирующими, что влияет на свойства безопасности и живучести.
-
Проектирование и внедрение параллельных структур данных
- Проектирование и проверка параллельных структур данных сложнее, чем последовательных из-за параллелизма и асинхронности потоков.
- Производительность зависит от расположения процессоров, памяти и коммуникационной нагрузки.
- Закон Амдала и его версии определяют масштабируемость производительности параллельных структур данных.
-
Проблемы производительности параллельных структур данных
- Конкуренция за память является ключевой проблемой, влияющей на производительность.
- Блокировки могут вызывать длительное ожидание и дополнительный трафик памяти.
-
Рекомендации и дальнейшее чтение
- В статье приведены ссылки на литературу по параллелизму и многопоточным структурам данных.
- Ссылки на внешние ресурсы, такие как библиотеки и тесты, также предоставлены.