Dynamic Scheduling Policy for CPU Resource Allocation in Electronic Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Electronic devices face challenges in balancing booting performance and application execution performance, often resulting in CPU contention and priority inversion, which delay application execution due to insufficient resource allocation and inefficient scheduling policies.
Innovation Solution
The implementation of a dynamic scheduling policy that applies a higher priority policy initially to the application process and then switches to a resource allocation ratio-based policy, along with priority inheritance mechanisms to ensure efficient CPU resource management and prevent delays during communication between processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If booting performance is increased to display the first screen quickly when the TV is turned on, then booting speed is improved, but application execution performance decreases
Solution Approach 1:
The system dynamically switches between two scheduling policies based on system state: a first scheduling policy that prioritizes booting processes to ensure fast system startup, and a second scheduling policy that prioritizes application processes once the system is booted. This dynamic adaptation resolves the contradiction by optimizing resource allocation for different operational phases.
Solution Approach 2:
The scheduler changes the scheduling parameters (priorities, time slices) based on the system phase. During booting, parameters are configured to favor system initialization processes; after booting, parameters are adjusted to favor user applications. This parameter transformation allows the system to achieve both fast booting and efficient application execution.
2Reliability
If CPU resources are allocated to service processes, then system stability is maintained, but application execution is delayed due to CPU contention
Solution Approach 1:
The scheduling policy dynamically adjusts CPU resource allocation between service processes and application processes based on system state. When applications need to execute, the system temporarily elevates their priority above service processes, ensuring timely execution while maintaining overall system stability through controlled resource sharing.
Solution Approach 2:
The system performs preliminary identification of application processes that require execution and proactively allocates sufficient CPU resources before execution begins. This preliminary resource reservation prevents CPU contention delays while ensuring service processes continue to receive necessary resources for system stability.
3Productivity
If priority inheritance is applied to communication response processes, then communication efficiency is improved, but scheduling complexity increases
Solution Approach 1:
Priority inheritance is applied selectively only to communication response processes that are waiting for responses from communication request processes, rather than universally to all processes. This localized application of priority inheritance improves communication efficiency while minimizing the increase in scheduling complexity by limiting the scope of the mechanism.
Data Source
AI summary
An electronic device according to an embodiment of the disclosure may, in response to execution of an application being requested, identify at least one service associated with the application, determine a first scheduling policy and a second scheduling policy to be applied to at least one process associated with the at least one service, apply the first scheduling policy corresponding to a higher scheduling priority, of the first scheduling policy and the second scheduling policy, to the at least one process, and release the first scheduling policy and apply the second scheduling policy to the at least one process in response to generation of an application process executing the application.


