Ten Years

十年一剑!
-------------------------------------------------
Operating System Research / Technique

Thursday, September 21, 2006

(HotOS'03 Note)Cassyopia: Compiler Assisted System Optimization

Cassyopia: Compiler Assisted System Optimization
Mohan Rajagopalan et al.
HotOS 2003

Focus on applying optimization techniques across address spaces on the same or different machines.跨保护边界的调用开销是非常大的,将过程内优化、过程间优化、全局优化等方面的技术应用在跨地址空间方面。文章中主要讨论的是对于系统调用方面的优化,也提到了远程过程调用的优化问题,不过没有展开。

主要采用profiling-based optimization,针对crossing次数和cost两个方面进行优化。对crossing次数采用system call clustering技术,包括mutil-callloop multi-call等。至于crossing cost方面,似乎没有多说。

System call clustering:通过profiling,建立system call graph,类似基本块图,但粒度更大一些。然后采用循环展开、调动等优化方法,把不相关的system call组合成multi-call或者loop multi-call,减少上下文切换次数。注意,这里错误处理可能会成为一个问题。

另外也提到了内核中执行应用程序代码的问题,replace general purpose code in the kernel bye compiler-generated case-specific code in user-space.解释了一些别人的工作,认为文中profiling可以为这些工作提供进一步支持。

文章中牵涉一些编译优化技术,发现自己了解的太少,以前了解的也忘差不多了。真后悔刚上研一时没有在编译组认真学!!!

另外,文中提到使用multi-call可以使mpeg_play性能(frame rate)提高25%,很震撼。要研究一下,怎么有这么多呢?

0 Comments:

Post a Comment

<< Home