Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure服务结构-分布式计算代码示例蒙特卡罗模拟-性能问题_C#_Azure_Actor_Azure Service Fabric - Fatal编程技术网

C# Azure服务结构-分布式计算代码示例蒙特卡罗模拟-性能问题

C# Azure服务结构-分布式计算代码示例蒙特卡罗模拟-性能问题,c#,azure,actor,azure-service-fabric,C#,Azure,Actor,Azure Service Fabric,在听了最近的azure播客(特别是关于在azure上构建低延迟金融系统的播客)并阅读了所有关于Service Fabric的宣传之后,我决定尝试改变“分布式计算代码示例蒙特卡罗模拟”模式以满足我的需要 我的设想是: 一个具有给定起始状态的请求,使用一个简单的(计算方面的)基于蒙特卡罗的模型运行10公里完整的体育比赛模拟 我的第一次尝试是: 1*有状态的“处理器”参与者,接收匹配的开始状态并将其与相关聚合器ActorId一起转发给10k+任务参与者 10K+*无状态“任务”参与者,运行1次模拟

在听了最近的azure播客(特别是关于在azure上构建低延迟金融系统的播客)并阅读了所有关于Service Fabric的宣传之后,我决定尝试改变“分布式计算代码示例蒙特卡罗模拟”模式以满足我的需要

我的设想是: 一个具有给定起始状态的请求,使用一个简单的(计算方面的)基于蒙特卡罗的模型运行10公里完整的体育比赛模拟

我的第一次尝试是:

  • 1*有状态的“处理器”参与者,接收匹配的开始状态并将其与相关聚合器ActorId一起转发给10k+任务参与者

    • 10K+*无状态“任务”参与者,运行1次模拟并将结果传递给其聚合器参与者。模拟时间很短(~2ms)

    • 100*有状态的“聚合器”参与者聚合收到的模拟并传递给最终参与者

    • 1*计算最终结果的“最终参与者”

在my dev box上仅使用Tasks运行上述设置需要<100ms,但上述设置(作为本地集群在dev机器上运行)需要50秒甚至更长时间

在通过一个潜在原因进行调试后,我发现处理器参与者发送初始任务所需的时间太长,因此我想知道调用服务结构时会有什么样的开销(我猜在调用参与者的方法时会发生各种命名服务调用)这种缓慢是否可能是由于这一点和我的任务数量

为了消除其他可能性,我做了以下工作,只注意到总时间的微小差异:

  • 使所有参与者无状态,以确保状态管理不会增加开销
  • 在处理器中创建所有ActorProxies并存储它们的引用以供将来调用,以确保参与者激活不会导致问题
有没有人对今后的发展方向有什么建议,或者有没有人尝试过实施类似的措施

谢谢,
亚历克斯

我本想将此作为评论发布,但我还没有足够的声誉!如果您参考ServiceFabric的文档,请查看本文下面的评论,特别是“tom”在2015年6月左右开始的评论线索。他在有状态的参与者中表现不佳(每秒约20次手术),这似乎被认为是未来改进的一个领域。他们强调在非变异方法上使用只读属性可以显著提高性能。Abhishek Ram还包括一些注释和链接,可能有助于排除故障


您注意到,您尝试使用对性能几乎没有影响的无状态参与者。我将进一步指出注释线索,其中另一个用户报告使用只读方法在单个参与者上每秒实现2k+操作,我希望执行类似于无状态参与者方法的操作。也许可以将来自性能计数器的信息与此进行比较,以查看您的性能与评论中一些微不足道的示例的匹配程度。

Great-这是非常有用的信息,即使是“Ben Adams”报告的每秒2252次方法调用的性能也不会让我感到激动。啊,好吧,没有人声称SF是一切的金子弹:)。谢谢你的回复,耶茨先生