The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Порт OpenJDK для архитектуры ARM64 и патчи для поддержки ARM в системе виртуализации KVM

26.10.2012 12:00

Эндрю Хейли (Andrew Haley), работающий в компании Red Hat, объявил о работе по подготовке порта Java для 64-разрядной архитектуры AArch64 (ARM64), реализованной в процессорах, поддерживающих набор команд ARMv8. Результаты портирования будут развиваться как одни из подпроектов OpenJDK, что позволит заинтересованным энтузиастам и компаниям присоединиться к процессу разработки.

В настоящее время поддержка в OpenJDK архитектуры ARM оставляет желать лучшего. Для 32-разрядных систем ARM доступны две реализация JIT-компилятора для виртуальной машины HotSpot, используемой проектом OpenJDK: проприетарная разработка от компании Oracle и свободный JIT-компилятор, который сильно отстаёт по производительности от варианта Oracle в силу использования упрощённой архитектуры. Чтобы не допустить подобной ситуации для 64-разрядных систем ARM, компания Red Hat приняла решение создать своими силами полноценный и высокопроизводительный JIT-компилятор для архитектуры AArch64, который будет распространяться свободно.

Интересно, что из-за того, что устройства на базе ARMv8 пока не выпущены на рынок, для разработки порта HotSpot VM был создан простой симулятор процессора ARMv8. Использование симулятора не даёт полной гарантии, что при выполнении порта на реальном оборудовании не возникнет проблем, но позволяет подготовить работающий прототип к моменту поступления в продажу первых процессоров ARMv8. В настоящее время уже близка к завершению реализация интерпретатора шаблонов для ARM64, который является первым этапом портирования HotSpot на новые архитектуры.

Первый рабочий прототип планируется сформировать к рождеству, после чего код будет опубликован публично. Прототип будет поддерживать все необходимые возможности для запуска Java на AArch64, но не будет отличатся высокой производительностью из-за отсутствия JIT-компилятора. Для решения данной проблемы сразу после публикации кода начнётся процесс создания нескольких вариантов JIT-компиляторов: "клиентского" C1, а затем и "серверного" C2.

JIT-компилятор C1 обеспечит обработку только базового набора типовых ситуаций без углубления в специфику выполнения кода, поэтому он прост в создании и позволит разработчикам досконально проанализировать особенности архитектуры ARM64. После этого опыт, накопленный в процессе разработки C1, будет применён для создания более сложного и высокопроизводительного JIT-компилятора C2. Кроме того, создание C1 позволит реализовать двухфазную схему JIT-компиляции, при которой на начальной стадии выполняется C1, после чего наиболее часто используемые участки кода рекомпилируется при помощи более сложных методов C2.

