это проблемы инструментов програмирования (язык, компиляторы и т.п.) или "несовершенства" многоядерных архитектур ?
Это проблемы того, что программный код надо изначально писать с учетом распаралеливания, иначе появляются потери на синхронизации, перегрузках кэшей и т.д. итп.