App Launch Cache Allocation for Stable Foreground Startup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The launch time of foreground applications on electronic devices is prolonged due to contention for shared resources, such as an L3 cache, with background applications, leading to a poor user experience from excessive waiting times.
Innovation Solution
Allocate a fixed size of the L3 cache to foreground applications of a specific type, ensuring stable occupancy and reducing contention, while allowing normal launch for non-specific type applications without fixed cache allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If background applications are allowed to run simultaneously, then application diversity and user productivity are improved, but foreground application launch time increases due to shared resource contention
Solution Approach 1:
The shared cache is segmented into application-specific cache regions, where each application receives a dedicated portion of cache memory. This segmentation allows background applications to run simultaneously while ensuring foreground applications have guaranteed cache access, eliminating contention and reducing launch time.
Solution Approach 2:
Cache resources are pre-allocated to applications based on their priority levels before they actually need them. When an application is installed or launched, the system proactively reserves appropriate cache space, so that when the application needs to access cache during launch or execution, the resources are already available without causing delays.
2Stability of the object's composition
If fixed cache allocation is provided to all applications, then launch time stability is improved, but system resource utilization efficiency deteriorates
Solution Approach 1:
Different cache allocation strategies are applied to different applications based on their specific needs and priority levels. Foreground applications receive guaranteed cache allocations for stable launch times, while background applications use dynamic allocation to optimize resource utilization. This local differentiation resolves the contradiction between stability and efficiency.
Solution Approach 2:
The cache allocation system transitions from a static fixed allocation model to a dynamic model where cache resources are allocated and adjusted in real-time based on application priority, current system state, and actual resource needs. This allows the system to maintain stability for critical applications while optimizing overall resource utilization.
Data Source
Figure 1A
Figure 1B~1C
Figure 1D
AI summary
This application provides an application launching method and an electronic device, and relates to the field of terminal technologies. After receiving a launch operation performed by a user on a first application, an electronic device launches the first application in response to the launch operation. During launching of the first application, the electronic device may use a sensitivity curve corresponding to the first application to determine a target occupancy corresponding to the first application, where the sensitivity curve corresponding to the first application identifies a mapping relationship between an occupancy of an L3 cache attributable to the first application and an IPC of the first application, and the target occupancy represents a minimum occupancy of the L3 cache that corresponds to a highest IPC. Then, the first application may allocate the L3 cache of a corresponding size to the first application based on the target occupancy, so as to continue launching the first application based on the L3 cache allocated to the first application, thereby ensuring a sufficiently high occupancy of the L3 cache attributable to the first application, and shortening launch duration of the first application.