Мы пытаемся использовать библиотеку BigMemory с foreach для параллельного анализа. Однако функция as.big.matrix всегда использует резервный файл. На наших рабочих станциях достаточно памяти, есть ли способ использовать bigMemory без резервного файла?
Этот код x.big.desc <-describe(as.big.matrix(x))
работает довольно медленно, поскольку записывает данные в C:\ProgramData\boost_interprocess\
. Почему-то это медленнее, чем непосредственное сохранение x, это as.big.matrix, у которого более медленный ввод-вывод?
Этот код x.big.desc <-describe(as.big.matrix(x, backingfile = ""))
работает довольно быстро, однако он также сохраняет копию данных в каталоге %TMP%. Мы думаем, что причина в том, что это быстро, потому что R запускает фоновый процесс записи вместо фактической записи данных. (Мы можем увидеть поток записи в TaskManager после возврата приглашения R).
Есть ли способ использовать BigMemory только с оперативной памятью, чтобы каждый рабочий процесс в цикле foreach мог получить доступ к данным через оперативную память?
Спасибо за помощь.
big.matrix
в ОЗУ, указавshared = FALSE
. Однако она не будет разделена между процессами, поэтому вместо нее следует использовать стандартную матрицу, которая копируется в каждый кластер. В чем проблема с данными, хранящимися на диске? - person F. Privé   schedule 18.08.2017