Я столкнулся с проблемой производительности, когда пытался распараллелить исчисление с R. У меня есть матрица из 8 столбцов (условий) с 12000 строк (генов), я хотел бы определить оптимальное количество кластеров, представляющихэкспрессия генов (сгруппируйте гены с одинаковым паттерном экспрессии).Для этого я следую этому учебнику с функцией clustGap и разделом вокруг medoid.
Поскольку исчисление довольно длинное и я могу получить доступ к кластеру исчислений, я планируюраспараллелить это.
Я хотел бы использовать пакет Snow, и для оценки скорости я извлекаю субматрицу , и я сделал первый тест на своем компьютере.
library(snow)
cl<-makeCluster(8)
clusterEvalQ(cl, library(cluster))
clusterExport(cl,"df")
T1<-Sys.time()
results <-clusterCall(cl,function(x) clusGap(df, FUN = pam, K.max = 20, B= 500,verbose=TRUE))
T2<-Sys.time()
difftime(T2, T1)
Разница во времени 14,59781 с
T3<-Sys.time()
clusGap(df, FUN = pam, K.max = 20, B = 500,verbose=TRUE)
T4<-Sys.time()
difftime(T4, T3)
Разница во времени 8,251367 с
Так что я немногонемного застрял в тесте, поскольку кажется, что 1-ядерное исчисление более эффективно, чем 8 ядер: o
Кто-нибудь знает, что я не понял в этом исчислении?
Большое спасибо,
sessionInfo()
> R version 3.3.3 (2017-03-06)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: macOS 10.13.4
locale:
[1] fr_FR.UTF-8/fr_FR.UTF-8/fr_FR.UTF-8/C/fr_FR.UTF-8/fr_FR.UTF-8
attached base packages:
[1] splines stats4 parallel stats graphics grDevices utils datasets methods base
other attached packages:
[1] snow_0.4-2 cluster_2.0.6 DDRTree_0.1.5 irlba_2.3.1 VGAM_1.0-3 ggplot2_2.2.1
[7] Biobase_2.34.0 BiocGenerics_0.20.0 Matrix_1.2-12
loaded via a namespace (and not attached):
[1] Rcpp_0.12.17 lattice_0.20-35 tidyr_0.8.1 GO.db_3.4.0 assertthat_0.2.0
[6] digest_0.6.15 slam_0.1-40 R6_2.2.2 plyr_1.8.4 RSQLite_2.1.1
[11] pillar_1.2.3 rlang_0.2.1 lazyeval_0.2.1 data.table_1.11.4 blob_1.1.1
[16] S4Vectors_0.12.2 combinat_0.0-8 qvalue_2.6.0 BiocParallel_1.8.2 stringr_1.3.1
[21] igraph_1.1.2 pheatmap_1.0.10 bit_1.1-14 munsell_0.5.0 fgsea_1.0.2
[26] pkgconfig_2.0.1 tidyselect_0.2.4 tibble_1.4.2 gridExtra_2.3 matrixStats_0.53.1
[31] IRanges_2.8.2 dplyr_0.7.5 grid_3.3.3 gtable_0.2.0 DBI_1.0.0
[36] magrittr_1.5 scales_0.5.0 stringi_1.2.3 GOSemSim_2.0.4 reshape2_1.4.3
[41] bindrcpp_0.2.2 limma_3.30.13 DO.db_2.9 clusterProfiler_3.2.14 fastmatch_1.1-0
[46] fastICA_1.2-1 RColorBrewer_1.1-2 tools_3.3.3 bit64_0.9-7 glue_1.2.0
[51] purrr_0.2.5 HSMMSingleCell_0.108.0 AnnotationDbi_1.36.2 colorspace_1.3-2 DOSE_3.0.10
[56] memoise_1.1.0 bindr_0.1.1