首页 | 本学科首页   官方微博 | 高级检索  
     

面向对象语言并行化中的调用局部化优化
引用本文:于勐,臧婉瑜,谢立,孙钟秀,过敏意.面向对象语言并行化中的调用局部化优化[J].计算机学报,2002,25(4):409-416.
作者姓名:于勐  臧婉瑜  谢立  孙钟秀  过敏意
作者单位:1. 南京大学计算机软件新技术国家重点实验室,南京,210093,南京大学计算机科学与技术系,南京,210093
2. 日本会津大学计算机理工学部
基金项目:国家“八六三”高技术研究发展计划项目 (863 -3 0 6-ZT0 2 -0 3 0 1)资助
摘    要:该文提出了一种将调用局部化技术应用于并行环境下面向对象语言的方法,文中详细讨论了该技术的适用条件以及如何通过该方法减少循环中的远程过程调用开销,该优化技术产首先将循环分离成多个包含有远程调用的循环,再将分离后的循环分离给循环中对象所在的处理器,最后,化简迭代空间,并且用消息传递来传输数据,这种优化对象分布和循环并行化之后进行,将函数调用局部化于处理器,通过这种优化,可以进一步挖掘循环中的任务并行性,降低计算复杂度,减少函数调用开销,尤其适合面向对象语言中对循环里小函数的优化,该技术已经在作者设计的Java自动并行化编译器JAPS-Ⅱ中实现,在实验中,利用这种优化技术得到了超线性性加速比。

关 键 词:面向对象语言  优化  并行化  并行计算  分布式计算  并行编译
修稿时间:2001年2月16日

Method Invocation Localizing Optimization in Parallelizing Object-Oriented Language
YU Meng , ZANG Wan Yu , XIE Li , SUN Zhong Xiu , Guo Min Yi.Method Invocation Localizing Optimization in Parallelizing Object-Oriented Language[J].Chinese Journal of Computers,2002,25(4):409-416.
Authors:YU Meng  ZANG Wan Yu  XIE Li  SUN Zhong Xiu  Guo Min Yi
Affiliation:YU Meng 1),2) ZANG Wan Yu 1),2) XIE Li 1),2) SUN Zhong Xiu 1),2) Guo Min Yi 3) 1)
Abstract:Concurrent management and data distribution problems in parallel program design frustrate the construction of large scale software. In recent years, the researches to combine both parallel processing and object oriented techniques have got many result, including explicit parallel languages and automatic parallelizing compilers. Object oriented languages have many features that traditional languages have not. Java even has many new parallel facilities of modern languages. These features greatly frustrate the direct application of traditional techniques of parallelization to object oriented languages. For example, many small functions in object oriented programs are main obstacles to optimize the performance because these small functions generally have little computing cost but quite a bit invocation cost. In this paper, we propose one method for parallelizing OOL to reduce RPC cost. We discuss the condition for applying our techniques and introduce how to apply our techniques to reduce RPC cost. The optimization firstly separates one loop into multiple loops, and then distributes separated loops into different processors where the invoked object in loop is allocated. Finally, we reduce the iteration space and transports data by message passing. We apply the optimization after distributing objects and parallelizing loops. The optimization localizes method invocation at the processor. Through the optimization we exploit further parallelism, reduce computing complexity and reduce function call cost. The optimization is suitable for small function optimization in OOL. We have implemented the optimization in our automatic parallelizing compiler for JAVA, JAPS II. Our experiment demonstrates ultra linear speedup.
Keywords:object  oriented language  optimization  parallelization  parallel computing  distributed computing  parallelizing compile
本文献已被 CNKI 维普 万方数据 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号