A Dependency-Aware Model for Task Execution Optimization in Multicore Systems

Abstract:

In modern multicore computing systems, operating systems are responsible for dynamically allocating processor time across multiple concurrent tasks. Although system schedulers efficiently manage thread dispatch based on priorities and fairness, they are generally unaware of logical dependencies between tasks at the application level. As a consequence, threads may be launched prematurely, even when they must wait for other tasks to complete, resulting in idle CPU cycles, resource contention, and delayed execution. This paper presents a model that introduces an external dependency-aware execution layer, which complements the default behavior of the system scheduler. The proposed model evaluates whether all declared dependencies of a given task are satisfied before dispatching it for execution. Only tasks whose dependencies are fulfilled are launched, effectively avoiding scenarios in which threads are unnecessarily active and blocking CPU resources while awaiting prerequisites. The model is designed to operate independently of the operating system’s internal scheduling mechanisms, and it can be applied to both statically defined and dynamically introduced task sets. Its development is informed by a thorough analysis of thread execution behavior, context switching, and scheduling logic in both Windows and Linux environments, with reference to their official system documentation. The theoretical justification for this approach is rooted in the principle that preventing the launch of tasks with unmet dependencies reduces unnecessary CPU occupation, especially in environments with high task concurrency and inter-task relationships. By minimizing active waiting and reducing resource contention, the model is expected to improve overall execution efficiency.