Самый популярный способ обеспечения наиболее продуктивной параллельной обработки в нескольких системах - это MPI.
Если вы говорите только о многоядерной, многоядерной однопроцессорной системе, использующей общую память, ориентируйтесь на OpenMP и pThreads. Честное предупреждение, плохо написанный OpenMP или pThreads не масштабируется. Программирование pThread может быть очень сложным.
OpenMP хорошо подходит для задач декомпозиции домена. pThreads - единственный вариант для декомпозиции задач. Новая спецификация OpenMP может поддерживать декомпозицию задач.
А если вы хотите использовать ассемблер для параллельного программирования - удачи вам. не может быть сделано продуктивно.
И Гейб, python поддерживает несколько потоков. И потоки могут работать на нескольких ядрах и не ограничивают выбор структур данных в любом случае. Вы МОЖЕТЕ использовать python с потоками для распределения работы между несколькими потоками, которые работают на нескольких ядрах.
Я бы очень осторожно отнесся к комментариям Гейба. На мой взгляд, его комментарии очень вводят в заблуждение.