Abstract
Multi-core processors have elevated the performance of software via true parallelization. However, this has also created new challenges. One serious issue is the bottleneck in system performance due to synchronization, cache misses, or resource starvation, which is hard to detect in application software with runtime changing behavior. Performance monitors are usually employed for such detection. Nevertheless, monitors have introduced their own computation and communication overheads, especially in embedded multi-core systems. In this work, we propose a multi-core performance monitor and evaluate the effects of monitor overheads on different types of tasks, such as CPU-bound and IO-bound tasks. Further, we give suggestions on the number of monitors and the type of monitor deployments for embedded multi-core applications. Besides trying to reduce monitor overheads, we also aim at the accuracy and the immediacy of the monitored information. Through a real-world example, namely digital video recording system, we demonstrate how different monitoring periods affect the tradeoff between the accuracy and the immediacy.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.