Дополнительно можно отметить публикацию набора патчей с реализацией поддержки системы виртуализации KVM для процессоров ARM Cortex A15. Это третья попытка обеспечения работы KVM на архитектуре ARM, которая скорее всего будет утверждена для включения в состав ядра Linux 3.8. Напомним, что в состав тестовых версий ядра 3.7 были включены патчи поддержкой с механизмов виртуализации Xen для систем на базе процессоров ARM Cortex A15.

  1. Главная ссылка к новости (http://www.advogato.org/articl...)
  2. OpenNews: Начало тестирования ядра Linux 3.7-rc1
  3. OpenNews: В ядре Linux 3.7 будет унифицирована и значительно расширена поддержка ARM-платформ
  4. OpenNews: Компания ARM представила патчи для ядра Linux с поддержкой 64-битной архитектуры ARMv8
  5. OpenNews: Продемонстрирован первый сервер на 64-разрядной архитектуре ARMv8 со стеком LAMP
  6. OpenNews: Компания HP, совместно с Red Hat и Canonical, начала продвижение серверных систем на базе архитектуры ARM
Лицензия: CC-BY
Тип: К сведению
Короткая ссылка: https://opennet.ru/35174-arm
Ключевые слова: arm, arm64, java, openjdk, kvm
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (20) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, CSRedRat (ok), 13:58, 26/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Полноценный сервер размером с флешку уменьшает прозрачность до 87%. Ждём массового производства SoC с процессором на архитектуре ARMv8.
     
     
  • 2.2, Sergey722 (ok), 14:29, 26/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А если эта "флэшка" в прозрачном корпусе?
     
     
  • 3.4, Аноним (-), 14:53, 26/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тогда на 87.5% :D
     
  • 2.3, DannyBoy (ok), 14:49, 26/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ждём облака на ARM.
     
     
  • 3.5, Аноним (-), 15:16, 26/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С серверами размером с флешку каждый сможет создать себе свое облако сам.
     
  • 3.6, Аноним (-), 15:17, 26/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Дороговато будет, ибо производительность на ватт у арм пока хромает.
     
     
  • 4.8, DannyBoy (ok), 15:20, 26/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Так то да. Ибо x86 очень сильно развилась, но несёт в себе огромную избыточность инструкций, которой RISC-процессоры не страдают. ИМХО, думаю в ближайшее время эффективность ARM значительно повысят.
     
     
  • 5.9, Аноним (-), 15:28, 26/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Я диванный аналит^W^W не специалист, но своим дилетантским умом понимаю, что аппаратная реализация этой "избыточности" суммарно занимает очень небольшую площадь кристалла, гораздо меньшую чем например кэш. А экономия на переходах между состояниями энергосбережения (x86 действительно не умеют спать эффективно) не играет никакой роли на серверных нагрузках. Так что х86 относительно к серверам может спокойно тянуть балласт в виде избыточности системы команд, никому от этого вреда не будет.
     
     
  • 6.10, DannyBoy (ok), 15:35, 26/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Насчёт потребления Кэша, тут ты прав. Таки в новых AMD будет фича, которая отрубает часть кэша и подключает при необходимости. Плюс у ARM(или всех RISC) есть бескостыльность с конвейером: при неверном угадывании перехода, сбрасывается конвейер, у RISC же, если не ошибаюсь, он не сбрасывается, а не выполняется определённое количество инструкций до необходимых. Ну природе то будет урон. :3
     
     
  • 7.17, Аноним (-), 17:17, 26/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >при неверном угадывании перехода, сбрасывается конвейер, у RISC же, если не ошибаюсь, он не сбрасывается, а не выполняется определённое количество инструкций до необходимых

    Вы в серьез в это верите? Pentium 2 внутри RISC, снаружи только перекодировщик из x86 кода в uops. А уж как конвейер реализован, это вообще никак не относится к сложности команд что реальных (uops) что виртуальных. А теперь прикинь сколько времени прошло со времен пентиума2, там внутри давно уже аппаратный многомашинный комплекс соединенный шинами и коммутаторами. Конвейер, блин.

     
  • 6.11, Аноним (-), 16:01, 26/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Есть сервера бОльшую часть жизни проводят в спячке - файлопомойки к примеру.
     
  • 4.14, Crazy Alex (ok), 16:35, 26/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Если оно будет слегка дороже аналогичной по мощности виртуалки на Xen - вполне приемлемо. Всё же с распределением ресурсов(особенно диска) в виртуалках пока совсем не фонтан.
     
  • 3.7, Аноним (-), 15:19, 26/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну как минимум бесплатный колокейшен для ARM уже есть :)
    http://www.edis.at/en/server/colocation/austria/raspberrypi/
     

  • 1.12, pavlinux (ok), 16:05, 26/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Даешь облако нано-ботов выковыривающих козявки :)
     
     
  • 2.19, filosofem (ok), 19:19, 26/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Уже. См. персонал РОСНАНО.
     

  • 1.13, Crazy Alex (ok), 16:32, 26/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    По какому принципу объединили эти новости???
     
     
  • 2.15, Аноним (-), 16:53, 26/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    По принципу "и там, и там ARM", очевидно
     

  • 1.16, sasa (??), 16:56, 26/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Red Hat приняла решение создать своими силами полноценный и высокопроизводительный JIT-компилятор для архитектуры AArch64

    Хорошая шутка. Они так заоптимизировали gcc для ARM что в оконцовке оказалось что если вообще не использовать SIMD (да-да - armhf на котороый сейчас все дистрибутивы перешли) производительность вырастает в разы.

     
     
  • 2.18, Аноним (-), 17:23, 26/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> Red Hat приняла решение создать своими силами полноценный и высокопроизводительный JIT-компилятор для архитектуры AArch64
    > Хорошая шутка. Они так заоптимизировали gcc для ARM что в оконцовке оказалось
    > что если вообще не использовать SIMD (да-да - armhf на котороый
    > сейчас все дистрибутивы перешли) производительность вырастает в разы.

    Дадада, нет чтобы кнопочки GUI передвинуть, или с самолета диски RedHat сбросить над тайгой, умора просто с них. И естесственно баргепорт регрессии оптимазатора надо постить на opennet, тут тусуются разработчики GCC круглые сутки.

     
     
  • 3.21, Аноним (-), 17:58, 27/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Red Hat приняла решение создать своими силами полноценный и высокопроизводительный JIT-компилятор для архитектуры AArch64
    >> Хорошая шутка. Они так заоптимизировали gcc для ARM что в оконцовке оказалось
    >> что если вообще не использовать SIMD (да-да - armhf на котороый
    >> сейчас все дистрибутивы перешли) производительность вырастает в разы.
    > Дадада, нет чтобы кнопочки GUI передвинуть, или с самолета диски RedHat сбросить
    > над тайгой, умора просто с них. И естесственно баргепорт регрессии оптимазатора
    > надо постить на opennet, тут тусуются разработчики GCC круглые сутки.

    тут вообще разрабов серьезных не бывает, одни трепачи диванные. Максимум "продвинутые пользователи Убунту"

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру