Communication Pipelining for Code Generation from Simulink Models

Automatic multi-threaded code generation is one of the key techniques to improve MPSoC-based programming efficiency. Besides the saving on programming effort, system performance is also an important ant issue to be considered. As thread communication is frequent in multi-threaded code, the whole performance will be improved by reducing communication cost. We present two techniques to improve communication related performance during multi-threaded code generation. One is communication pipeline technique that applies distributed memory server for parallel execution between message passing and functional tasks to reduce the cost caused by communication between different threads. The other technique is to allocate more buffers to communication channel to reduce thread switching. The two techniques can be applied to communicated threads in acyclic topologies. To maximize the application of these techniques, we also propose a technique to search for cyclic techniques and decompose some of the threads to avoid cyclic topologies.