2009 Volume 22 Issue 11 Pages 371-384
Recently proposed pipelined multithreading (PMT) techniques have shown great applicability to parallelizing general programs on multi-core processors. However, the potential performance of these techniques is limited by the large inter-core communication overheads which become a performance bottleneck. This paper addresses this problem and presents a novel clustered pipelined multithreading (CPMT) technique that can construct efficient pipeline parallelism on commodity multi-core processors. This technique combines a clustered communication mechanism that can greatly reduce average communication overheads (ACOs) in software only approach. We quantitatively demonstrate the performance of CPMT can be improved through reducing the ACOs and show the performance characteristics. Moreover, we also give the stage decomposition procedure and provide a stage execution framework that can execute the multiple stages within one procedure. The effectiveness of CPMT technique has been evaluated on the commodity AMD Phenom four-core processors. Experimental results show that our CPMT technique achieves speedup ranging from 116.8% to 219.8% on some typical loops extracted from SPEC CPU 2000 benchmark programs.