KR20230073818A - Method for managing memory based on execution distance - Google Patents

Method for managing memory based on execution distance Download PDF

Info

Publication number
KR20230073818A
KR20230073818A KR1020210160588A KR20210160588A KR20230073818A KR 20230073818 A KR20230073818 A KR 20230073818A KR 1020210160588 A KR1020210160588 A KR 1020210160588A KR 20210160588 A KR20210160588 A KR 20210160588A KR 20230073818 A KR20230073818 A KR 20230073818A
Authority
KR
South Korea
Prior art keywords
execution
application
distance
execution distance
memory
Prior art date
Application number
KR1020210160588A
Other languages
Korean (ko)
Inventor
박상오
이재환
조민규
남상혁
Original Assignee
중앙대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 중앙대학교 산학협력단 filed Critical 중앙대학교 산학협력단
Priority to KR1020210160588A priority Critical patent/KR20230073818A/en
Publication of KR20230073818A publication Critical patent/KR20230073818A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Memory System (AREA)

Abstract

Disclosed is a memory management method based on an execution distance comprising: a step of generating and storing execution information of an application installed on a computing device at a preset time period; a step of predicting an execution distance of the application by performing learning of the execution information for a preset execution distance prediction model; a step of recovering the application from a memory in an order of highest execution distance to secure memory based on a predicted execution distance, when a preset available threshold for the memory within the computing device is exceeded. Therefore, the present invention is capable of increasing a memory management efficiency.

Description

실행 거리 기반 메모리 관리 방법{METHOD FOR MANAGING MEMORY BASED ON EXECUTION DISTANCE}Execution Distance Based Memory Management Method {METHOD FOR MANAGING MEMORY BASED ON EXECUTION DISTANCE}

본 발명은 실행 거리 기반 메모리 관리 방법에 관한 것으로, 더욱 상세하게는 애플리케이션이 실행되는 경우 일련의 실행된 흐름을 분석하여 해당 애플리케이션이 다시 실행될 거리를 예측하여 이를 메모리 회수에 활용하는 실행 거리 기반 메모리 관리 방법에 관한 것이다.The present invention relates to a method for memory management based on execution distance, and more particularly, when an application is executed, a series of executed flows is analyzed to predict the distance at which the corresponding application will be executed again, and memory management based on execution distance is utilized for memory recovery. It's about how.

종래 모바일 운영체제에서는 기본적으로 최저 사용 빈도(LRU: Least Recently Used) 방식의 애플리케이션 메모리 회수 정책을 사용한다. 이러한 메모리 회수 정책은 다시 실행되지 않은 가장 오래된 애플리케이션을 종료하여 메모리를 회수하는 정책이다. 최근 애플리케이션 실행 분석을 수행해 바로 다음에 실행 확률이 가장 낮은 애플리케이션을 종료하는 기법이 연구되었다. 근래에는 제한된 메모리 용량을 고려하여 애플리케이션 실행 분석에 관한 연구들이 활발하게 수행되고 있다.A conventional mobile operating system basically uses a Least Recently Used (LRU) application memory recovery policy. This memory reclamation policy is a policy that reclaims memory by terminating the oldest application that has not been executed again. Recently, a technique of performing application execution analysis and terminating the application with the lowest probability of execution immediately next has been researched. In recent years, studies on application execution analysis have been actively conducted in consideration of limited memory capacity.

이러한 종래의 메모리 회수 기술의 경우 애플리케이션 사용 패턴을 분석하는 방식으로 구현되었으나 메모리 관리에 활용할 수 없었다. 즉, 종래의 기술은 단순히 바로 다음에 실행될 애플리케이션에 대해서만 예측하는 한계가 있으므로, 임의의 애플리케이션이 다시 실행되기까지 얼마나 오래 걸리는지 분석할 수 있는 기술이 요구된다. 종래의 최저 사용 빈도(Least Recently Used) 기법은 사용자의 사용 패턴을 고려하지 않아 메모리 관리에 효율이 떨어질 수 있다.In the case of such a conventional memory recovery technique, although it is implemented in a way of analyzing application usage patterns, it cannot be utilized for memory management. That is, since the conventional technology has a limitation in simply predicting an application to be executed immediately next, a technology capable of analyzing how long it takes for an application to be executed again is required. The conventional Least Recently Used technique does not consider a user's usage pattern, and thus may reduce efficiency in memory management.

상기의 배경기술로서 설명된 사항들은 본 발명의 배경에 대한 이해 증진을 위한 것일 뿐, 이 기술분야에서 통상의 지식을 가진 자에게 이미 알려진 종래기술에 해당함을 인정하는 것으로 받아들여져서는 안 될 것이다.The matters described as the background art above are only for improving understanding of the background of the present invention, and should not be taken as an admission that they correspond to prior art already known to those skilled in the art.

미국공개특허공보 제2016-0259557호US Patent Publication No. 2016-0259557

이에 본 발명은, 애플리케이션 실행 기록을 분석하여 해당 애플리케이션이 추후 다시 실행될 거리를 예측하여 이를 메모리 회수에 활용하는 실행 거리 기반 메모리 관리 방법을 제공하는 것을 해결하고자 하는 기술적 과제로 한다.Accordingly, a technical problem of the present invention is to provide an execution distance-based memory management method that analyzes an application execution record, predicts a distance at which the corresponding application will be executed again in the future, and utilizes the result for memory recovery.

상기 기술적 과제를 해결하기 위한 수단으로서 본 발명은,As a means for solving the above technical problem, the present invention,

사전 설정된 시간 주기로 컴퓨팅 장치에 설치된 애플리케이션의 실행정보를 생성하고 저장하는 단계;generating and storing execution information of an application installed in a computing device at a predetermined time period;

상기 실행정보를 사전 설정된 실행 거리 예측 모델에 대한 학습을 수행하여 상기 애플리케이션의 실행 거리를 예측하는 단계; 및predicting the execution distance of the application by performing learning on the execution information on a preset execution distance prediction model; and

상기 컴퓨팅 장치 내 메모리에 대해 사전 설정된 가용 기준치가 초과하는 경우, 예측된 실행 거리에 기초하여 실행 거리가 높은 순으로 애플리케이션을 메모리에서 회수하여 메모리를 확보하는 단계;retrieving applications from the memory in order of increasing execution distance based on the predicted execution distance, and securing the memory, when a preset usable reference value for the memory in the computing device is exceeded;

를 포함하는 실행 거리 기반 메모리 관리 방법을 제공한다.It provides an execution distance-based memory management method that includes.

본 발명의 일 실시형태에서, 상기 예측하는 단계는, 사전 설정된 시간 주기 마다 상기 애플리케이션 별 실행 거리를 도출할 수 있다.In one embodiment of the present invention, the predicting may derive the execution distance for each application for each preset time period.

본 발명의 일 실시형태에서, 상기 예측하는 단계는, 직전 시간 주기에 실행되지 않은 애플리케이션에 대해 실행 거리를 감소시켜 실행 거리를 예측할 수 있다.In one embodiment of the present invention, the predicting may estimate the execution distance by decreasing the execution distance for an application that has not been executed in the previous time period.

본 발명의 일 실시형태에서, 상기 예측하는 단계는, 직전 시간 주기에 가장 작은 실행 거리를 갖는 애플리케이션이 실행되지 않고 타 애플리케이션이 실행된 경우, 실행된 타 애플리케이션에 대해 실행 거리를 증가시켜 실행 거리를 예측할 수 있다.In one embodiment of the present invention, the step of estimating may include increasing the execution distance for another executed application when the application having the smallest execution distance in the previous time period is not executed and another application is executed. Predictable.

상기 실행 거리 기반 메모리 관리 방법에 따르면, 실행 기록 데이터가 부족한 상황에서도 기본적으로 활용되는 최저 사용 빈도(LRU: Least Recently Used) 기법에 근사하여 동작할 수 있다. According to the execution distance-based memory management method, even in a situation where execution record data is insufficient, it is possible to operate close to the Least Recently Used (LRU) technique that is basically used.

