Используйте Intel AVX с искрой - PullRequest
0 голосов
/ 01 марта 2019

У нас новый кластер с процессорами Intel AVX 512.Мы провели исследование по этому вопросу безрезультатно.Мы хотели бы знать, может ли задание на искру запускаться с AVX для выполнения обработки объектов DataFrames, или нам нужно изменить код, чтобы позволить JVM использовать его, или он полностью бесполезен.Наше искровое приложение кодируется скала.Большинство наших работ - обработка объектов и алгоритмы DataFrames.Заранее благодарим за помощь

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Как заметил @Speakjava в данный момент, использование SIMD-инструкций в коде Spark невозможно, потому что AVX512 был добавлен в Java 9, который еще не поддерживается Spark.Но в ближайшие годы произойдут радикальные изменения - Проект Панама .Как только векторный API будет готов, такие проекты, как Spark, смогут получить от этого огромную прибыль.Вы можете следить за JEP-338 на предмет предстоящих изменений.

Если вы заинтересованы в использовании низкоуровневого API-интерфейса Intel для повышения производительности, посмотрите на библиотеку Intel Data.Библиотека ускорения аналитики .Intel заявляет, что это может повысить производительность на MLlib.Он имеет аналоги некоторых классов от Spark - org.apache.spark.mllib.feature.{PCA, PCAModel} -> daal_for_mllib.{PCA, PCAModel} - подробный пример здесь .

0 голосов
/ 01 марта 2019

Это будет зависеть от нескольких вещей.

Поддержка AVX512 была добавлена ​​в OpenJDK в JDK 9 (см. https://bugs.openjdk.java.net/browse/JDK-8076276),, поэтому вам нужно будет работать на JDK 9 или более поздней версии. Чтобы включитьэто явно вам нужно будет добавить флаг командной строки -XX:UseAVX=3.

Однако, насколько это будет использоваться, во многом будет зависеть от того, как работает ваш код и как компилятор JIT может использовать векторизацию.Azul (на кого я работаю), мы заменили C2 JIT в нашей Zing JVM на Falcon JIT.Это основано на проекте компилятора LLVM и способно использовать векторизацию в более сложных случаях, чем обычно распознается C2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...