KR101395699B1 - Method for classifying task and method for improving performance of shared last level cache - Google Patents

Method for classifying task and method for improving performance of shared last level cache Download PDF

Info

Publication number
KR101395699B1
KR101395699B1 KR1020120066587A KR20120066587A KR101395699B1 KR 101395699 B1 KR101395699 B1 KR 101395699B1 KR 1020120066587 A KR1020120066587 A KR 1020120066587A KR 20120066587 A KR20120066587 A KR 20120066587A KR 101395699 B1 KR101395699 B1 KR 101395699B1
Authority
KR
South Korea
Prior art keywords
task
traffic
last level
level cache
size
Prior art date
Application number
KR1020120066587A
Other languages
Korean (ko)
Other versions
KR20130143233A (en
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 KR1020120066587A priority Critical patent/KR101395699B1/en
Publication of KR20130143233A publication Critical patent/KR20130143233A/en
Application granted granted Critical
Publication of KR101395699B1 publication Critical patent/KR101395699B1/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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명의 일 실시예에 따른 태스크 분류방법은, 특정 태스크에 의해 발생하는 I/O 트래픽의 크기를 측정하는 단계; 상기 누마 시스템에 포함된 공유 라스트 레벨 캐시(LLC)의 최대 크기와 상기 I/O 트래픽의 크기를 비교하는 단계; 및 상기 비교 결과에 기초하여 상기 특정 태스크를 악성 태스크 또는 일반 태스크로 분류하는 단계를 포함하여 구성됨으로써, 간단한 알고리즘을 통해 누마 시스템 환경 하에서 어느 태스크가 캐시 오염을 일으킬 수 있는 태스크인지 정확하고 신속하게 구별해낼 수 있다. A task classification method according to an embodiment of the present invention includes: measuring a size of I / O traffic generated by a specific task; Comparing the maximum size of the shared last level cache (LLC) included in the system with the size of the I / O traffic; And classifying the specific task as a malicious task or a general task based on the comparison result. Thus, it is possible to accurately and quickly discriminate which task is likely to cause cache contamination in a NIMA system environment through a simple algorithm I can do it.

Description

태스크 분류방법 및 이를 이용한 공유 라스트 레벨 캐시의 성능 향상방법{METHOD FOR CLASSIFYING TASK AND METHOD FOR IMPROVING PERFORMANCE OF SHARED LAST LEVEL CACHE}[0001] METHOD FOR CLASSIFYING TASK AND METHOD FOR IMPROVING PERFORMANCE OF SHARED LAST LEVEL CACHE [0002]

본 발명은 태스크 분류방법 및 이를 이용한 공유 라스트 레벨 캐시의 성능 향상방법에 관한 것이고, 보다 구체적으로 누마(NUMA) 시스템에서의 태스크 분류방법 및 이를 이용한 공유 라스트 레벨 캐시의 성능 향상방법에 관한 것이다.
The present invention relates to a task classification method and a method for improving performance of a shared last level cache using the method. More particularly, the present invention relates to a task classification method in a NUMA system and a method for improving performance of a shared last level cache using the same.

NUMA(Non-Uniform Memory Access; 이하 '누마'로 지칭함) 시스템은 여러 개의 작업을 병렬로 처리하는 다중 처리 시스템(Multiprocessing system)의 일종으로서, 다수의 누마 노드(Node)를 포함하고, 특정 누마 노드에 있는 CPU(중앙처리장치)는 기본적으로 그 특정 누마 노드에 독립적으로 있는 메모리에 접근하도록 하여 성능 충돌 문제를 해결하는 시스템이다. [0002] A non-uniform memory access (NUMA) system is a kind of multiprocessing system that processes a plurality of jobs in parallel. The system includes a plurality of numeration nodes, The CPU (central processing unit) in the system is basically a system that solves the performance conflict problem by making it accessible to a memory independent of the specific numeral node.

이러한 누마 시스템 하에 있는 각 CPU는 대체적으로 독립적인 L1, L2 캐시 메모리와, 공유 상태에 있는 LLC(Last Level Cache; 이하 '라스트 레벨 캐시'로 지칭함) 메모리를 가지고 있는 형태의 아키텍처로 이루어진다.Each CPU under this system consists of a largely independent L1 and L2 cache memory and a shared-state LLC (Last Level Cache) memory.

누마 시스템의 전체 성능을 향상시키기 위해서는 누마 시스템에 포함된 공유 라스트 레벨 캐시의 캐시 오염(Cache Pollution) 문제에 대한 해결이 필요하다. 캐시 오염이란 기존의 캐시 라인의 데이터가 새로운 데이터로 교체되어 캐시의 재사용을 방해하는 것을 의미한다. 즉, 공유 라스트 레벨 캐시의 재사용 확률을 얼마나 높일 수 있는가와, 누마 시스템의 전체적인 성능 간에는 매우 밀접한 관계가 있다.In order to improve the overall performance of the Numa system, it is necessary to solve the problem of cache pollution of the shared last level cache included in the Numa system. Cache corruption means that data in an existing cache line is replaced with new data and prevents reuse of the cache. That is, there is a close relationship between how much the reuse probability of the shared last level cache can be increased and the overall performance of the Numa system.

일정 컴퓨팅 자원을 차지하여 특정 프로그램을 수행하는 태스크(Task) 중 멀티미디어 동영상, 웹 상에서의 다운로드, 파일에 대한 처리 등을 위한 I/O 집중 태스크는 캐시의 재사용 확률이 낮아 심각한 캐시 오염 문제를 일으킬 수 있다. I / O concentration tasks for multimedia video, downloading on web, processing files, etc. among tasks that occupy schedule computing resources and perform specific programs may cause serious cache pollution problem due to low cache reuse probability have.

특히, 공유 라스트 레벨 캐시를 포함하는 누마 시스템 환경에서 이러한 I/O 집중 태스크를 메모리 집중 태스크와 같은 다른 태스크와 함께 수행시키면, 캐시 오염으로 인해 메모리 집중 태스크의 캐시 효율성까지도 악화시키는 문제점이 생긴다. In particular, if such an I / O concentration task is performed with other tasks, such as a memory concentration task, in a minimus system environment including a shared last level cache, the cache pollution also causes a cache efficiency of the memory concentration task to deteriorate.

따라서, 누마 시스템 등과 같은 공유 캐시를 가지고 있는 시스템 상에서 태스크를 적절히 분류하여 캐시 오염을 줄일 수 있는 스케줄링 방법에 대한 연구가 활발하게 진행되고 있다. Therefore, there is an active research on a scheduling method capable of reducing cache pollution by properly classifying tasks on a system having a shared cache such as Numa system.

기존 스케줄링 방법 중 하나는 동물 분류법으로서, 각각의 태스크가 캐시를 공유하는 코어쌍(Core Pair)에서 함께 수행되는 경우, 동시에 수행되는 태스크 간에 서로 영향을 미치는 정도에 대해 캐시 접근성과 캐시 미스율을 기준으로 파악한다. 태스크 간에 서로 영향을 미치는 정도를 이용하여 각각의 태스크를 네 종류 중 어느 하나로 분류하는 방식이다. One of the existing scheduling methods is an animal classification method. When each task is executed together in a core pair sharing a cache, the degree of mutual influence between tasks performed simultaneously is determined based on cache accessibility and cache miss rate I understand. Each task is classified into one of four types using the degree of mutual influence between tasks.

이밖에, IPC(Instruction Per Cycle) 또는 스택 거리차(Stack Distance) 등을 기준으로 각각의 태스크를 분류하는 스케줄링 방법도 소개되고 있다. In addition, a scheduling method for classifying each task based on IPC (Instruction Per Cycle) or stack distance difference is also introduced.

또한, 기존 스케줄링 방법의 하나로서, 일본공개특허 제 2011-059777호(발명의 명칭: 태스크 스케줄링 방법 및 멀티코어 시스템)에서는 캐시 메모리의 이용 효율이 저하되지 않을 범위에서 가능한 한 많은 태스크를 실행시키는 스케줄링 방법을 개시하고 있다.
다만, 이러한 기존 스케줄링 방법과 차별화된 스케줄링 방법을 이용하여 전체 시스템의 성능을 향상시킬 수 있는 태스크 분류 기법에 대한 연구가 지속적으로 필요한 상황이다.
As one of the existing scheduling methods, Japanese Laid-Open Patent Application No. 2011-059777 (entitled " Task Scheduling Method and Multi-core System ") discloses a scheduling method for executing as many tasks as possible, / RTI >
However, there is a continuing need for a task classification scheme that can improve the performance of the entire system by using the existing scheduling method and the differentiated scheduling method.

본 발명의 일부 실시예는 각각의 태스크를 기존 방식과 차별화되는 분류 기준에 의해 분류하여 캐시 오염을 방지할 수 있는 태스크 분류방법을 제공하는 데에 그 목적이 있다.It is an object of the present invention to provide a task classification method capable of preventing cache pollution by classifying each task according to a classification standard differentiated from an existing one.

또한, 본 발명의 일부 실시예는 누마 시스템의 일정 누마 노드를 활용해서 캐시 오염을 발생시킬 수 있는 태스크를 별도로 격리 처리함으로써, 공유 캐시뿐만 아니라 전체 누마 시스템의 성능을 향상시키는 방법을 제공하는 데에 그 목적이 있다.
In addition, some embodiments of the present invention provide a method for enhancing the performance of an overall system as well as a shared cache by separately isolating tasks that may cause cache contamination utilizing a certain number of nodes of the Numa system It has its purpose.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면 (일 실시예)에 따른 누마(NUMA) 시스템에서의 태스크 분류방법은, 특정 태스크에 의해 발생하는 I/O 트래픽의 크기를 측정하는 단계; 상기 누마 시스템에 포함된 공유 라스트 레벨 캐시(LLC)의 최대 크기와 상기 I/O 트래픽의 크기를 비교하는 단계; 및 상기 비교 결과에 기초하여 상기 특정 태스크를 악성 태스크 또는 일반 태스크로 분류하는 단계를 포함하여 구성된다. According to a first aspect of the present invention, there is provided a method of classifying a task in a NUMA system according to the first aspect of the present invention, Measuring; Comparing the maximum size of the shared last level cache (LLC) included in the system with the size of the I / O traffic; And classifying the specific task as a malicious task or a general task based on the comparison result.

또한, 본 발명의 제 2 측면 (다른 실시예)에 따른 누마(NUMA) 시스템에서의 태스크 분류방법을 이용한 공유 라스트 레벨 캐시(LLC)의 성능 향상방법은, 상기 누마 시스템에 포함된 공유 라스트 레벨 캐시(LLC)의 최대 크기와 특정 태스크에 의해 발생하는 I/O 트래픽의 크기를 비교하는 단계; 상기 비교 결과에 기초하여 상기 특정 태스크를 악성 태스크 또는 일반 태스크로 분류하는 단계; 상기 특정 태스크가 악성 태스크인 경우, 상기 특정 태스크의 플래그를 온(ON) 상태로 변경하는 단계; 및 상기 플래그가 온(ON) 상태에 있는 태스크를 상기 누마 시스템의 복수의 누마 노드 중 상기 악성 태스크를 위해 미리 설정된 누마 노드로 이동시키는 단계를 포함하여 구성될 수 있다.
Also, a method for improving performance of a shared last level cache (LLC) using a task classification method in a NUMA system according to a second aspect of the present invention includes: Comparing the maximum size of the LLC (LLC) with the size of I / O traffic generated by a particular task; Classifying the specific task as a malicious task or a general task based on the comparison result; Changing a flag of the specific task to an ON state when the specific task is a malicious task; And moving a task in which the flag is in an ON state to a preset nummer node for the malicious task among a plurality of numeration nodes of the numeration system.

전술한 본 발명의 과제 해결 수단 중 어느 하나인 누마 시스템에서의 태스크 분류방법에 의하면, 누마 시스템에 포함된 공유 라스트 레벨 캐시의 최대 크기와 특정 태스크에 의해 발생하는 I/O 트래픽의 크기를 비교하여 두 가지 종류 중 어느 하나의 태스크로 특정 태스크를 분류함으로써, 보다 간단한 알고리즘을 통해 정확하고 신속하게 캐시 오염을 일으킬 수 있는 태스크를 구별해낼 수 있다는 장점이 있다. According to the task classification method in the Numa system, which is one of the task solutions of the present invention described above, the maximum size of the shared last level cache included in the numeration system is compared with the size of I / O traffic generated by a specific task By classifying a specific task into one of two types of tasks, it is possible to distinguish tasks that can cause cache pollution accurately and quickly through a simpler algorithm.

또한, 전술한 본 발명의 과제 해결 수단 중 어느 하나인 및 태스크 분류방법을 이용한 공유 라스트 레벨 캐시의 성능 향상방법에 의하면, 악성 태스크로 분류된 특정 태스크를 누마 시스템의 특정 누마 노드로 이동시켜 격리시킴으로써, 공유 캐시의 재사용 확률 및 전체적인 누마 시스템의 성능을 향상시킬 수 있다는 장점이 있다.
According to the method for improving the performance of the shared last level cache using one of the task resolution methods of the present invention and the task classification method, the specific task classified as the malicious task is moved to the specific nummer node of the numeration system to isolate , The reuse probability of the shared cache, and the performance of the overall system.

도 1 및 도 2는 본 발명에서 특정 태스크를 두 가지 종류 중 어느 하나의 태스크로 분류하는 이유를 설명하기 위한 그래프,
도 3은 본 발명의 일 실시예에 따른 태스크 분류방법 및 이를 이용한 공유 라스트 레벨 캐시의 성능 향상방법을 위한 누마 시스템에 대한 구조를 간략하게 도시한 블록도,
도 4는 본 발명의 일 실시예에 따른 태스크 분류방법을 설명하기 위한 순서도,
도 5는 본 발명의 다른 실시예에 따른 태스크 분류방법을 설명하기 위한 순서도,
도 6은 본 발명의 또 다른 실시예에 따른 태스크 분류방법을 설명하기 위한 순서도,
도 7은 도 4 내지 도 6에서 공유 라스트 레벨 캐시의 최대 크기와 I/O 트래픽의 크기를 비교하는 과정에 대해 도시한 도면,
도 8은 이동 평균 값을 계산하기 위한 가중치 및 캐시 미스율 간의 관계를 도시한 그래프,
도 9는 본 발명의 일 실시예에 따른 태스크 분류방법을 이용한 공유 라스트 레벨 캐시의 성능 향상방법을 설명하기 위한 순서도,
도 10은 본 발명의 다른 실시예에 따른 태스크 분류방법을 이용한 공유 라스트 레벨 캐시의 성능 향상방법을 설명하기 위한 순서도,
도 11 내지 도 13은 평가 실험을 수행하여 공유 라스트 레벨 캐시의 성능 향상 정도를 판단하기 위한 그래프이다.
FIG. 1 and FIG. 2 are graphs for explaining the reason why a specific task is classified as one of two kinds of tasks according to the present invention;
3 is a block diagram schematically illustrating a structure of a numeration system for a task classification method according to an embodiment of the present invention and a method for improving performance of a shared last level cache using the method.
FIG. 4 is a flowchart illustrating a task classification method according to an embodiment of the present invention. FIG.
FIG. 5 is a flowchart for explaining a task classification method according to another embodiment of the present invention. FIG.
6 is a flowchart for explaining a task classification method according to another embodiment of the present invention;
FIG. 7 illustrates a process of comparing the maximum size of the shared last level cache with the size of I / O traffic in FIGS. 4 through 6. FIG.
8 is a graph showing a relationship between a weight and a cache miss rate for calculating a moving average value,
FIG. 9 is a flowchart illustrating a method for improving performance of a shared last level cache using a task classification method according to an embodiment of the present invention; FIG.
FIG. 10 is a flowchart illustrating a method for improving performance of a shared last level cache using a task classification method according to another embodiment of the present invention. FIG.
11 to 13 are graphs for evaluating the performance improvement of the shared last level cache by performing evaluation experiments.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

본 발명의 일 실시예에 따른 태스크 분류방법 및 이를 이용한 공유 라스트 레벨 캐시의 성능 향상방법은, 기존의 방식과는 다른 새로운 분류 기준에 의해 각 태스크를 두 가지 종류 중 어느 하나의 태스크로 분류하는 특징을 공통적으로 가지고, 이러한 태스크 분류를 통해 캐시 오염을 줄여 전체적인 시스템 성능을 향상시킬 수 있다. A task classification method according to an embodiment of the present invention and a method for improving a performance of a shared last level cache using the same are characterized in that each task is classified into one of two types according to a new classification standard And the overall system performance can be improved by reducing the cache pollution through the task classification.

본 발명에 대하여 본격적으로 설명하기에 앞서서, 도 1 및 도 2를 참고하여 본 발명에서 특정 태스크를 두 가지 종류 중 어느 하나의 태스크로 분류하는 이유에 대하여 설명하기로 한다. Before describing the present invention in earnest, the reason for classifying a specific task into any one of the two kinds of tasks will be described with reference to FIG. 1 and FIG.

태스크(Task) 중 멀티미디어 동영상, 웹 상에서의 다운로드, 파일에 대한 처리 등을 위한 I/O 집중 태스크는 일반적으로 오랜 시간 동안 I/O 트래픽을 발생시키고, 이를 빅 I/O 태스크(Big I/O task)라고 부른다. I / O convergence tasks for multimedia video, downloading on the Web, processing of files and the like among tasks generally generate I / O traffic for a long period of time, and the I / O traffic of the big I / O task task.

도 1는 일 예에 따른 메모리 집중 태스크를 포함하는 워크로드(Merge)와 I/O 집중 태스크를 포함하는 워크로드(PostMark 혹은 Grep)를 하나의 노드에서 함께 수행하는 경우 및 다른 노드에서 별도로 수행하는 경우, 공유 라스트 레벨 캐시에서의 캐시 미스율을 비교한 결과이다. 각 노드 별로 다른 공유 캐시를 활용하기 때문에, 도 1의 그래프에서 도시된 것처럼 양 태스크를 별개의 노드에서 수행하는 것이 월등하게 낮은 캐시 미스율을 나타낸다는 것을 알 수 있다. 이를 통해 I/O 집중 태스크와 같은 캐시 오염을 일으킬 수 있는 태스크는 별도로 분류하여 처리하는 것이 캐시 활용 효율을 높일 수 있다는 것을 알 수 있다. FIG. 1 illustrates a case where a workload including a memory concentration task according to an exemplary embodiment and a workload including a I / O concentration task (PostMark or Grep) are performed together in one node, , The cache miss rate in the shared last level cache is compared. Since different shared caches are utilized for each node, it can be seen that performing both tasks on separate nodes, as shown in the graph of FIG. 1, results in a significantly lower cache miss rate. As a result, it can be seen that sorting and processing tasks that may cause cache pollution such as I / O concentration tasks can improve cache utilization efficiency.

도 2는 일 예에 따른 I/O 집중 태스크를 포함하는 워크로드(Tar) 2개를 하나의 노드에서 함께 수행하는 경우 및 다른 노드에서 별도로 수행하는 경우, 공유 라스트 레벨 캐시에서의 캐시 미스율을 비교한 결과이다. 도 2의 그래프에 도시된 것처럼 I/O 집중 태스크를 서로 분류시키는 것과는 상관없이 비슷한 캐시 미스율을 나타낸다는 것을 알 수 있다. 또한, 양 태스크를 다른 노드에서 별도로 수행하는 경우, 여전히 상당한 캐시 미스율을 보인다는 것을 알 수 있다. 이를 통해 I/O 집중 태스크와 같은 캐시 오염을 일으킬 수 있는 태스크에 대해 세밀하게 분류한다 할지라도 캐시 미스율에는 큰 영향을 주지 못한다는 것을 알 수 있다. FIG. 2 illustrates comparison of cache miss rates in a shared last level cache when two workloads (Tar) including an I / O concentration task according to an exemplary embodiment are performed together at one node and separately at another node This is a result. It can be seen that the cache miss rate is similar regardless of whether the I / O concentration tasks are classified as shown in the graph of FIG. It can also be seen that if both tasks are performed separately on different nodes, they still exhibit a significant cache miss rate. It can be seen from this that even if you carefully classify tasks that may cause cache pollution such as I / O intensive tasks, they do not have a significant impact on cache miss rates.

따라서, 본 발명에서는 특정 태스크가 두 가지 종류 중 어떤 종류의 태스크에 해당하는지를 판단하는 간단한 알고리즘을 적용하여, 캐시 오염을 일으킬 수 있는 태스크가 어떤 태스크인지 정확하고 신속하게 구별할 수 있다. Accordingly, in the present invention, a simple algorithm for determining which kind of task corresponds to a particular task can be applied, so that a task that can cause cache contamination can be identified accurately and quickly.

도 3은 본 발명의 일 실시예에 따른 태스크 분류방법 및 이를 이용한 공유 라스트 레벨 캐시의 성능 향상방법을 위한 누마 시스템에 대한 구조를 간략하게 도시한 블록도이다. 3 is a block diagram briefly showing a structure of a numeration system for a method of classifying a task according to an embodiment of the present invention and a method for improving performance of a shared last level cache using the same.

전체 누마 시스템(100)은 소프트웨어의 기반이 되는 커널(Kernel, 10)을 통해 구현될 수 있고, 복수의 누마 노드(20, 30) 및 스토리지(40), 물리적 메인 메모리(50), 네트워크(60) 등과 같은 I/O 장치들을 포함한다. 각 누마 노드(20, 30)는 하나 이상의 코어(Core)를 갖는 CPU 및 공유 라스트 레벨 캐시를 포함한다. 누마 노드(20)에 있는 C0, C2, C4, C6는 기본적으로 그 누마 노드(20) 내 메모리에 접근하여 각종 연산 처리를 수행한다. 이는 다른 누마 노드(30)에 있는 메모리에 접근하는 속도보다 그 누마 노드(20)에 있는 메모리에 접근하는 속도가 더 빠르기 때문이다. The overall system 100 can be implemented through a kernel 10 that is the basis of software and includes a plurality of numeral nodes 20 and 30 and a storage 40, a physical main memory 50, a network 60 ), And the like. Each of the sleep nodes 20, 30 includes a CPU and a shared last level cache with one or more cores. C0, C2, C4, and C6 in the numeral node 20 basically access the memory in the numeral node 20 and perform various arithmetic operations. This is because the speed of accessing the memory in the numeration node 20 is faster than the speed of accessing the memory in the other numeration node 30.