상기 실행거리 기반 메모리 관리 방법에 따르면, 실행 기록 데이터가 누적될수록 재사용 가능성이 낮은 앱을 기존보다 정확하게 예측 가능하므로, 특히 모바일 운영체제에서 메모리 관리 효율이 증가시킬 수 있다.According to the execution distance-based memory management method, as execution record data is accumulated, it is possible to more accurately predict apps with low reusability than in the past, so memory management efficiency can be increased, especially in a mobile operating system.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below. will be.

도 1은 본 발명의 일 실시형태에 따른 실행 거리 기반 메모리 관리 방법이 적용된 시스템의 블록 구성도이다.
도 2는 본 발명의 일 실시형태에 따른 실행 거리 기반 메모리 관리 방법의 흐름도이다.
도 3은 본 발명의 일 실시형태에 따른 실행 거리 기반 메모리 관리 방법 애플리케이션 실행정보 및 학습 모델의 예를 도시한 도면이다.
1 is a block diagram of a system to which an execution distance-based memory management method according to an embodiment of the present invention is applied.
2 is a flowchart of a memory management method based on execution distance according to an embodiment of the present invention.
3 is a diagram illustrating an example of running distance-based memory management method application execution information and a learning model according to an embodiment of the present invention.

이하, 첨부의 도면을 참조하여 본 발명의 일 실시형태에 따른 실행 거리 기반 메모리 관리 방법을 더욱 상세하게 설명하기로 한다. Hereinafter, an execution distance-based memory management method according to an embodiment of the present invention will be described in more detail with reference to the accompanying drawings.

본 발명의 일 실시형태에 따른 실행 거리 기반 메모리 관리 방법은, 컴퓨팅 장치(예를 들어, 모바일 기기 등)의 운영체제(예를 들어, 안드로이드 등)에서 애플리케이션의 실행 기록을 분석하여 해당 애플리케이션이 다시 실행될 시점을 예측한다는 점에서 종래 기술과 차이가 있다.An execution distance-based memory management method according to an embodiment of the present invention analyzes an execution record of an application in an operating system (eg, Android, etc.) of a computing device (eg, a mobile device, etc.) and executes the corresponding application again. There is a difference from the prior art in that the viewpoint is predicted.

종래 기술은 바로 다음에 실행될 가능성이 가장 낮은 애플리케이션을 종료 및 메모리 회수 대상으로 결정하였다. 이에 반해, 본 발명의 일 실시형태에 따른 실행 거리 기반 메모리 관리 방법은, 메모리 부족 상황 발생시 애플리케이션 중 상대적으로 가까운 미래에 다시 실행될 가능성이 높은 애플리케이션을 메모리에 유지시키고, 상대적으로 먼 미래에 다시 실행될 가능성이 있는 애플리케이션은 메모리에서 해제시키는 것을 특징으로 한다.In the prior art, an application having the lowest possibility of being executed immediately is determined as a target for termination and memory recovery. On the other hand, in the execution distance-based memory management method according to an embodiment of the present invention, when a memory shortage occurs, applications that are likely to be executed again in the relatively near future are maintained in memory and are likely to be executed again in the relatively distant future. An application with , is characterized by freeing it from memory.

도 1은 본 발명의 일 실시형태에 따른 실행 거리 기반 메모리 관리 방법이 적용된 시스템의 블록 구성도이다.1 is a block diagram of a system to which an execution distance-based memory management method according to an embodiment of the present invention is applied.

도 1을 참조하면, 본 발명의 일 실시형태에 따른 실행 거리 기반 메모리 관리 방법이 적용되는 시스템은, 프레임워크 모듈(100) 및 커널 모듈(200)을 포함할 수 있다.Referring to FIG. 1 , a system to which the execution distance-based memory management method according to an embodiment of the present invention is applied may include a framework module 100 and a kernel module 200.

프레임워크 모듈(100)은 적어도 하나 이상의 애플리케이션에 대한 실행 정보를 생성하고, 생성된 실행정보를 기반으로 사전 설정된 시간 주기 마다 예측 모델을 학습하여 적어도 하나 이상의 애플리케이션 각각이 다시 실행될 거리를 예측할 수 있다.The framework module 100 may generate execution information for at least one or more applications, and predict a distance at which each of the at least one or more applications will be re-executed by learning a prediction model for each preset time period based on the generated execution information.

