Для программиста, которому интересны теоретические аспекты параллельного программирования, рекомендуется книга "Introduction to Parallel Computing" от Ananth Grama, Anshul Gupta, George Karypis и Vipin Kumar. Это книга предоставляет обширное обсуждение основ параллельных вычислений, а также стратегий и алгоритмов для эффективного использования распределенного и многопроцессорного программирования.
Для изучения механизмов синхронизации с примерами на языке ассемблера x86(-64) рекомендуется книга "Parallel Programming and Optimization with Intel Xeon Phi Coprocessors" от Рей Крейг и Джеймс Джирек. В этой книге представлены примеры параллельного программирования с использованием средств синхронизации на платформе Intel Xeon Phi. Книга поможет разобраться в принципах параллельных вычислений на уровне ассемблера и создать эффективные программы для многоядерных систем.