본 발명에서 커널(10)에 의해 제공되는 악성 인식 스케줄러(11)는 태스크에 의해 발생하는 I/O 트래픽을 감시(12)하여, CPU를 통해 수행되는 특정 태스크가 일반 태스크(A)이면 그대로 두고, 악성 태스크(B)이면 도 3의 화살표 방향처럼 별도의 누마 노드(30)로 이동시킨다. In the present invention, the malicious identity recognition scheduler 11 provided by the kernel 10 monitors the I / O traffic generated by the task 12, and if the specific task performed through the CPU is the general task A, The malicious task B is moved to another numeral node 30 as indicated by the arrow in Fig.

이하, 본 발명의 각 실시예에 따른 태스크 분류방법에 대해 도 4 내지 도 6을 참고하여 상세히 설명하기로 한다. Hereinafter, a task classification method according to each embodiment of the present invention will be described in detail with reference to FIG. 4 to FIG.

도 4는 본 발명의 일 실시예에 따른 태스크 분류방법을 설명하기 위한 순서도이다. 4 is a flowchart illustrating a task classification method according to an embodiment of the present invention.

우선 본 발명의 일 실시예에 따른 태스크 분류가 시작되면, 특정 태스크에 의해 발생하는 I/O 트래픽의 크기를 측정한다(S410). First, when task classification according to an embodiment of the present invention is started, the size of I / O traffic generated by a specific task is measured (S410).

