Очередь заданий R / управление рабочей нагрузкой

Я провел некоторое время в Google в поисках пакета очередей/балансировщика нагрузки для R.

Чего я пытаюсь достичь:

  • выполнение нескольких независимых друг от друга функций R из удаленных интерфейсов
  • использование 2 двухъядерных серверов в качестве бэкэнда R

Знаю это:

  • каждая функция обычно обрабатывается от 10 до 30 секунд
  • в среднем каждые 5 минут (но может и одновременно) на бэкэнд отправляется набор из 8-15 функций для выполнения (в очереди на обработку: first in first out). 5 минут - это среднее время, также можно отправить несколько комплектов одновременно.
  • экземпляр 2x2 R уже был бы запущен с загруженными требуемыми пакетами, они всегда одинаковы, поэтому нет необходимости перезагружать их все время
  • входной объем передаваемых данных очень низкий: макс. 50 КБ

Здесь нет темы распараллеливания кода (snow, snowfall foreach, condor и другие традиционные кластерные решения)

Знаете ли вы хороший пакет/инструмент, разработанный для R, который мог бы помочь?

Большое спасибо !


person Sam    schedule 18.05.2011    source источник
comment
Я ничего не знаю о существующем. В качестве отправной точки я бы посмотрел на что-то вроде Redis + пакет doRedis. Resque — это популярный менеджер очередей ruby, созданный на основе Redis (github.com/defunkt/resque).   -  person Noah    schedule 18.05.2011
comment
Привет Ной, спасибо за ваш ответ. Насколько я понял, Redis — это база данных, к которой может обращаться другой клиент, кроме R, но в чем преимущество по сравнению с MySQL с непараллельными вычислениями?   -  person Sam    schedule 19.05.2011


Ответы (1)


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

person Iterator    schedule 01.07.2011