Есть ли какие-нибудь паттерны или фрейворки для программирования под многоядерные ARMы?
=========================================================================================

 Современные серверные ARMы имеют много слабых ядер в отличии от старых-добрых x86.  

  

Например, когда мы пишем стандартный цикл, то расчитываем, что он последовательно пробежится по всем элементам и выполнит какие-либо операции. В случае с интелом с высокой частотой ядра, процесс выполнится быстро, а в арме, в идеале, надо бы раскидать все элементы по отдельным медленным ядрам.  

  

Понятно, что в большинстве языков есть различные библиотеки мультипоточности и т.д., но разбивать каждый loop на потоки/процессы, все же, слишком ресурсоемко.  

  

Если какие-нибудь фрейворки или свежие технологии в языках, ориентированные на многоядерность? Все эти async/await, promise'ы как-то улучшают в данном случае ситуацию?  

Или это вообще задача компилятора/интерпритатора сделать так, чтобы стандартный цикл по возможности по ядрам раскидался?  

  

Если есть какие-то примеры кода, библиотек или фреймворков на популярных языках (java, php, python, js), было бы интересно посмотреть. 

 В вопросах любой оптимизации всегда на первое место идет конкретика. Раскидывание цикла по ядрам занимает время на синхронизацию потоков до и после цикла, а если у вас еще и данные не помещаются в один NUMA, вы будете больше времени атмосферу прогревать, чем считать.  

Ну и редко когда так выходит, что что-то нетривиальное можно распараллелить, просто порезав цикл на части. Если речь не идет о числодробилке, конечно же.  

  

А если речь идет о числодробилке, есть уже оптимизированные по самые яйца BLAS и ATLAS, и имеет смысл опираться на них, а не велосипедить. 

> Есть ли какие-нибудь ... технологии в языках, ориентированные на многоядерность?

  

[OpenMP](https://en.wikipedia.org/wiki/OpenMP).