더욱 상세하게, 프레임워크 모듈(100)은 실행정보 생성부(110) 및 예측 모델 생성부(130)를 포함하여 구성될 수 있다.In more detail, the framework module 100 may include an execution information generator 110 and a predictive model generator 130.

실행정보 생성부(110)는 적어도 하나 이상의 애플리케이션이 실행된 시점에 관련된 실행정보를 생성하고 저장할 수 있다.The execution information generating unit 110 may generate and store execution information related to a time when at least one or more applications are executed.

예측 모델 생성부(130)는 실행정보 생성부(110)에서 생성된 실행정보를 사전 설정된 실행 거리 예측 모델에 입력하여 예측 모델에 대한 학습이 이루어지게 할 수 있다. 예측 모델 생성부(130)에서 사용되는 사전 설정된 실행 거리 예측 모델은 애플리케이션 실행 기록 분석을 통해 애플리케이션이 다시 실행되기까지 그 사이에 실행된 애플리케이션의 종류를 예측하는 방법을 학습함으로써 생성될 수 있다.The predictive model generation unit 130 inputs the execution information generated by the execution information generation unit 110 to a preset running distance prediction model so that the prediction model can be learned. The preset execution distance prediction model used in the predictive model generation unit 130 may be generated by learning a method of predicting the type of application executed in the meantime until the application is executed again through application execution record analysis.

커널 모듈(200)은 예측된 실행 거리에 기반하여 애플리케이션의 실행 거리가 큰 순서로 애플리케이션을 종료하여 메모리를 확보할 수 있다.The kernel module 200 may secure memory by terminating applications in the order of increasing execution distances based on the predicted execution distances.

더욱 상세하게, 커널 모듈(200)은 실행 거리 저장부(210) 및 메모리 확보부(230)를 포함할 수 있다.More specifically, the kernel module 200 may include an execution distance storage unit 210 and a memory securing unit 230 .

실행 거리 저장부(210)는 사전 설정된 시간 주기 마다 애플리케이션 별로 예측된 실행거리를 저장할 수 있다.The running distance storage unit 210 may store the predicted running distance for each application at each preset time period.

실행 거리 저장부(210)에서 저장되는 실행 거리는 사전 설정된 시간 주기 마다 애플리케이션 별로 저장할 수 있으며, 애플리케이션의 실행 여부에 따라 기간 주기 별로 실행 거리가 갱신될 수 있다.The running distance stored in the running distance storage unit 210 may be stored for each application at each preset time period, and the running distance may be updated for each period depending on whether the application is executed or not.

메모리 확보부(230)는 기 설정된 메모리의 가용 기준치를 초과할 경우, 저장된 실행 거리에 기초하여 실행 거리가 높은 순으로 애플리케이션을 메모리에서 회수하여 메모리를 확보할 수 있다.The memory securing unit 230 may secure the memory by retrieving applications from the memory in order of increasing execution distance based on the stored execution distance, when the preset memory availability threshold is exceeded.

여기서, 메모리 확보부(230)는 컴퓨팅 장치 내 메모리의 사용 용량이 기 설정된 메모리의 가용기준치보다 작을 때까지 애플리케이션을 메모리에서 회수하여 메모리를 확보할 수 있다.Here, the memory securing unit 230 may secure the memory by retrieving the application from the memory until the used capacity of the memory in the computing device is less than a preset available reference value of the memory.

도 2는 본 발명의 일 실시형태에 따른 실행 거리 기반 메모리 관리 방법의 흐름도이다. 또한, 도 3은 본 발명의 일 실시형태에 따른 실행 거리 기반 메모리 관리 방법 애플리케이션 실행정보 및 학습 모델의 예를 도시한 도면이다.2 is a flowchart of a memory management method based on execution distance according to an embodiment of the present invention. 3 is a diagram illustrating an example of execution information and a learning model of an application execution distance-based memory management method according to an embodiment of the present invention.