이어서, 누마 시스템에 포함된 공유 라스트 레벨 캐시의 최대 크기와 측정한 I/O 트래픽의 크기를 서로 비교한다(S420). 도 7처럼 공유 라스트 레벨 캐시의 최대 크기와 I/O 트래픽의 크기를 비교한다.Next, the maximum size of the shared last level cache included in the numa system and the measured size of the I / O traffic are compared with each other (S420). As shown in FIG. 7, the maximum size of the shared last level cache is compared with the size of the I / O traffic.

이후에 비교 결과에 기초하여 특정 태스크를 악성 태스크 또는 일반 태스크로 분류하는 과정이 이루어진다(S430). 즉, 공유 라스트 레벨 캐시를 가진 복수의 누마 노드가 존재하는 누마 시스템 환경 하에서 태스크에 의해 발생하는 I/O 트래픽의 크기 및 공유 캐시의 최대 크기를 태스크의 분류 기준으로 삼아, 각 태스크를 분류한다는 특징이 있다. Thereafter, a process of classifying a specific task as a malicious task or a general task is performed based on the comparison result (S430). That is, the size of the I / O traffic generated by the task and the maximum size of the shared cache in the case of a numeration system environment in which a plurality of numeration nodes having a shared last level cache exist are classified as tasks, .

