One of the key challenges to develop applications for multicorebased embedded systems is enduring software complexity and performance requirements raised by parallel programming. Adaptive, self-aware or deterministic computing has been proposed as one method to help application developer cope with these problems. To provide these advanced features, the developer should monitor their application to know the current state of the application for optimizing or adapting to meet their goals. One solution is to make thread progress index of a program for tracking their current state. To guarantee accuracy of the tracking method, we find that the process of a thread should be repeatable and accurate. If the progress does not have the properties, it is impossible to guarantee the accuracy and determinism of the method for tracking progress of thread. Additionally, we minimize the overhead to measure and manage the progress even though providing the cycle-accurate progress tracking with inevitable runtime overhead. In this paper, we propose an efficient method to monitoring thread progress with a cycle-accurate deterministic progress counter and an efficient management technique for adaptive scheduling algorithm. As a case study, we implement 24 video decoders on a quad core system using the proposed runtime system and show the experimental result which yields a geometric mean overhead of about 2.1% to monitor each thread and these applications yield a mean performance improvement of 6% relative to normal execution when running on 4 cores.