Skip to main content
QUICK REVIEW

[论文解读] Improving Performance of heavily loaded agents

Fatma Özcan, V. S. Subrahmanian|ArXiv.org|Dec 11, 2000
Mobile Agent-Based Network Management参考文献 51被引用 4
一句话总结

本文提出了一种基于成本、以不变量驱动的框架,用于在高负载异构代理中优化并合并多个请求,实现公共子任务的共享执行。通过开发者指定的不变量识别等价、包含和重叠的代码调用条件,作者提出了BFMerge和DFMerge算法,减少冗余计算,与基于A*的方法相比,实现高达6300倍的加速和10%的成本开销。

ABSTRACT

With the increase in agent-based applications, there are now agent systems that support \emph{concurrent} client accesses. The ability to process large volumes of simultaneous requests is critical in many such applications. In such a setting, the traditional approach of serving these requests one at a time via queues (e.g. extsf{FIFO} queues, priority queues) is insufficient. Alternative models are essential to improve the performance of such \emph{heavily loaded} agents. In this paper, we propose a set of \emph{cost-based algorithms} to \emph{optimize} and \emph{merge} multiple requests submitted to an agent. In order to merge a set of requests, one first needs to identify commonalities among such requests. First, we provide an \emph{application independent framework} within which an agent developer may specify relationships (called \emph{invariants}) between requests. Second, we provide two algorithms (and various accompanying heuristics) which allow an agent to automatically rewrite requests so as to avoid redundant work---these algorithms take invariants associated with the agent into account. Our algorithms are independent of any specific agent framework. For an implementation, we implemented both these algorithms on top of the \impact agent development platform, and on top of a (non-\impact) geographic database agent. Based on these implementations, we conducted experiments and show that our algorithms are considerably more efficient than methods that use the $A^*$ algorithm.

研究动机与目标

  • 解决高负载代理在处理大量并发请求时的性能瓶颈问题。
  • 在多个请求共享公共子任务或数据依赖时,减少冗余计算。
  • 提供一种通用的、与框架无关的请求合并方法,基于通过不变量识别出的语义共性。
  • 在可扩展性、速度和成本效率方面超越现有的基于A*的合并技术。
  • 通过预优化代码调用条件,实现对常规代理中状态集计算的高效执行。

提出的方法

  • 该框架允许代理开发者定义不变量,以指定代码调用条件之间的等价性、包含性和重叠性。
  • 设计了一种可靠且完备的算法,从开发人员提供的初始不变量集中推导出所有隐含的不变量。
  • 提出了两种基于启发式的合并算法——BFMerge和DFMerge,用于从一组代码调用条件中生成单一、成本优化的执行计划。
  • 这些算法基于共享子表达式和依赖关系,评估分别执行请求与合并执行之间的成本权衡。
  • 该方法在IMPACT代理平台和地理数据库代理上实现,以验证其通用性和性能。
  • 系统利用逻辑基础确保正确性,同时最小化跨异构数据源的冗余执行。

实验结果

研究问题

  • RQ1如何形式化识别多个代理请求之间的公共子表达式,并加以利用以减少冗余计算?
  • RQ2何种可扩展且高效的算法方法可在最小化总执行成本的前提下合并多个请求?
  • RQ3基于不变量的推理是否能在代理工作负载中实现比传统A*合并方法更高的速度和可扩展性?
  • RQ4该框架在无需架构变更的前提下,能在多大程度上应用于遗留代码和异构数据源?
  • RQ5在真实世界代理工作负载中,所提出的合并算法与A*方法相比性能如何?

主要发现

  • 所提出的BFMerge和DFMerge算法在请求合并性能上相比基于A*的算法最高可实现6300倍的加速。
  • 这些算法能够处理的并发代码调用条件数量是A*算法的两倍以上。
  • 所提出算法生成的执行计划成本最多比A*算法高10%。
  • 该框架在IMPACT代理平台和地理数据库代理中均成功减少了冗余计算,证明了其跨框架的适用性。
  • 基于不变量的方法无需修改底层代理框架或遗留代码,即可实现正确且高效的合并。
  • 该方法通过预优化底层代码调用条件,在优化常规代理中的状态集计算方面表现出色。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。