덧붙여, 이와 같은 I/O 트래픽의 크기 측정, 크기 상호 비교 및 특정 태스크의 종류 결정을 포함하는 일련의 과정은 상술한 악성 인식 스케줄러(11)에 의해 이루어질 수 있다.In addition, a series of processes including the size measurement of the I / O traffic, size comparison, and determination of the type of a specific task can be performed by the malicious identity recognition scheduler 11 described above.

도 5는 본 발명의 다른 실시예에 따른 태스크 분류방법을 설명하기 위한 순서도이다.5 is a flowchart illustrating a task classification method according to another embodiment of the present invention.

우선 본 발명의 다른 실시예에 따른 태스크 분류가 시작되면, 특정 태스크의 I/O 로그 파일을 기록하는 내부 커널 함수를 이용하여 I/O 트래픽의 크기를 실시간으로 측정한다(S510). First, when task classification according to another embodiment of the present invention starts, the size of I / O traffic is measured in real time using an internal kernel function for recording an I / O log file of a specific task (S510).

대표적으로, 리눅스 운영체제는 커널에서 각종 장치의 I/O 트래픽이 발생하면, 해당 태스크마다 I/O 로그 파일을 '/proc' 디렉토리에 기록해둔다. I/O 트래픽은 'read()', 'write()', 'send()', 'receive()' 등과 같은 시스템 콜에 의해 발생할 수 있고, 이러한 I/O 트래픽과 관련된 I/O 로그 파일은 'do_io_accounting()'과 같은 내부 커널 함수를 통해 '/proc/PID/io'에 기록될 수 있다. Typically, the Linux operating system writes I / O log files to the '/ proc' directory for each task when I / O traffic from various devices in the kernel occurs. I / O traffic can be generated by system calls such as' read () ',' write () ',' send () ',' receive Can be written to '/ proc / PID / io' via an internal kernel function such as 'do_io_accounting ()'.

이어서, 누마 시스템에 포함된 공유 라스트 레벨 캐시의 최대 크기와 측정한 I/O 트래픽의 크기를 서로 비교한다(S520). 도 7처럼 공유 라스트 레벨 캐시의 최대 크기와 I/O 트래픽의 크기를 비교한다.Next, the maximum size of the shared last level cache included in the Numa system and the measured size of the I / O traffic are compared with each other (S520). As shown in FIG. 7, the maximum size of the shared last level cache is compared with the size of the I / O traffic.

만약 I/O 트래픽의 크기가 공유 라스트 레벨 캐시의 최대 크기보다 큰 경우라면, 특정 태스크를 악성 태스크로 구별하고(S530), 만약 I/O 트래픽의 크기가 공유 라스트 레벨 캐시의 최대 크기보다 작거나 같은 경우라면, 특정 태스크를 일반 태스크로 구별한다(S540). 즉, 공유 라스트 레벨 캐시를 가진 복수의 누마 노드가 존재하는 누마 시스템 환경 하에서 태스크에 의해 발생하는 I/O 트래픽의 크기 및 공유 캐시의 최대 크기를 태스크의 분류 기준으로 삼아, 각 태스크를 분류한다는 특징이 있다. If the size of the I / O traffic is larger than the maximum size of the shared last level cache, the specific task is identified as a malicious task (S530). If the size of the I / O traffic is smaller than the maximum size of the shared last level cache In the case of the same case, the specific task is distinguished as a general task (S540). That is, the size of the I / O traffic generated by the task and the maximum size of the shared cache in the case of a numeration system environment in which a plurality of numeration nodes having a shared last level cache exist are classified as tasks, .

도 6은 본 발명의 또 다른 실시예에 따른 태스크 분류방법을 설명하기 위한 순서도이다. 6 is a flowchart illustrating a task classification method according to another embodiment of the present invention.

우선 본 발명의 또 다른 실시예에 따른 태스크 분류가 시작되면, 미리 설정된 시간 간격을 두고 특정 태스크에 의해 발생하는 I/O 트래픽을 획득한다(S610).First, when task classification according to another embodiment of the present invention starts, I / O traffic generated by a specific task is acquired at a preset time interval (S610).

이어서, 현재 I/O 트래픽 및 상술한 미리 설정된 시간 이전의 I/O 트래픽에 대하여 가변적인 가중치 α를 부여하여 이동 평균(MA; Moving Average) 값을 계산한다(S620). Subsequently, a variable a weight is given to the current I / O traffic and the I / O traffic before the predetermined time, and a moving average (MA) value is calculated (S620).

예를 들어, 커널에 의해 제공되는 I/O 어카운팅제도(Accounting Scheme)을 통해, 특정 태스크의 'rchar', 'wchar' 변수를 사용하는 현재 I/O 트래픽을 주기적으로 획득할 수 있다. 아래 수학식 1을 통해 현재 I/O 트래픽을 이동 평균 값에 반영시킬 수 있다. For example, through the I / O accounting scheme provided by the kernel, current I / O traffic using the 'rchar', 'wchar' variable of a particular task can be obtained periodically. The current I / O traffic can be reflected in the moving average value by Equation (1) below.