도 2 및 도 3을 참조하면, 본 발명의 일 실시형태에 따른 실행 거리 기반 메모리 관리 방법은, 실행정보 생성부(110)에서 애플리케이션의 실행정보를 생성하고 저장하는 단계부터 시작될 수 있다(S11).Referring to FIGS. 2 and 3 , the execution distance-based memory management method according to an embodiment of the present invention may start from generating and storing execution information of an application in the execution information generation unit 110 (S11). .

단계(S11)에서, 실행정보 생성부(110)는 컴퓨팅 장치(예를 들어, 스마트 폰)에서 애플리케이션이 실행되는 경우 실행된 애플리케이션의 명칭과 실행 시점에 대한 실행정보를 생성하여 저장할 수 있다. 도 3에서, 'T0' 시점에는 'A3'라는 애플리케이션이 실행되고, 'T1' 시점에는 'A1'라는 애플리케이션이 실행되며, 'T2' 시점에는 'A4'라는 애플리케이션이 실행되고, 'T3' 시점에는 'A1'라는 애플리케이션이 실행되고, 'T4' 시점에는 'A2'라는 애플리케이션이 실행되는 예가 도시된다.In step S11, when the application is executed in the computing device (eg, smart phone), the execution information generation unit 110 may generate and store execution information about the name and execution time of the executed application. In FIG. 3 , an application named 'A3' is executed at a time 'T0', an application named 'A1' is executed at a time 'T1', an application named 'A4' is executed at a time 'T2', and an application named 'A4' is executed at a time 'T3'. An example in which an application 'A1' is executed and an application 'A2' is executed at a time point 'T4' is shown.

이어, 단계(S12)에서, 예측 모델 생성부(130)는 실행정보 생성부(110)에서 생성된 실행정보를 사전 설정된 실행 거리 예측 모델에 입력하여 예측 모델에 대한 학습이 이루어지게 할 수 있다. Next, in step S12, the prediction model generation unit 130 inputs the execution information generated by the execution information generation unit 110 to a preset running distance prediction model so that the prediction model can be learned.

도 3에 도시된 것과 같이, 예측 모델은 사전 설정된 시간 주기 별로 적어도 컴퓨팅 장치에 설치된 애플리케이션과 해당 시간 주기 내에서 애플리케이션의 실행 여부에 따라 애플리케이션 실행 거리를 도출하도록 학습될 수 있다.As shown in FIG. 3 , the predictive model may be trained to derive an application execution distance according to at least an application installed in the computing device for each preset time period and whether or not the application is executed within the corresponding time period.

예측 모델은 시간 주기 마다 실행되지 않은 애플리케이션에 대해 직전 시간 주기에서 예측된 실행 거리를 감소시키는 방식으로 이루어질 수 있다. 실행 거리가 가장 작은 애플리케이션은 그 다음 시간 주기에서 실행될 것으로 예측되는 애플리케이션이 될 수 있다.The predictive model may be made in such a way that for each time period, for applications that have not been executed, the predicted execution distance in the immediately preceding time period is reduced. The application with the smallest running distance may be the application predicted to run in the next time period.

한편, 그 다음 시간 주기에서 실행될 것으로 예측된 애플리케이션이 아닌 다른 애플리케이션이 실행된 경우 해당 애플리케이션에 대해서는 실행 거리를 증가하도록 학습될 수 있다.Meanwhile, when an application other than an application predicted to be executed in the next time period is executed, the execution distance may be increased for the corresponding application.

즉, 도 3의 예에서, 'T4' 시점에서는 실행 거리가 가장 작은 'A4'라는 애플리케이션이 그 다음 주기에 실행될 것으로 예측될 수 있으나, 실제 그 다음 시간 주기인 'T5' 시점에 'A4'가 아닌 'A2'가 실행된 경우, 'T5' 시점에서는 'A2' 애플리케이션에 대해 실행 거리를 증가시킬 수 있다(2에서 3으로 증가됨).That is, in the example of FIG. 3 , it can be predicted that the application 'A4' with the smallest execution distance will be executed in the next period at time 'T4', but 'A4' at time 'T5', which is actually the next time period. If 'A2', which is not the case, is executed, the execution distance for the 'A2' application may be increased (increased from 2 to 3) at the time of 'T5'.

