1

如何parfor在亚马逊的虚拟机上找到最佳的工作人员数量?

对于哪些情况,我应该使用物理内核的数量和逻辑内核的数量?

这有什么“经验法则”吗?

我运行编译代码(可执行代码)。

4

1 回答 1

4

在此处输入图像描述

如何在亚马逊的虚拟机上找到最佳的工作人员数量?parfor

在类似地,只是部分定义的情况下,我从类似的一组主要反对意见开始,例如根据什么参数和成本的标准函数(效用乐趣 / 惩罚乐趣)最佳 - [TIME](首先,部分结果的延迟,E2E 完成) ,[SPACE](是的:缓存和 RAM 占用空间)、扩展、外部性(能源成本、{ owned | rented }基础设施成本、研发成本、设计/工程成本、QA 成本、验证/认证成本、其他相关的劳动力成本、成本风险缓解政策 - 仅举几例)?”,@Dev-iL在第 2 句中已经提出,复述了刘易斯卡罗尔的智慧,铭刻在《爱丽丝梦游仙境》中:

”<strong>爱丽丝:我应该走哪条路?
猫:这取决于你要去哪里。
爱丽丝:我不知道。
猫:那你走哪条路都没关系。”<br>

这告诉我们
如果没有预先
定义任何和所有标准会发生什么:(没有目标),任何道路都会让你到达那里......”


然而,这个问题在大约 50 年前就已经解决了:

这个问题是由 Dr.Gene AMDAHL (1967) 基于 prof.Kenneth E. KNIGHT (1966) 的工作解决的,解决方案是应用以前者命名的“收益递减定律”,即 Amdahl 定律。对于细节和当代对幼稚应用原始(开销天真和原子量的工作)的批评,请阅读

第 0 步:
测试/记录代码审查( CuR )的所有纯[SERIAL]执行部分的时间,即希望拥有的语法“之前”和“之后”构造函数。parfor

第 1 步:
测试/记录parfor所有-{实例化+终止}-开销成本的净时间。这里为调用签名和返回值类型和大小调整所有适当缩放的参数(CuR 必须花费一些时间在每次调用的基础上序列化/反序列化所有它们,并且还必须花费额外的开销时间到 SER /DES 关于准备/运输/收集每个“远程”-parfor-ed 结果),MEM-allocs 的规模 - 与 CuR 相比,如果恰好考虑到一些“浅”计算密度或内存区域的重用效率低下的并行 CuR,这也需要大量时间) . 其中一些附加开销成本(记录在 [TIME]-domain 中)在代码的 -decorated 部分“内部”累积(并且在纯代码执行parfor期间不可见或不会发生,因此测试/基准测试可能[SERIAL]需要一些工作来隔离这些附加成本“内部”的parfor-ed 部分的可疑操作,分配并且从不重复使用更大的内存区域等,如果成本建模努力倒计时到外部支付的基础设施费用的美分)。

第 2 步:
测试/记录最后一批永远不会变得更快的工作单元的原子性引入的“孤立”时间(由于工作单元的原子性 - 工作的不可分割持续时间,没有其他免费的处理器核心会有所帮助)

...应该使用物理核心的数量和逻辑核心的数量?

第 3 步:
测试/记录任何提供的(无论这些是“营销”标签)类型的代码执行单元(由于更高的延迟而导致效率低下的虚拟设备)的实际工作窃取/网络拥有工作比率, 更高的工作窃取率 - 即预期任何形式的主要计算密集型并行工作者的效率都会降低)

第 4 步:
测试/记录实际频率/缓存大小/RAM 导致的 CPU 饥饿状况,这将导致“工作单元”实际上“存在”-执行比在 { local-| 上预期的要差。私有网格-}-计算基础设施。

第 5 步:使用步骤 0:4 中的到期参数(并通过上面记录的所有低效率适当放宽)参数并使用任何数量的核心/类型,
比较所有应计成本在您的基础设施提供商中,您将获得在任何给定时间/财务预算限制下使用更多/更少资源的大致成本。

所有功劳归于 Dr.Gene AMDAHL,所有销售尽可能多的“廉价”标签但表现不佳且只共享玩具的营销人员都讨厌他的工作(是的,虚拟化还意味着另一层附加开销和导致硅上的 SHARED 共同执行(缓存耗尽以多次重复重新获取先前已缓存的数据0.5 [ns]为代价~350+[ns]再次“跨越”NUMA 位置边界导致重复的 RAM-I/O 通道的瓶颈是最少的在这里要提到的损失)-共享/虚拟化引入的 CPU-ticks 工作窃取将向您显示被盗 CPU-ticks 的数量,您的计算有效负载没有得到计算以支持他人,“共享”这个非常“ cloudy-heaven-dream”,由您按“使用小时数”支付,在您的控制范围之外)。

云可能很少运行一些特殊的、低计算强度的(显然,DSP 不是,不是吗?),具有最少的跨域通信/协调,可能受益于分布式的合理规模的任务队列,延迟屏蔽,(天真) -蛮力执行许多这样的“浅”和“要求不高”的工作单元(从 HPC 级计算的角度来看,很多时候本身效率低下),然而非常“便宜”——(只是)——听起来的价格计划让人意识到,一个人自己的私人基础设施的成本(如果在适当的时候决定,在已经花费这些费用之前)与使用“廉价”租用的基础设施的成本大致相同第二次,第三次,……第n次。

[ 可能会询问真正的企业他们的成本调整和现实生活中的责任,即使是“顾问演员”的阴天梦想,动手的故事也存在,请不要犹豫:o)]

因此,根据您的上下文制定的最佳成本的决定是您的。总是。

于 2019-11-10T16:00:25.993 回答