Figure 112012049387604-pat00001
Figure 112012049387604-pat00001

여기서, 가중치 α는 특정 태스크에 대한 분류와 매우 밀접한 관계를 가지는 가변적인 값으로서, 현재 측정된 I/O 트래픽을 얼마나 이동 평균에 반영시킬 것인지 결정할 수 있고, 누마 노드 간 태스크의 빈번한 이동을 방지할 수 있으며, I/O 트래픽 변동을 조절할 수 있다. Here, the weight α is a variable value having a very close relationship with a classification for a specific task, and it is possible to determine how much the currently measured I / O traffic is reflected in the moving average, and to prevent frequent movement And can control I / O traffic fluctuations.

다시 말하자면, 가중치 α가 증가함에 따라 현재 I/O 트래픽이 미리 설정된 시간 이전의 I/O 트래픽보다 이동 평균 값에 더 많이 반영된다. 덧붙여, 계산된 이동 평균 값은 I/O 트래픽의 크기와 대응될 수 있는 값이다. In other words, as the weight α increases, the current I / O traffic is reflected more in the moving average value than the I / O traffic that was before the preset time. In addition, the calculated moving average value is a value that can be matched with the size of the I / O traffic.

이후에, 누마 시스템에 포함된 공유 라스트 레벨 캐시의 최대 크기와, 측정한 I/O 트래픽의 크기 또는 이동 평균 값을 서로 비교한다(S630). 도 7처럼 공유 라스트 레벨 캐시의 최대 크기와 I/O 트래픽의 크기를 비교한다. Thereafter, the maximum size of the shared last level cache included in the numa system and the size or moving average of measured I / O traffic are compared with each other (S630). As shown in FIG. 7, the maximum size of the shared last level cache is compared with the size of the I / O traffic.

만약 I/O 트래픽의 크기가 공유 라스트 레벨 캐시의 최대 크기보다 큰 경우라면, 특정 태스크를 악성 태스크로 구별하고(S640), 만약 I/O 트래픽의 크기가 공유 라스트 레벨 캐시의 최대 크기보다 작거나 같은 경우라면, 특정 태스크를 일반 태스크로 구별한다(S650). 즉, 공유 라스트 레벨 캐시를 가진 복수의 누마 노드가 존재하는 누마 시스템 환경 하에서 태스크에 의해 발생하는 I/O 트래픽의 크기(또는 이동 평균 값) 및 공유 캐시의 최대 크기를 태스크의 분류 기준으로 삼아, 각 태스크를 분류한다는 특징이 있다. If the size of the I / O traffic is larger than the maximum size of the shared last level cache, the specific task is identified as a malicious task (S640). If the size of the I / O traffic is smaller than the maximum size of the shared last level cache In the same case, the specific task is distinguished as a general task (S650). That is, using the size of the I / O traffic (or the moving average value) generated by the task and the maximum size of the shared cache in the case of a numeration system environment in which a plurality of numeration nodes having a shared last level cache exist, And each task is classified.

도 8은 이동 평균 값을 계산하기 위한 가중치 및 캐시 미스율 간의 관계를 도시한 그래프이다. 8 is a graph showing a relationship between a weight and a cache miss rate for calculating a moving average value.

이미 상술한 것과 같이, 가중치 α는 도 3을 참고하여 상술한 악성 인식 스케줄러(11)의 성능과 밀접한 관련을 갖는 파라미터이다. 도 8에 도시된 것처럼 가중치 α를 0.8로 부여하여 이동 평균 값을 계산한 경우, 가장 낮은 캐시 미스율을 얻을 수 있었다. As already described above, the weight α is a parameter closely related to the performance of the malicious recognition scheduler 11 described above with reference to FIG. As shown in FIG. 8, when the moving average value is calculated by assigning the weight α to 0.8, the lowest cache miss rate can be obtained.

지금까지 상술한 본 발명의 각 실시예에 따른 태스크 분류방법을 이용하면, 간단한 알고리즘을 통해 누마 시스템 환경 하에서 어느 태스크가 캐시 오염을 일으킬 수 있는 태스크인지 정확하고 신속하게 구별해낼 수 있다. . By using the task classification method according to each of the embodiments of the present invention described above, it is possible to accurately and quickly identify which tasks can cause cache contamination under a minimized system environment through a simple algorithm. .

한편, 본 발명의 일 실시예에 따른 태스크 분류방법을 이용한 공유 라스트 레벨 캐시(LLC)의 성능 향상방법에 대하여 도 9를 참고하여 설명한다.Meanwhile, a method for improving the performance of the shared last level cache (LLC) using the task classification method according to an embodiment of the present invention will be described with reference to FIG.

본 발명에 따른 공유 라스트 레벨 캐시(LLC)의 성능 향상방법에서는 이미 상술한 본 발명의 각 실시예에 따른 태스크 분류방법에 의해 분류된 결과를 특별한 제한없이 활용할 수 있다. In the method of improving the performance of the shared last level cache (LLC) according to the present invention, the results classified by the task classification method according to each of the embodiments of the present invention described above can be utilized without any limit.

도 9는 본 발명의 일 실시예에 따른 태스크 분류방법을 이용한 공유 라스트 레벨 캐시의 성능 향상방법을 설명하기 위한 순서도이다. 9 is a flowchart illustrating a method for improving performance of a shared last level cache using a task classification method according to an embodiment of the present invention.

우선 본 발명의 일 실시예에 따른 공유 라스트 레벨 캐시의 성능 향상방법이 시작되면, 누마 시스템에 포함된 공유 라스트 레벨 캐시의 최대 크기와 특정 태스크에 의해 발생하는 I/O 트래픽의 크기를 비교한다(S910). 도 7처럼 공유 라스트 레벨 캐시의 최대 크기와 I/O 트래픽의 크기를 비교할 수 있다.First, when the method for improving the performance of the shared last level cache according to an embodiment of the present invention starts, the maximum size of the shared last level cache included in the NUMAR system is compared with the size of I / O traffic generated by a specific task S910). As shown in FIG. 7, it is possible to compare the maximum size of the shared last level cache with the size of the I / O traffic.

이후에 비교 결과에 기초하여 특정 태스크를 악성 태스크 또는 일반 태스크로 분류하는 과정이 이루어진다(S920). 즉, 공유 라스트 레벨 캐시를 가진 복수의 누마 노드가 존재하는 누마 시스템 환경 하에서 태스크에 의해 발생하는 I/O 트래픽의 크기 및 공유 캐시의 최대 크기를 태스크의 분류 기준으로 삼아, 각 태스크를 분류한다는 특징이 있다. Thereafter, a process of classifying a specific task as a malicious task or a general task is performed based on the comparison result (S920). That is, the size of the I / O traffic generated by the task and the maximum size of the shared cache in the case of a numeration system environment in which a plurality of numeration nodes having a shared last level cache exist are classified as tasks, .

이때, 특정 태스크가 악성 태스크로 분류되면, 특정 태스크의 플래그를 온(ON) 상태로 변경하는 과정을 수행한다(S930). 플래그를 온(ON) 상태로 변경하는 것은 각 태스크(혹은 스레드) 별로 가지고 있는 구조체 내에서 플래그와 관련된 변수 값을 변경하는 것과 대응시킬 수 있다. At this time, if the specific task is classified as a malicious task, the process of changing the flag of the specific task to the ON state is performed (S930). Changing the flag to the ON state may correspond to changing the value of the variable associated with the flag in the structure that is held for each task (or thread).

