Назад | Перейти на главную страницу

Как я могу использовать огромные страницы и libhugetlbfs в экземпляре Debian EC2 PVM?

На моем локальном компьютере (i7 9200), на котором запущен Debian Wheezy amd64, я могу добиться значительного ускорения работы с некоторыми «большими данными» / типами HPC:

Приложение также достаточно хорошо работает на Debian Wheezy на EC2 (я использую последний хриплый AMI) с обычными страницами 4k (некоторые тесты масштабируемости пробовали на экземплярах c3.2xlarge, c3.4xlarge и c3.8xlarge). Но мне любопытно также узнать, вижу ли я аналогичные преимущества при использовании огромных страниц на EC2, если это возможно.

Я запустил экземпляр c3.3xlarge и настроил огромные страницы по-прежнему. И после этого / proc / meminfo действительно сообщает

HugePages_Total:    4096
HugePages_Free:     4095

Однако после компиляции libhugetlbfs он make func самотестирование вызывает некоторые ошибки ядра. Вскоре после этого кажется, что система зависает, но не раньше, чем у меня было время проверить dmesg и увидеть кучу стеков вызовов с различными xen_ и hugetlb_fault символы в них. После того, как система перестала отвечать на запросы, системе потребовалась принудительная остановка с консоли AWS, чтобы заставить ее остановиться.

Я попытался снова загрузиться и просто запустил свое приложение с HUGETLB_MORECORE=yes в любом случае (в случае make func тестирование ломало что-то непонятное, что мне на самом деле было не нужно), но почти то же самое произошло снова.

любой истории успеха с libhugetlbfs на EC2 (желательно с Debian) или рецепты для правильной работы ?

Исследовательская работа: там скудная информация в Google об огромных страницах на EC2 (или Xen). Я нашел этот, который, похоже, сообщает о той же проблеме: / proc / meminfo сообщает о наличии огромных страниц, но при попытке их использования возникает паника ядра. Статья предшествует новым экземплярам c3, но предполагает, что cc2.8xlarge может стоить того, потому что в нем используется HVM вместо PVM.

Обновить: не смог найти актуальный Debian AMI для HVM, но попробовал Ubuntu (13.04 "raring") на cc2.8xlarge и libhugetlbfs и HUGETLB_MORECORE=yes похоже, отлично работает с этим. Единственное, это немного замедляет работу моего приложения!