Algorithm of Compiler Optimizations for Stream Programs Based on X10

LIU Xiao-xian,WEI Hai-tao,YU Jun-qing
DOI: https://doi.org/10.3969/j.issn.1000-1220.2013.10.003
2013-01-01
Abstract:Stream programming,as a kind of important paradigm,has been widely used in many applications. However,the diversity of multicorearchitecture makes the stream programs difficult to port among different platforms. As a new kind of parallel programming language,X10 provides a unified parallel computation environment for the different multi-core architecture details. How to use the X10 language features to improve the data flow program efficiency has become a major difficulty of the current research w ork. We designed and implemented a language COStream and the corresponding optimized compiler system. The compiler system established three optimization strategies:The Code generation optimization reduced the amount of X10 code; the task division optimization obtained load balancing,and avoided deadlock,at the same time reduced communication overhead; the communication optimization distinguished the machine-to-machine communication,the communication betw een the internal threads of the machine,the thread internal communication and finally reduced the total communication overhead. After the three optimization strategy,the compiler generates the X10 code and then calls the X10 compiler to generate the final object code. The experimental results show that the three compiler optimization strategies have gained a greater performance boost.
What problem does this paper attempt to address?