Если быть точным, максимальный тип экземпляра в EC2 в настоящее время составляет 8 ядер, поэтому любому, даже пользователям R, потребуется несколько экземпляров для одновременной работы более чем на 8 ядрах.
Если вы хотите использовать больше экземпляров, у вас есть два варианта развертывания R: «обычные» вызовы R или вызовы MapReduce. В первом случае вам нужно будет настроить код для запуска экземпляров, распределения задач (например, независимых итераций в foreach
), возврата результатов и т. Д. Это выполнимо, но вам вряд ли это понравится. В этом случае вы можете использовать что-то вроде rmr
или RHipe
для управления сеткой MapReduce, или вы можете использовать snow
и многие другие инструменты HPC для создания простой сетки. Использование snow
может помочь сохранить ваш код без изменений, но вам нужно научиться связывать эти вещи вместе.
В последнем случае вы можете использовать инфраструктуру, предоставляемую Amazon, такую как Elastic MapReduce (EMR), и пакеты, которые делают это проще, например, JD segue
. Я бы порекомендовал segue
в качестве хорошей отправной точки, как это сделали другие, поскольку у нее более мягкая кривая обучения. Разработчик также находится на SO, так что вы можете легко смущать запрашивать его, когда он ломается.