[论文解读] Browser-based distributed evolutionary computation: performance and scaling behavior
本文提出 DCoR(Distributed Computation on Rails),一种基于浏览器的框架,利用 Ruby on Rails 和 AJAX 实现通过网页浏览器进行临时分布式进化计算。实验表明,由于服务器端瓶颈(尤其是单线程请求处理)的存在,性能虽随客户端数量适度提升,但通过禁用调试和减少日志记录等优化措施,平均性能可提升约 20%,凸显了必须通过架构改进来消除服务器瓶颈的必要性。
The challenge of ad-hoc computing is to find the way of taking advantage of spare cycles in an efficient way that takes into account all capabilities of the devices and interconnections available to them. In this paper we explore distributed evolutionary computation based on the Ruby on Rails framework, which overlays a Model-View-Controller on evolutionary computation. It allows anybody with a web browser (that is, mostly everybody connected to the Internet) to participate in an evolutionary computation experiment. Using a straightforward farming model, we consider different factors, such as the size of the population used. We are mostly interested in how they impact on performance, but also the scaling behavior when a non-trivial number of computers is applied to the problem. Experiments show the impact of different packet sizes on performance, as well as a quite limited scaling behavior, due to the characteristics of the server. Several solutions for that problem are proposed.
研究动机与目标
- 探索在无需安装特殊软件的情况下,使用网页浏览器作为分布式进化计算参与节点的可行性。
- 评估基于网页框架的浏览器端进化计算系统的性能与扩展行为。
- 识别在处理多个客户端请求时,服务器架构中的主要性能瓶颈。
- 提出架构改进方案,以克服服务器端限制并提升可扩展性。
提出的方法
- 系统使用 Ruby on Rails 实现模型-视图-控制器(MVC)架构,支持服务器端逻辑与客户端 JavaScript 执行。
- 通过 XmlHttpRequest 实现的 AJAX 支持客户端(浏览器)与服务器之间的异步通信,实现非阻塞计算与实时更新。
- 通过农场式模型分发进化计算,客户端负责评估染色体并将结果返回服务器。
- 服务器记录性能指标,如每秒评估次数(evaluations per second),用于分析性能与扩展性。
- 实验通过改变数据包大小、种群大小和网络条件(本地、快速以太网、WiFi)进行,客户端按顺序加入。
- 性能以箱线图形式在多次运行中进行测量,比较开发模式与生产模式下启用或禁用调试的情况。
实验结果
研究问题
- RQ1在无需安装应用程序的情况下,网页浏览器能否有效用作分布式进化计算中的计算节点?
- RQ2随着客户端数量的增加,基于浏览器的进化计算系统的性能如何扩展?
- RQ3在处理多个浏览器客户端时,当前服务器架构的主要性能瓶颈是什么?
- RQ4服务器端配置(如调试模式和日志记录)如何影响整体系统性能?
- RQ5哪些架构改进能显著提升可扩展性并减少服务器端瓶颈?
主要发现
- 随着前几个客户端的加入,扩展性能显著提升,但超过四到五个节点后性能趋于平稳,这是由于服务器端限制所致。
- 尽管支持多线程请求处理,但服务器的单线程请求/响应循环限制了并发处理能力,导致性能瓶颈。
- 禁用调试并减少日志文件 I/O 可使平均性能提升约 20%,表明日志是主要的争用源。
- 由于顺序日志记录导致的锁竞争进一步降低了平均性能,尽管最佳情况下的性能有所改善。
- 当前架构限制了可扩展性,必须通过架构改进(如使用带反向代理的集群,或将更多计算任务移至客户端)才能实现有意义的扩展。
- 最佳情况下的性能仍随客户端数量增加而提升,但平均性能增益逐渐停滞,表明受系统约束影响,收益递减。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。