议案
-环到集群和云在本例中,您开始在本地多核桌面上运行计算所需的时间,作为工作人员数量增加的函数。这个测试叫做强大的扩展测试。如果您添加更多工人,它使您可以测量计算所需的时间减少。这种依赖被称为加速,并允许您估计并行可扩展性你的代码。然后,您可以决定是否有助于增加并行池中的工人数量,并扩展到群集和云计算是有用的。
创建功能。
编辑MyCode
在matlab.®编辑器,输入新的议案
循环和添加Tic.
和TOC.
测量经过的时间。
函数a = mycode(a)tic议案i = 1:200a(i)= max(abs(eig(rand(a))))));结尾TOC.结尾
保存文件,然后关闭编辑器。
在这一点平行>平行的偏好菜单,检查你的默认集群是当地的(您的桌面机器)。
在MATLAB命令窗口中,定义SIZE 1的并行池,并在一个工人上运行函数以计算经过的时间。请注意单个工人的经过时间并关闭并行池。
Parpool(1);a = mycode(1000);
运行时间为172.529228秒。
删除(GCP);
打开一个由两个工人组成的新的并行池,并再次运行该函数。
Parpool(2);a = mycode(1000);
注意经过的时间;您应该看到,与单个工人案例相比,现在已经减少了。
尝试4,8,12和16名工人。通过绘制日志日志刻度上的每个工人的经过时间来测量并行可扩展性。
该图显示了典型的多核桌面PC(蓝圆数据点)的可扩展性。强大的缩放测试显示了最多八名工人的线性加速和显着的并行可扩展性。从图中观察,在这种情况下,我们不会为超过八名工人提供进一步加速。此结果意味着,在本地台式机上,所有内核都完全用于8名工人。您可以在本地桌面上获得不同的结果,具体取决于您的硬件。为了进一步加快并行应用程序,请考虑缩放到云或群集计算。
如果您已经耗竭了本地工人,如前面的示例,您可以向云计算扩展计算。检查您对云计算的访问平行>发现集群菜单。
在云中打开并行池并运行应用程序,而不更改代码。
Parpool(16);a = mycode(1000);
注意越来越多的集群工作人员的经过时间。通过绘制日志日志刻度上的工作人员数量的函数来测量并行可扩展性。
图中显示了云中工作人员的典型性能(红色加数据点)。这个强大的可伸缩性测试显示了线性加速和100%并行可伸缩性,最多可在云中实现16个工作人员。考虑通过增加云中或计算集群中的工作人员数量来进一步扩展计算。请注意,根据硬件的不同,对于大量工作程序和其他应用程序,并行可伸缩性可能是不同的。
如果您可以直接访问集群,则可以使用集群上的worker扩展计算。中检查对集群的访问平行>发现集群菜单。如果您有帐户,请选择簇,打开并行池并运行应用程序而无需更改代码。
Parpool(64);a = mycode(1000);
该图显示了群集上工人的典型强大的缩放性能(黑X数据点)。观察您达到100%并行可扩展性,持续到至少80个群体上的工人。请注意,此应用程序线性缩放 - Speedup等于所使用的工人数量。
这个例子显示的加速等于工人的数量。不是每个任务都能达到类似的加速,比如使用Parcom以交互方式并行运行循环。
您可能需要特定任务的不同方法。要了解更多关于替代方法的信息,请参阅选择并行计算解决方案。
小费
您可以进一步配置文件议案
- 通过使用测量通过使用并行池中的工人传输多少数据ticbytes.
和tocbytes.
。有关更多信息和示例,请参阅剖析循环循环。