分布式数组的使用方式,挺适合做大规模并行计算的。如果你平时用 MATLAB 搞并行,像 spmd 或者 distributed 这些概念,你已经碰到过。

分布在 lab 上的数组,操作方式其实蛮直觉的。你可以直接在客户端把普通数组转成 distributed,也可以在 spmd 语句里搞 codistributed,灵活度还不错。重点是,两个可以互相访问,不用重复计算。

想快速创建?像 distributed.randdistributed.eye 这些方法挺方便的,生成出来就是分布式的,用起来顺滑。响应也快,适合做数据分片运算。

但要注意,distributed 是客户端发起的,codistributed 是在各个 lab 上主动创建的。概念上差异不大,但用法上要注意别搞混。

如果你是那种习惯把计算分开跑的,或者正好有个多核多节点的集群,建议你试下这套分布式数组的写法,能省下不少时间。

相关技术你也会用得上,像 Lab-Net 分布式测试平台 或者 Zookeeper 分布式协调服务 都是不错的补充。

哦对了,如果你在做数据分布优化,别忘了看看 分布式查询优化 这篇文章,也挺有干货的。