Parallel dynamic analysis on multicores with aspect-oriented programming

Danilo Ansaloni, Walter Binder, A. Villazón, Philippe Moret
{"title":"Parallel dynamic analysis on multicores with aspect-oriented programming","authors":"Danilo Ansaloni, Walter Binder, A. Villazón, Philippe Moret","doi":"10.1145/1739230.1739232","DOIUrl":null,"url":null,"abstract":"In most aspects, advice are synchronously executed by application threads, which may cause high overhead if advice execution is frequent or computationally expensive. When synchronous advice execution is not a necessity, asynchronous advice execution has the potential to parallelize program and advice execution on multicores. However, asynchronous advice execution requires communication between threads, causing some overhead. In order to mitigate such overhead, we introduce buffered advice, a new AOP mechanism for aggregating advice invocations in a thread-local buffer, which is processed when it is full. For asynchronous processing of full buffers, the communication overhead is paid only once per buffer, instead of once per advice invocation. We present an enhanced AOP programming model and framework based on AspectJ, which ease the use of buffered advice and support pluggable, custom buffer processing strategies. As case study, we optimize an existing aspect for data race detection using buffered advice. A thorough evaluation with standard benchmarks confirms that the use of buffered advice yields significant speedup on multicores.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"71 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2010-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"24","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Aspect-Oriented Software Development","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1739230.1739232","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 24

Abstract

In most aspects, advice are synchronously executed by application threads, which may cause high overhead if advice execution is frequent or computationally expensive. When synchronous advice execution is not a necessity, asynchronous advice execution has the potential to parallelize program and advice execution on multicores. However, asynchronous advice execution requires communication between threads, causing some overhead. In order to mitigate such overhead, we introduce buffered advice, a new AOP mechanism for aggregating advice invocations in a thread-local buffer, which is processed when it is full. For asynchronous processing of full buffers, the communication overhead is paid only once per buffer, instead of once per advice invocation. We present an enhanced AOP programming model and framework based on AspectJ, which ease the use of buffered advice and support pluggable, custom buffer processing strategies. As case study, we optimize an existing aspect for data race detection using buffered advice. A thorough evaluation with standard benchmarks confirms that the use of buffered advice yields significant speedup on multicores.
面向方面编程的多核并行动态分析
在大多数情况下,通知是由应用程序线程同步执行的,如果通知执行频繁或计算成本高,这可能会导致较高的开销。当不需要同步通知执行时,异步通知执行有可能在多核上并行化程序和通知执行。然而,异步通知执行需要线程之间的通信,这会造成一些开销。为了减少这样的开销,我们引入了缓冲通知,这是一种新的AOP机制,用于在线程本地缓冲区中聚合通知调用,当缓冲区满时处理通知。对于全缓冲区的异步处理,每个缓冲区只支付一次通信开销,而不是每个通知调用支付一次。我们提出了一个基于AspectJ的增强的AOP编程模型和框架,它简化了缓冲通知的使用,并支持可插入的、自定义的缓冲区处理策略。作为案例研究,我们使用缓冲通知优化数据竞争检测的现有方面。通过标准基准测试进行的全面评估证实,使用缓冲通知在多核上产生了显著的加速。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信