Evaluating the Run-Time Performance of Kahn Process Network Implementation Techniques on Shared-Memory Multiprocessors