为什么Spark BlockMatrix实现不是严格增加持续时间曲线?

时间:2015-12-26 05:31:20

标签: apache-spark matrix-multiplication

我创建了一些不同大小的矩阵,并将每个矩阵保存在csv格式的单独文件中,格式为

row,column,value.

生成矩阵的代码如下

Random rng = new Random();
for (int i = 0; i < rowCount; i++) {
 for (int j = 0; j < colCount; j++) {
  Integer next = rng.nextInt(5) + 1;
  bw1.write(i + "," + j + "," + next);
 }
}

现在,当我测试矩阵的基数越来越高时,我得到了一些奇怪的结果。有时,我增加矩阵的大小,而不是增加持续时间,而不是花费更少的时间。结果如下

(8192x8192)x(8192x8192) --- 254 sec.
(8193x8194)x(8194x8193) --- 190 sec.
(16382x16383)x(16383x16382) --- 1110 sec.
(16384x16384)x(16384x16384) --- 1619 sec.
(16385x16386)x(16386x16385) --- 1038 sec.

我已检查过源代码,但未能确定原因。

谁能告诉我为什么它会像这样?

提前致谢

0 个答案:

没有答案