Я создаю виртуальную машину в Google Cloud с Ubuntu 18.04 с 8 ЦП и 30 ОЗУ и версией R 3.6.0, но я пытаюсь улучшить свой анализ без успеха.Если я использую пакет Snow со всеми 8 процессорами во всех операциях, использование только в 12,54%.Я делаю:
# Take in the ubuntu terminal the number of processors
foresteyebrazil@superforettech1:~$ cat /proc/cpuinfo | grep process| wc -l
8
#Packages
library(raster)
library(snow)
#Take a raster for worldclim
r <- getData('worldclim', var='alt', res=5)
# 1) Use extract() in Virtual Machine ----------------------------
start_time <- Sys.time()
# SpatialPolygons
cds1 <- rbind(c(-180,-20), c(-160,5), c(-60, 0), c(-160,-60), c(-180,-20))
cds2 <- rbind(c(80,0), c(100,60), c(120,0), c(120,-55), c(80,0))
polys <- spPolygons(cds1, cds2)
# Extract
ex<-raster::extract(r, polys)
end_time <- Sys.time()
end_time - start_time
#
#Time difference of 2.743118 secs
Теперь для тестирования снежного пакета я делаю:
# 2) Use extract() with snow package in Virtual Machine ----------------------------
start_time <- Sys.time()
# SpatialPolygons
cds1 <- rbind(c(-180,-20), c(-160,5), c(-60, 0), c(-160,-60), c(-180,-20))
cds2 <- rbind(c(80,0), c(100,60), c(120,0), c(120,-55), c(80,0))
polys <- spPolygons(cds1, cds2)
# Extract
beginCluster(n=8)
ex<-raster::extract(r, polys)
endCluster()
end_time <- Sys.time()
end_time - start_time
#
#Time difference of 6.695152 secs
Здесь я не пойму, как у меня может быть 2,743118 секунд в первой и 6,695152 секунд во второй.подход?
Есть идеи по улучшению моей виртуальной машины?Спасибо