Что на самом деле содержится в исправлениях ядра Managed Runtime Initiative и JVM? - PullRequest
5 голосов
/ 29 июля 2010

http://managedruntime.org/ довольно мало о том, что именно в tarballs и почему пользователи хотели бы их.http://lwn.net/Articles/392307/ содержит еще некоторые подробности, но автор также не уверен, что на самом деле делают модули управления памятью.Очевидно, что целью высокого уровня является сокращение пауз GC, но мне было бы интересно (указатели) кратко описать, что делает модуль, и почему / как это улучшает ситуацию.Особенно замечательно было бы указание на то, насколько сильно эти патчи влияют (оценка).

1 Ответ

5 голосов
/ 29 июля 2010

Azul Pauseless GC опирается на систему управления памятью базовой ОС.на оборудовании Azul это было выполнено с помощью специального ядра Azul (Aztec).В Linux система управления памятью должна поддерживать достаточное количество операций управления памятью в секунду, чтобы не отставать от количества мусора, создаваемого в секунду.Когда люди Azul перенесли Azul JVM в Linux, они определили, что его API управления памятью были относительно медленными по сравнению с Aztec, хотя бы потому, что MM API Linux никогда не предназначались для поддержки чего-то вроде PGC.патчи MRT увеличивают количество операций в секунду, которые может обработать ядро ​​linux, и, таким образом, поддерживают PGC.

Аналогия будет добавление poll / select к сокетам Беркли и позднее, в 2001 году, когда epollбыло добавлено в ядро ​​Linux (http://www.xmailserver.org/linux-patches/nio-improve.html).

[заявление об отказе: хотя я бывший технический директор и в настоящее время технический советник Azul, я не говорю за них]

...