이어, 단계(S13)에서, 실행 거리 저장부(210)는 전술한 것과 같은 예측 모델에 의해 생성된 실행 거리를 매 주기 마다 업데이트하여 저장할 수 있다.Subsequently, in step S13, the running distance storage unit 210 may update and store the running distance generated by the predictive model as described above every cycle.

이어, 단계(S14)에서는, 기 설정된 메모리의 가용기준치를 초과하는 경우, 가장 최근 시간 주기에 학습된 애플리케이션 별 실행거리를 확인하고 실행 거리가 큰 순서로 애플리케이션을 종료하여 메모리를 회수함으로써 메모리를 확보할 수 있다.Subsequently, in step S14, if the preset memory availability threshold is exceeded, the execution distance for each application learned in the most recent time period is checked, and the application is terminated in order of the largest execution distance to recover the memory to secure memory can do.

이상에서 설명한 것과 같이, 본 발명의 일 실시형태에 따른 실행 거리 기반 메모리 관리 방법은, 실행 기록 데이터가 부족한 상황에서도 기본적으로 활용되는 최저 사용 빈도(LRU: Least Recently Used) 기법에 근사하여 동작할 수 있다. 이러한 본 발명의 일 실시형태에 따른 메모리 관리 방법은, 실행 기록 데이터가 누적될수록 재사용 가능성이 낮은 앱을 기존보다 정확하게 예측 가능하므로, 특히 모바일 운영체제에서 메모리 관리 효율이 증가시킬 수 있다.As described above, the execution distance-based memory management method according to an embodiment of the present invention can operate close to the Least Recently Used (LRU) technique that is basically used even in a situation where execution record data is insufficient. there is. In the memory management method according to an embodiment of the present invention, as execution record data accumulates, apps with low reusability can be predicted more accurately than before, so memory management efficiency can be increased, especially in a mobile operating system.

이상에서 본 발명의 특정한 실시형태에 관련하여 도시하고 설명하였지만, 이하의 특허청구범위에 의해 제공되는 본 발명의 기술적 사상을 벗어나지 않는 한도 내에서, 본 발명이 다양하게 개량 및 변화될 수 있다는 것은 당 기술분야에서 통상의 지식을 가진 자에게 있어서 자명할 것이다.Although the above has been shown and described in relation to specific embodiments of the present invention, it is understood that the present invention can be variously improved and changed without departing from the technical spirit of the present invention provided by the claims below. It will be obvious to those skilled in the art.

100: 프레임워크 모듈 110: 실행정보 생성부
130: 예측 모델 생성부 200: 커널 모듈
210: 실행 거리 저장부 230: 메모리 확보부
100: framework module 110: execution information generation unit
130: predictive model generator 200: kernel module
210: execution distance storage unit 230: memory securing unit

Claims (4)

