- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
同期処理のモジュール化を 能にする
同期処理のモジュール化を可能にするアスペクト指向言語 理学部 情報科学科 04_00290 赤井駿平 指導教員 千葉滋 同期処理の分離の必要性 同期処理を適用する範囲を切り替えたい 同期処理は計算機の特性により最適な粒度が変化 Javassistのバグレポート [JASSIST-28 : /jira/browse/JASSIST-28] 細かい粒度と粗い粒度の同期処理を切り替えて,動作速度を調べる 同期を行う箇所が散らばっているので切り替えが大変 アスペクト指向言語による同期の分離- コード範囲をポイントカットすることの困難さ Fragile pointcut problem ソースコードを変更により 意図してしない場所をポイントカットしてしまう 意図した場所をポイントカットできなくなってしまう 範囲のポイントカットはソースコードの変更に弱い 例:行番号の指定 改行を追加するだけで意図した場所をポイントカットできなくなる ソースコードの変更に強い指定方法が必要 Fragile pointcut problemの要因 プログラムのブロック構造の変化 GluonJ/R [熊原ら ’07] 始点?終点をポイントカットで指定 ブロックの構造を無視したポイントカットを行えてしまう 適用できるアドバイスは例外処理のみ 類似したコード範囲の出現 LoopsAJ [Harbulot et al. ’06] ループのみポイントカット可能 メソッド内のループの区別ができない 取得するコンテキストに含まれる変数の名前?順序の変更 ローカル変数をアドバイスで利用したい ローカル変数の指定方法を工夫しないと,fragile pointcut 提案:ブロックポイントカット ブロックのような複数の実行点を含む範囲をジョインポイントとして指定 その範囲に対しアドバイスを実行できる 同期処理の分離や差し替えが容易 ソースコードの変更に強い範囲の指定方法 Fragile pointcut problemに対処可能 ポイントカットする範囲に条件を指定する 取得するコンテキストの指定 ブロック構造を考慮した範囲の指定 begin/endポイントカット 始点,終点となるジョインポイントを指定し,その2点間がポイントカットされる ブロックの深さが違う場合は,同じ深さまでブロックをさかのぼる 制御構造やブロックと重ならないように範囲を決定 類似したコード範囲の区別 include/excludeポイントカットを利用して絞り込む 範囲の中に含まれなければいけない,含まれてはいけないジョインポイントを指定 コンテキストの取得 同期処理を行う場合,ローカル変数を取得できなければならない 型を指定して取得するローカル変数を選ぶ 変数の名前や宣言順で指定すると fragile pointcut problem が起こりやすい 実装 AspectJを拡張 AspectBench Compiler を改造して実装 中間表現上にブロック,制御構造,文の情報を記録する 開始?終了を表す命令を新たに用意し,前後に挿入 ブロックを解析し,ポイントカットで指定された条件にマッチする範囲を選ぶ 適用例 Javassistのバグレポートにおける同期処理の粒度を切り替える 粗い粒度の場合 適用例(続き) 細かい粒度の場合 速度の測定 Javassistの同期の粒度をアスペクトを用いて変更し,バグレポートに投稿されたマイクロベンチマークを使用して実行時間を測定(1000回試行) 4コア,40スレッド 細かい粒度 : 平均実行時間 8.97秒,標準偏差 0.36 粗い粒度 : 平均実行時間 11.94秒,標準偏差 0.17 2コア,40スレッド 細かい粒度 : 平均実行時間 13.31秒,標準偏差 1.02 粗い粒度 : 平均実行時間 13.08秒,標準偏差 0.26 粒度の切り替えによる性能の向上 2コアで40スレッドの場合,粗い粒度の方が安定した速度 速度の安定性を考えると,粗い粒度の方が良い性能を出すことが分かる まとめと今後の課題 範囲をポイントカットする機構を提案 同期処理を分離して記述することができる AspectBench Compilerを改造して実装 Javassistに適用して実験 今後の課題 コンテキスト渡しの指定方法の改善 より柔軟な範囲の指定方法 * * public class ProxyFactory { public Class createClass() { if (thisClass == null) { ClassLoader cl = getClassLoader();
您可能关注的文档
- 天津联维乙烯工程有限公司-tj.ppt
- 天津美特斯试验机厂为您提供沥青混凝土比热试验仪.doc
- 天津市高等自学考试课程考试大纲.doc
- 天津市企业重点实验室建设申请书.doc
- 天津市住房公积金管理中心ups不间断电源系统项目需求.doc
- 天上謫仙人李白.ppt
- 天体放射論ii-ioa.s.u.ppt
- 天主教輔仁大學英國語文學系八十七學年度申請入學報名.doc
- 天主教蘆葦啟智中心附設喜樂工作坊.doc
- 甜甜圈界的lvmister.donut起源及行銷理念.ppt
- 深度解析(2026)GBT 7991.7-2019搪玻璃层试验方法 第7部分:平均线热膨胀系数的测定 .pptx
- 深度解析(2026)GBT 8190.8-2018《往复式内燃机 排放测量 第8部分:发动机系组的确定》.pptx
- 深度解析(2026)GBT 9338-2008《荧光增白剂 相对白度的测定 仪器法》.pptx
- Anhui Architectural Design Institute 安徽省建筑设计研究总院股份有限公司 内部控制评价手册 说明书.pdf
- 2026届河南省郑州市第五十四中学九年级数学第一学期期末学业水平测试试题含解析.doc
- 深度解析(2026)GBT 10085-2018《圆柱蜗杆传动基本参数》.pptx
- 2024年幼师实习心得(31篇).pdf
- 深度解析(2026)GBT 10087-2018圆柱蜗杆基本齿廓.pptx
- 深度解析(2026)GBT 10339-2018纸、纸板和纸浆 光散射和光吸收系数的测定(Kubelka-Munk法).pptx
- 深度解析(2026)GBT 10561-2023钢中非金属夹杂物含量的测定 标准评级图显微检验法.pptx
最近下载
- 信阳农林学院《公共英语一》2023-2024学年第一学期期末试卷.doc VIP
- 个人征信报告模板征信报告模板(2021带水印).pdf VIP
- 如何做好医患沟通(1)(1).pptx VIP
- 4.4天净沙秋思 教学课件(共29张PPT)(含音频+视频).pptx VIP
- 毕业设计(论文)-基于PLC智能分类垃圾桶设计.docx VIP
- 消防给水管道水压试验方案.docx VIP
- 标准图集-闽2004G104 钢筋混凝土桩基承台.pdf VIP
- 江苏西德电梯图纸一体机KFS25-Y4F-B110(有机房).pdf VIP
- 《桉树更新免炼山造林技术规程》.docx VIP
- 免炼山造林PPT课件.pptx VIP
原创力文档


文档评论(0)