DocumentCode
1564831
Title
Fast paths in concurrent programs
Author
Xu, Wen ; Kumar, Sanjeev ; Li, Kai
Author_Institution
Dept. of Comput. Sci., Princeton Univ., NJ, USA
fYear
2004
Firstpage
189
Lastpage
200
Abstract
Compiling concurrent programs to run on a sequential processor presents a difficult tradeoff between execution time and size of generated code. On one hand, the process-based approach to compilation generates reasonable sized code but incurs significant execution overhead due to concurrency. On the other hand, the automata-based approach incurs a much smaller execution overhead but can result in code that is several orders of magnitude larger. We propose a way of combining the two approaches so that the performance of the automata-based approach can be achieved without suffering the code size increase due to it. The key insight is that the best of the two approaches can be achieved by using symbolic execution (similar to the automata-based approach) to generate code for the commonly executed paths (referred to as fast paths) and using the process-based approach to generate code for the rest of the program. We demonstrate the effectiveness of this approach by implementing our techniques in the ESP compiler and applying them to a set of filter programs and to VMMC network firmware.
Keywords
multiprocessing programs; multiprocessing systems; optimising compilers; program control structures; ESP compiler; VMMC network firmware; automata-based approach; concurrent program compilation; fast path optimization; filter programs; sequential processor; Automatic control; Computer science; Concurrent computing; Electrostatic precipitators; Filters; Microprogramming; Program processors; Programming profession; User interfaces; Yarn;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel Architecture and Compilation Techniques, 2004. PACT 2004. Proceedings. 13th International Conference on
ISSN
1089-795X
Print_ISBN
0-7695-2229-7
Type
conf
DOI
10.1109/PACT.2004.1342553
Filename
1342553
Link To Document