我有一个Cherrypy服务器。该服务器的某些工作是处理数据(简称为 BigCalculation ),将结果返回给客户端。原始数据是一个numpy数组(3暗),最终可能接近1Gb。如果性能良好,它甚至可能会变得更大-因此,我所做的一切都需要可扩展。
通常返回给客户端的 BigCalculation 结果是一个2d图像,对应于切片多维数据集和在该切片上计算一些指标的不同方法。现在,所有这些操作都是作为较小数据多维数据集上的演示按顺序完成的,但是现在我需要在一定程度上进行并行处理。
我正在考虑一些可以继续进行的方法。从概念上讲,它们的范围从低级别的并行性到更高的级别:
我的问题:尝试确定首先实现并行处理的级别时,是否有最佳方法/做法?我会先实现较低级别的并行性(例如英特尔的数据切片或切片我的数据立方体)还是先实现较高级别的(例如将每个调用分别旋转到 BigCalculation )更好?还是主要是在特定情况下要做出决定,而对于这个主题却没有真正的一般建议?