사전 설정된 시간 주기로 컴퓨팅 장치에 설치된 애플리케이션의 실행정보를 생성하고 저장하는 단계;
상기 실행정보를 사전 설정된 실행 거리 예측 모델에 대한 학습을 수행하여 상기 애플리케이션의 실행 거리를 예측하는 단계; 및
상기 컴퓨팅 장치 내 메모리에 대해 사전 설정된 가용 기준치가 초과하는 경우, 예측된 실행 거리에 기초하여 실행 거리가 높은 순으로 애플리케이션을 메모리에서 회수하여 메모리를 확보하는 단계;
를 포함하는 실행 거리 기반 메모리 관리 방법.
generating and storing execution information of an application installed in a computing device at a predetermined time period;
predicting the execution distance of the application by performing learning on the execution information on a preset execution distance prediction model; and
retrieving applications from the memory in descending order of execution distance based on the predicted execution distance, and securing the memory, when a preset usable reference value for the memory in the computing device is exceeded;
Running distance-based memory management method comprising a.
청구항 1에 있어서, 상기 예측하는 단계는,
사전 설정된 시간 주기 마다 상기 애플리케이션 별 실행 거리를 도출하는 것을 특징으로 하는 실행 거리 기반 메모리 관리 방법.
The method according to claim 1, wherein the predicting step,
Execution distance-based memory management method, characterized in that for deriving the execution distance for each application for each predetermined time period.
청구항 2에 있어서, 상기 예측하는 단계는,
직전 시간 주기에 실행되지 않은 애플리케이션에 대해 실행 거리를 감소시켜 실행 거리를 예측하는 것을 특징으로 하는 실행 거리 기반 메모리 관리 방법.
The method of claim 2, wherein the predicting step,
An execution distance-based memory management method comprising estimating an execution distance by decreasing an execution distance for an application that has not been executed in a previous time period.
청구항 2에 있어서 상기 예측하는 단계는,
직전 시간 주기에 가장 작은 실행 거리를 갖는 애플리케이션이 실행되지 않고 타 애플리케이션이 실행된 경우, 실행된 타 애플리케이션에 대해 실행 거리를 증가시켜 실행 거리를 예측하는 것을 특징으로 하는 실행 거리 기반 메모리 관리 방법.
The predicting step of claim 2,
An execution distance-based memory management method characterized by predicting an execution distance by increasing an execution distance for another executed application when an application having the smallest execution distance is not executed and another application is executed in a previous time period.
KR1020210160588A 2021-11-19 2021-11-19 Method for managing memory based on execution distance KR20230073818A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210160588A KR20230073818A (en) 2021-11-19 2021-11-19 Method for managing memory based on execution distance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210160588A KR20230073818A (en) 2021-11-19 2021-11-19 Method for managing memory based on execution distance

Publications (1)

Publication Number Publication Date
KR20230073818A true KR20230073818A (en) 2023-05-26

Family

ID=86537229

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210160588A KR20230073818A (en) 2021-11-19 2021-11-19 Method for managing memory based on execution distance

Country Status (1)

Country Link
KR (1) KR20230073818A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160259557A1 (en) 2015-03-05 2016-09-08 Samsung Electronics Co., Ltd. Mobile device and data management method of the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160259557A1 (en) 2015-03-05 2016-09-08 Samsung Electronics Co., Ltd. Mobile device and data management method of the same

Similar Documents

Publication Publication Date Title
EP3485415B1 (en) Devices and methods for classifying an execution session
CN109857555B (en) Memory recovery method and device, storage medium and electronic equipment
CN104137094B (en) A kind of method and system that the content for calculating equipment is fetched in advance
US20180039779A1 (en) Predictive Behavioral Analysis for Malware Detection
CN100447744C (en) Method and system for managing stack
WO2019150343A1 (en) Resource needs prediction in virtualized systems: generic proactive and self-adaptive solution
CN105359108A (en) Storage systems with adaptive erasure code generation
US10528863B2 (en) Feedback mechanisms in sequence learning systems with temporal processing capability
CN109284233B (en) Garbage recovery method of storage system and related device
Chen et al. Retail: Opting for learning simplicity to enable qos-aware power management in the cloud
US20110055843A1 (en) Scheduling Jobs For Execution On A Computer System
CN102707955A (en) Method for realizing support vector machine by MPI programming and OpenMP programming
US20200193268A1 (en) Multi-instance recurrent neural network prediction
CN106844101B (en) NVP performance optimization backup method and system based on Cache perception
US10776687B2 (en) Union processing of sequences of patterns
CN110806962A (en) Log level prediction method, device and storage medium
KR20230073818A (en) Method for managing memory based on execution distance
KR102280298B1 (en) Memory management system and method considering application usage patterns analysis
Mierswa et al. Efficient case based feature construction
CN117580046A (en) Deep learning-based 5G network dynamic security capability scheduling method
CN116485188A (en) Risk identification method, device and equipment
Kim et al. Computing bounded ε-reach set with finite precision computations for a class of linear hybrid automata
CN115858648A (en) Database generation method, data stream segmentation method, device, equipment and medium
Glaubius et al. Scheduling design and verification for open soft real-time systems
Wang et al. Memory scaling of cloud-based big data systems: A hybrid approach