이어서, 플래그가 온(ON) 상태에 있는 태스크를 누마 시스템의 복수의 누마 노드 중 악성 태스크를 위해 미리 설정된 누마 노드로 이동시키는 과정이 수행된다(S940). 도 3을 참고하면, 악성 태스크로 분류된 특정 태스크(B)의 플래그는 온(ON) 상태로 변경되어 있고, 악성 태스크를 위해 미리 설정된 누마 노드(30)로 악성 태스크(B)를 이동시킨다. 이는 복수의 누마 노드를 포함하는 누마 시스템에서 이루어지는 것이 바람직하고, 이동된 악성 태스크(B)는 격리되어 일반 태스크(A)와 별도로 처리될 수 있다.Subsequently, a process of moving a task in a flag ON state to a preset numon node for a malicious task among a plurality of numnail nodes of the numa system is performed (S940). Referring to FIG. 3, the flag of the specific task B classified as the malicious task is changed to the ON state, and the malicious task B is moved to the preset nummer node 30 for the malicious task. This is preferably done in a minimun system comprising a plurality of numeral nodes and the moved malicious task B can be isolated and processed separately from the general task A. [

덧붙여, 이와 같은 I/O 트래픽의 크기 측정, 크기 상호 비교, 특정 태스크의 종류 결정, 플래그 변경 및 악성 태스크 이동을 포함하는 일련의 과정은 상술한 악성 인식 스케줄러(11)에 의해 이루어질 수 있다.In addition, a series of processes including the size measurement of the I / O traffic, size comparison, size determination of a specific task, flag change, and malicious task movement can be performed by the malicious identity recognition scheduler 11 described above.

도 10은 본 발명의 다른 실시예에 따른 태스크 분류방법을 이용한 공유 라스트 레벨 캐시의 성능 향상방법을 설명하기 위한 순서도이다. 10 is a flowchart illustrating a method for improving performance of a shared last level cache using a task classification method according to another embodiment of the present invention.

우선 본 발명의 다른 실시예에 따른 공유 라스트 레벨 캐시의 성능 향상방법이 시작되면, 특정 태스크에 의해 발생하는 I/O 트래픽의 크기가 누마 시스템에 포함된 공유 라스트 레벨 캐시의 최대 크기보다 큰지, 작은지 혹은 동일한지를 판단한다(S1010). 도 7처럼 공유 라스트 레벨 캐시의 최대 크기와 I/O 트래픽의 크기를 비교할 수 있다.First, when the method for improving the performance of the shared last level cache according to another embodiment of the present invention is started, if the size of the I / O traffic generated by the specific task is larger than the maximum size of the shared last level cache included in the NIMA system, (S1010). As shown in FIG. 7, it is possible to compare the maximum size of the shared last level cache with the size of the I / O traffic.

만약 I/O 트래픽의 크기가 공유 라스트 레벨 캐시의 최대 크기보다 큰 경우라면, 특정 태스크를 악성 태스크로 구별하고(S1020), 만약 I/O 트래픽의 크기가 공유 라스트 레벨 캐시의 최대 크기보다 작거나 같은 경우라면, 특정 태스크를 일반 태스크로 구별한다(S1050). 즉, 공유 라스트 레벨 캐시를 가진 복수의 누마 노드가 존재하는 누마 시스템 환경 하에서 태스크에 의해 발생하는 I/O 트래픽의 크기 및 공유 캐시의 최대 크기를 태스크의 분류 기준으로 삼아, 각 태스크를 분류한다는 특징이 있다.If the size of the I / O traffic is larger than the maximum size of the shared last level cache, the specific task is identified as a malicious task (S1020). If the size of the I / O traffic is smaller than the maximum size of the shared last level cache In the case of the same case, the specific task is distinguished as a general task (S1050). That is, the size of the I / O traffic generated by the task and the maximum size of the shared cache in the case of a numeration system environment in which a plurality of numeration nodes having a shared last level cache exist are classified as tasks, .

이때, 특정 태스크가 악성 태스크로 분류되면(S1020), 특정 태스크의 플래그를 온(ON) 상태로 변경하는 과정을 수행한다(S1030). 플래그를 온(ON) 상태로 변경하는 것은 각 태스크(혹은 스레드) 별로 가지고 있는 구조체 내에서 플래그와 관련된 변수 값을 변경하는 것과 대응시킬 수 있다. At this time, if the specific task is classified as the malicious task (S1020), the process of changing the flag of the specific task to the ON state is performed (S1030). Changing the flag to the ON state may correspond to changing the value of the variable associated with the flag in the structure that is held for each task (or thread).

이어서, 플래그가 온(ON) 상태에 있는 태스크를 누마 시스템의 복수의 누마 노드 중 악성 태스크를 위해 미리 설정된 누마 노드로 이동시키는 과정이 수행된다(S1040). 도 3을 참고하면, 악성 태스크로 분류된 특정 태스크(B)의 플래그는 온(ON) 상태로 변경되어 있고, 악성 태스크를 위해 미리 설정된 누마 노드(30)로 악성 태스크(B)를 이동시킨다.Subsequently, a process of moving a task in a flag ON state to a preset numon node for a malicious task among a plurality of numon nodes of the numar system is performed (S1040). Referring to FIG. 3, the flag of the specific task B classified as the malicious task is changed to the ON state, and the malicious task B is moved to the preset nummer node 30 for the malicious task.

또한, 특정 태스크가 일반 태스크로 분류되면(S1050), 누마 시스템이 동작하는 운영체제에 의해 제공되는 스케줄링 정책에 따라 미리 설정된 누마 노드를 제외한 누마 노드에서 플래그가 오프(OFF) 상태에 있는 태스크를 처리하는 과정을 수행한다(S1060). In addition, when a specific task is classified as a general task (S1050), a task in which a flag is in an OFF state is processed in a numon node excluding a preset numon node according to a scheduling policy provided by an operating system in which the nummer system operates (S1060).

도 3을 참고하면, 일반 태스크로 분류된 특정 태스크(A)의 플래그는 오프(OFF) 상태를 유지하고 있고, 미리 설정된 누마 노드(30)를 제외한 누마 노드(20)에서 일반 태스크(A)를 스케줄링 정책에 따라 처리한다. 3, the flag of the specific task A classified as the general task is maintained in the OFF state and the normal task A is deleted from the numeral node 20 excluding the preset nummar node 30 Process according to the scheduling policy.

지금까지 상술한 본 발명의 각 실시예에 따른 태스크 분류방법을 이용한 공유 라스트 레벨 캐시의 성능 향상방법을 통해, 간단한 알고리즘을 통해 누마 시스템 환경 하에서 어느 태스크가 캐시 오염을 일으킬 수 있는 태스크인지 정확하고 신속하게 구별해낼 수 있다.Through the method of improving the performance of the shared last level cache using the task classification method according to each of the above embodiments of the present invention, it is possible to accurately and quickly determine which task can cause cache pollution Can be distinguished.

또한, 악성 태스크로 분류된 특정 태스크를 누마 시스템의 특정 누마 노드로 이동시켜 격리시킴으로써, 공유 캐시의 재사용 확률 및 전체적인 누마 시스템의 성능을 향상시킬 수 있다는 장점이 있다. In addition, there is an advantage that the reuse probability of the shared cache and the performance of the overall system can be improved by isolating and isolating a specific task classified as a malicious task to a specific nummer node of the numeration system.

이와 같은 상술한 본 발명의 각 실시예에 따른 태스크 분류방법을 이용한 공유 라스트 레벨 캐시의 성능 향상방법을 통해 얻을 수 있는 효과와 관련하여 도 11 내지 도 13을 참고하여 설명한다. 도 11 내지 도 13은 평가 실험을 수행하여 공유 라스트 레벨 캐시의 성능 향상 정도를 판단하기 위한 그래프이다. The effects of the method for improving the performance of the shared last level cache using the task classification method according to each of the above embodiments of the present invention will be described with reference to FIG. 11 to FIG. 11 to 13 are graphs for evaluating the performance improvement of the shared last level cache by performing evaluation experiments.

평가 실험에 사용된 시스템은 두 개의 노드를 갖는 'Dell PowerEdge T610'이고, 아래 표 1과 같은 사양을 가지고 있다. The system used for the evaluation experiment is a 'Dell PowerEdge T610' with two nodes and has the specifications shown in Table 1 below.

하드웨어 구성Hardware Configuration 사양Specifications L1 Data CacheL1 Data Cache 4 * 32KB, 8-way4 * 32KB, 8-way L1 Instruction CacheL1 Instruction Cache 4 * 32KB, 4-way4 * 32KB, 4-way L2 CacheL2 Cache 4 * 256KB, 8-way4 * 256KB, 8-way L3 shared Last Level CacheL3 shared Last Level Cache 4MB, 16-way4MB, 16-way MemoryMemory 2GB in each node2GB in each node

아울러, 모든 측정은 HPC(Hardware Performance Counter)를 사용하는 리눅스 커널 기반의 성능 분석 툴인 'perf'에 의해 평가되어졌고, 총 10회 수행 결과의 평균 값을 결과 값으로 하였다. In addition, all the measurements were evaluated by the performance perfume tool "perf" based on Linux kernel using Hardware Performance Counter (HPC).

덧붙여, 평가 실험에는 각 태스크를 포함하는 다양한 워크로드가 사용되었는데, 'gobmk'는 게임 플레이와 관련된 인공 지능 워크로드이고, 'hmmer'은 다중 순차 정렬의 통계적 모델이다. 'merge'는 메모리 집중 태스크와 관련되고, 반복적인 2-way 병합정렬 알고리즘과 함께 2MB의 행렬 사이즈를 분류한다. 'postmerge'와 'tar'는 I/O 강조 태스크와 관련된다. In addition, the evaluation experiment used various workloads including each task, where 'gobmk' is the artificial intelligence workload associated with gameplay and 'hmmer' is the statistical model of multiple sequential sorting. 'merge' is associated with a memory-intensive task and categorizes the 2MB matrix size with a recursive 2-way merge sorting algorithm. 'postmerge' and 'tar' are related to I / O highlighting tasks.

도 11의 왼쪽 그래프는 'postmark'와 'gobmk', 'hmmer', 'merge'를 각각 동시에 수행시킨 결과이고, 오른쪽 그래프는 'tar'와 'gobmk', 'hmmer', 'merge'를 각각 동시에 수행시킨 결과이다. ① 내지 ⑥ 모든 결과에서 공유 라스트 레벨 캐시 미스율의 감소 정도가 나타나고, 특히 메모리 집중 태스크를 I/O 집중 태스크와 구분하여 처리한 경우 가장 높은 효과를 보인다는 것을 알 수 있다. The graph on the left side of FIG. 11 shows results of performing 'postmark', 'gobmk', 'hmmer', and 'merge' at the same time, and the graph on the right shows 'tar', 'gobmk', 'hmmer', and 'merge' . It can be seen that the degree of decrease of the shared last level cache miss rate is shown in all the results from (1) to (6), and especially when the memory concentration task is distinguished from the I / O concentration task.

도 12는 ①, ④는 각 메모리 집중 워크로드를 I/O 집중 워크로드와 다른 노드에서 수행하도록 한 경우이고, ②, ⑤는 각 메모리 집중 워크로드를 I/O 집중 워크로드와 동일한 노드에서 수행하도록 한 경우이며, ③, ⑥은 본 발명이 적용된 경우이다. ③, ⑥에서 확인할 수 있는 것처럼, 'postmark'와 함께 수행되는 'hmmer'의 공유 라스트 레벨 캐시 미스율을 19.1%만큼 줄일 수 있었다. 평균적으로는, 20.7%만큼 공유 캐시 미스율을 줄일 수 있었다.FIG. 12 shows a case where memory intensive workloads are executed on the same node as the I / O converged workloads, and (2) and (5) And ③ and ⑥ are cases where the present invention is applied. As can be seen in ③ and ⑥, we could reduce the miss rate of shared last level cache of 'hmmer' performed with 'postmark' by 19.1%. On average, we could reduce the shared cache miss rate by 20.7%.

도 13은 실행 시간 감소율을 보여주는 그래프로서, 'postmark'와 'hmmer'를 함께 수행하는 경우는 1.48%만큼 실행 시간을 절약할 수 있었고, 'merge'와 'tar'를 함께 수행하는 경우는 37.6%만큼 실행 시간을 절약할 수 있었다. 평균적으로는, 0.87%만큼 공유 캐시 미스율을 줄일 수 있었다.FIG. 13 is a graph showing the execution time reduction rate. In the case of performing 'postmark' and 'hmmer' together, execution time was saved by 1.48%, and when performing 'merge' and 'tar' We could save execution time as much as. On average, we could reduce the shared cache miss rate by 0.87%.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

10: 커널 11: 악성 인식 스케줄러
20, 30: 누마 노드 100: 누마 시스템
10: Kernel 11: Malicious recognition scheduler
20, 30: Numa node 100: Numa system

Claims (8)

커널에 의해 제공되는 악성 인식 스케줄러가 누마(NUMA) 시스템에서의 태스크를 분류하는 방법에 있어서,
상기 누마 시스템 내 특정 태스크에 의해 발생하는 I/O 트래픽의 크기를 측정하는 단계;
상기 누마 시스템에 포함된 공유 라스트 레벨 캐시(LLC)의 최대 크기와 상기 I/O 트래픽의 크기를 비교하는 단계; 및
상기 비교하는 단계의 비교 결과에 기초하여 상기 특정 태스크를 악성 태스크 또는 일반 태스크로 분류하는 단계를 포함하는
태스크 분류방법.
A method for classifying a task in a NUMA system, wherein the malicious recognition scheduler is provided by a kernel,
Measuring a size of I / O traffic generated by a specific task in the system;
Comparing the maximum size of the shared last level cache (LLC) included in the system with the size of the I / O traffic; And
And classifying the specific task as a malicious task or a general task based on a comparison result of the comparing step
Task classification method.
제 1 항에 있어서, 상기 I/O 트래픽의 크기를 측정하는 단계에서
상기 특정 태스크의 I/O 로그 파일을 기록하는 내부 커널 함수를 이용하여 상기 I/O 트래픽의 크기를 실시간으로 측정하는
태스크 분류방법.
The method of claim 1, wherein measuring the size of the I / O traffic comprises:
The size of the I / O traffic is measured in real time using an internal kernel function for recording the I / O log file of the specific task
Task classification method.
제 1 항에 있어서, 상기 I/O 트래픽의 크기를 측정하는 단계는
미리 설정된 시간 간격을 두고 상기 특정 태스크에 의해 발생하는 I/O 트래픽을 획득하는 단계; 및
현재 I/O 트래픽 및 상기 미리 설정된 시간 이전의 I/O 트래픽에 대하여 가변적인 가중치를 부여하여 이동 평균(Moving Average) 값을 계산하는 단계를 포함하는
태스크 분류방법.
2. The method of claim 1, wherein measuring the size of the I / O traffic comprises:
Acquiring I / O traffic generated by the specific task at predetermined time intervals; And
And calculating a moving average value by assigning a variable weight to the current I / O traffic and the I / O traffic before the predetermined time
Task classification method.
제 3 항에 있어서, 상기 가중치가 증가함에 따라 상기 현재 I/O 트래픽이 상기 미리 설정된 시간 이전의 I/O 트래픽보다 상기 이동 평균 값에 더 많이 반영되도록 상기 가중치를 부여하는
태스크 분류방법.
4. The method of claim 3, wherein as the weight increases, the weighting unit assigns the weight so that the current I / O traffic is more reflected in the moving average value than the I /
Task classification method.
제 1 항에 있어서, 상기 특정 태스크를 분류하는 단계에서
상기 I/O 트래픽의 크기가 상기 공유 라스트 레벨 캐시의 최대 크기보다 큰 경우 상기 특정 태스크를 악성 태스크로 분류하는 태스크 분류방법.
2. The method according to claim 1, wherein in the step of classifying the specific task
And classifying the specific task as a malicious task when the size of the I / O traffic is larger than the maximum size of the shared last level cache.
커널에 의해 제공되는 악성 인식 스케줄러가 누마(NUMA) 시스템에서의 태스크 분류방법을 이용하여 공유 라스트 레벨 캐시(LLC)의 성능을 향상시키는 방법에 있어서,
상기 누마 시스템에 포함된 공유 라스트 레벨 캐시(LLC)의 최대 크기와, 상기 누마 시스템 내 특정 태스크에 의해 발생하는 I/O 트래픽의 크기를 비교하는 단계;
상기 비교하는 단계의 비교 결과에 기초하여 상기 특정 태스크를 악성 태스크 또는 일반 태스크로 분류하는 단계;
상기 특정 태스크가 악성 태스크인 경우, 상기 특정 태스크의 플래그를 온(ON) 상태로 변경하는 단계; 및
상기 플래그가 온(ON) 상태에 있는 태스크를 상기 누마 시스템의 복수의 누마 노드 중 상기 악성 태스크를 위해 미리 설정된 누마 노드로 이동시키는 단계를 포함하는
공유 라스트 레벨 캐시의 성능 향상방법.
A method for enhancing performance of a shared last level cache (LLC) using a task classification method in a NUMA system, the malicious recognition scheduler being provided by a kernel,
Comparing a maximum size of a shared last level cache (LLC) included in the system with an amount of I / O traffic generated by a particular task in the system;
Classifying the specific task as a malicious task or a general task based on a comparison result of the comparing step;
Changing a flag of the specific task to an ON state when the specific task is a malicious task; And
And moving a task in which the flag is in an ON state to a preset nummer node for the malicious task among a plurality of numeration nodes of the numeration system
How to improve performance of a shared last level cache.
제 6 항에 있어서, 상기 특정 태스크를 분류하는 단계에서
상기 I/O 트래픽의 크기가 상기 공유 라스트 레벨 캐시의 최대 크기보다 큰 경우 상기 특정 태스크를 악성 태스크로 분류하는
공유 라스트 레벨 캐시의 성능 향상방법.
7. The method according to claim 6, wherein in the step of classifying the specific task
When the size of the I / O traffic is larger than the maximum size of the shared last level cache, the specific task is classified as a malicious task
How to improve performance of a shared last level cache.
제 6 항에 있어서,
상기 누마 시스템이 동작하는 운영체제에 의해 제공되는 스케줄링 정책에 따라 상기 미리 설정된 누마 노드를 제외한 누마 노드에서 상기 플래그가 오프(OFF) 상태에 있는 태스크를 처리하는 단계를 더 포함하는
공유 라스트 레벨 캐시의 성능 향상방법.
The method according to claim 6,
Processing a task in which the flag is in an OFF state in a numone node excluding the preset numeration node according to a scheduling policy provided by an operating system in which the numeration system operates,
How to improve performance of a shared last level cache.
KR1020120066587A 2012-06-21 2012-06-21 Method for classifying task and method for improving performance of shared last level cache KR101395699B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120066587A KR101395699B1 (en) 2012-06-21 2012-06-21 Method for classifying task and method for improving performance of shared last level cache

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120066587A KR101395699B1 (en) 2012-06-21 2012-06-21 Method for classifying task and method for improving performance of shared last level cache

Publications (2)

Publication Number Publication Date
KR20130143233A KR20130143233A (en) 2013-12-31
KR101395699B1 true KR101395699B1 (en) 2014-05-16

Family

ID=49986513

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120066587A KR101395699B1 (en) 2012-06-21 2012-06-21 Method for classifying task and method for improving performance of shared last level cache

Country Status (1)

Country Link
KR (1) KR101395699B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145388A (en) * 2017-05-25 2017-09-08 深信服科技股份有限公司 Method for scheduling task and system under a kind of multitask environment

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101976320B1 (en) 2018-04-25 2019-05-07 연세대학교 산학협력단 Last level cache memory and data management method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100726352B1 (en) * 2006-03-28 2007-06-08 중앙대학교 산학협력단 Analyzeing system of network traffic according to variable communication's mass and analyzeing method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100726352B1 (en) * 2006-03-28 2007-06-08 중앙대학교 산학협력단 Analyzeing system of network traffic according to variable communication's mass and analyzeing method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145388A (en) * 2017-05-25 2017-09-08 深信服科技股份有限公司 Method for scheduling task and system under a kind of multitask environment
CN107145388B (en) * 2017-05-25 2020-10-30 深信服科技股份有限公司 Task scheduling method and system under multi-task environment

Also Published As

Publication number Publication date
KR20130143233A (en) 2013-12-31

Similar Documents

Publication Publication Date Title
Liu et al. Enterprise: breadth-first graph traversal on GPUs
Xiang et al. DCAPS: Dynamic cache allocation with partial sharing
Cheng et al. Improving performance of heterogeneous mapreduce clusters with adaptive task tuning
Rogers et al. A variable warp size architecture
Xiao et al. Dynamic cluster resource allocations for jobs with known and unknown memory demands
Hofmeyr et al. Load balancing on speed
Liu et al. Going vertical in memory management: Handling multiplicity by multi-policy
Kumar Pusukuri et al. Adapt: A framework for coscheduling multithreaded programs
Su et al. Critical path-based thread placement for numa systems
Jin et al. CCAP: a cache contention-aware virtual machine placement approach for HPC cloud
Canali et al. Improving scalability of cloud monitoring through PCA-based clustering of virtual machines
Chen et al. Retail: Opting for learning simplicity to enable qos-aware power management in the cloud
Kumar et al. A comprehensive review of straggler handling algorithms for mapreduce framework
Dey et al. ReSense: Mapping dynamic workloads of colocated multithreaded applications using resource sensitivity
Boito et al. Agios: Application-guided i/o scheduling for parallel file systems
CN111176831B (en) Dynamic thread mapping optimization method and device based on multithreading shared memory communication
Kiani et al. Efficient cache performance modeling in GPUs using reuse distance analysis
Wenisch et al. Temporal streams in commercial server applications
CN105700946B (en) The scheduling system and method for memory access latency between multithreading is balanced under a kind of NUMA architecture
KR101395699B1 (en) Method for classifying task and method for improving performance of shared last level cache
Chen et al. Workload balancing via graph reordering on multicore systems
Cui et al. Scaling OLTP applications on commodity multi-core platforms
Malik et al. Co-locating and concurrent fine-tuning MapReduce applications on microservers for energy efficiency
Lai et al. Load balancing in distributed shared memory systems
Machina et al. Predicting cache needs and cache sensitivity for applications in cloud computing on cmp servers with configurable caches

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170329

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180508

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee