Как я могу заставить R использовать в своих интересах верхнюю память, высокий сервер CPU?

ТАКИМ ОБРАЗОМ, я наконец выяснил, как заставить мои сценарии R работать на облаке Amazon EC2. Я использовал AMI с 26 ЭКЮ, 8 Ядер и 69 концертов RAM.

Я затем делю свой код на несколько сценариев и выполняю каждого в экземпляре R. С сервером этого размера я могу легко запустить 20-40 скриптов одновременно, каждый выполняющий несколько 1 000 моделирований.

То, что я хотел бы знать, - то, если R использует в своих интересах всю эту вычислительную мощность исходно. Я должен установить пакеты, которые конкретно говорят R использовать всю эту дополнительную память / несколько центральных процессоров? Я видел эту страницу, и некоторые пакеты (по крайней мере, из описания) кажутся обещанием. Но я не могу выяснить, как включить это в мой код. Кто-либо мог пролить больше света на это?

22
задан Maiasaura 22 June 2010 в 19:55
поделиться

2 ответа

Вы можете посмотреть примеры в моем руководстве Введение в высокопроизводительные вычисления с R , несколько версий которого находятся на этой странице .

Самый быстрый способ использовать несколько ядер - это (отличный) многоядерный пакет, вам не нужно делать ничего особенного, чтобы воспользоваться кучей оперативной памяти, которая у вас есть. многоядерный связан с foreach через doMC , но вы, конечно, можете просто использовать функцию mclapply () напрямую.

18
ответ дан 29 November 2019 в 05:06
поделиться

Комментарии Дирка точно относятся к multicore / foreach / doMC.

Если вы выполняете тысячи симуляций, вы можете рассмотреть сервис Amazon Elastic Map Reduce (EMR). Когда я хотел масштабировать свои симуляции в R, я начал с огромных экземпляров EC2 и многоядерного пакета (как и вы!). Все прошло хорошо, но я получил адский счет за EC2. Мне действительно не нужна была вся эта оперативная память, но я за нее платил. И моя работа заканчивалась в 3 часа ночи, тогда я не заходил в офис до 8 утра, поэтому я заплатил за 5 часов, которые мне не нужны.

Затем я обнаружил, что могу использовать службу EMR для запуска 50 дешевых небольших экземпляров Hadoop, запуска моделирования, а затем их автоматического выключения! Я полностью отказался от запуска своих симуляторов на EC2 и теперь использую почти исключительно EMR. Это сработало настолько хорошо, что моя фирма начинает тестировать способы переноса большей части нашей периодической симуляции на EMR.

Вот сообщение в блоге , которое я написал, когда впервые начал использовать многоядерность на EC2. Затем, когда я обнаружил, что могу сделать это с помощью Amazon EMR, я написал следующий пост .

РЕДАКТИРОВАТЬ: с момента написания этой статьи я работал над пакетом, упрощающим использование EMR с R для параллельных функций применения. Я назвал проект Segue, и он в Google Code .

Дальнейшее обновление: С тех пор я отказался от поддержки Segue, потому что есть гораздо лучшие и более зрелые предложения для доступа к сервисам Amazon от R.

16
ответ дан 29 November 2019 в 05:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: