Batch-pipelining for multicore H.264 decoding
Journal of Visual Communication and Image Representation
Hi-index | 0.01 |
In multicore environment, using multiple threads is a common useful approach to improve application performance. Nevertheless, even in many simple applications, the performance might degrade when the number of threads increases. Users usually impute this phenomenon to the overhead of creation or termination of threads. However, in our observation, the more significant effect is the dispatching of threads. We discuss the problems on using threads, and present a novel User Dispatching Mechanism (UDispatch) that provides controllability in user space to improve application performance. Since user threads cannot directly control system resources, a virtual device is adopted between user space and operating system for ortability and efficiency instead of adding new system calls through kernel modification. We also experiment UDispatch through multithreading multimedia applications. The results show that a skipline application speeds up to 111.3% and 111.6% on a 4-core machine and an 8-core machine, respectively, and an optimized H.264/AVC decoder speeds up to 18.4% on a 4-core machine.