멀티코어 임베디드 리눅스 시스템을 위한 응용 프로그램 분석 방법 및 장치
METHOD AND APPARATUS FOR ANALYZING APPLICATION IN MULTICORE EMBEDDED LINUX SYSTEM
특허 요약
본 발명은 멀티코어 임베디드 리눅스 시스템을 위한 응용프로그램 분석 방법에 있어서, 실행 인터페이스를 통해 사용자로부터 모니터링하고자 하는 프로그램의 위치 기반 경로 탐색을 위한 기설정된 타입의 경로명 혹은 프로세스 ID를 입력받는 과정과, 상기 실행 인터페이스를 통해 경로명 및 프로세스 ID 중 어느 하나의 입력 여부에 따라 상기 경로명에 대응하는 프로그램의 API를 순차적으로 호출하여 해당 프로그램을 실행하거나 혹은 리눅스 시스템에서 현재 실행 중인 적어도 하나의 프로세스에 대한 자원 모니터링을 수행하여 응용 프로그램에 대한 자원 모니터링을 수행하는 과정을 포함함을 특징으로 한다.
청구항
번호청구항
10

삭제

11

제7항에 있어서,상기 제1 주기는, 시스템의 CPU 거버너(governor), 현재 사용 가능한 코어 개수 및 총 메모리 용량을 나타내는 리소스 정보 항목에 설정되고,상기 제2 지피 주기는, 프로세스의 처리기 사용량, 해당 지피에서의 CPU 주파수, 문맥전환 횟수를 나타내는 리소스 정보 항목에 설정되고,상기 제3 주기는, 메모리 사용량, I/O 정보, GPU 사용량 및 기타 CPU 정보를 나타내는 리소스 항목에 설정되어 해당 주기별 리소스 정보 항목별 모니터링을 수행함을 특징으로 하는 멀티코어 임베디드 리눅스 시스템을 위한 응용 프로그램 분석 장치.

1

멀티코어 임베디드 리눅스 시스템을 위한 응용프로그램 분석 방법에 있어서,실행 인터페이스를 통해 사용자로부터 모니터링하고자 하는 프로그램의 위치 기반 경로 탐색을 위한 기설정된 타입의 경로명 혹은 프로세스 ID를 입력받는 과정과,상기 실행 인터페이스를 통해 경로명 및 프로세스 ID 중 어느 하나의 입력 여부에 따라 상기 경로명에 대응하는 프로그램의 API를 순차적으로 호출하여 해당 프로그램을 실행하거나 혹은 리눅스 시스템에서 현재 실행 중인 적어도 하나의 프로세스에 대한 자원 모니터링을 수행하여 응용 프로그램에 대한 자원 모니터링을 수행하는 과정을 포함하고,상기 자원 모니터링을 수행하는 과정은,리소스(resource) 정보 항목별 특성에 따라 기설정된 주기별 적절성(suitability) 여부를 판단하여 적어도 둘 이상의 리소스 정보 항목으로 그룹핑을 수행하고, 리눅스 시스템에서 지원하는 모니터링을 위한 규칙에 따라 각 그룹별 리소스 정보 항목에 대한 모니터링을 수행하고,프로그램의 실행에 대응하는 정책(policy) 정보에 따라 상기 정책 정보의 기설정된 실행 항목별 사용량을 이용률 측정을 위한 자료구조에 누적하고, 상기 리소스 정보 항목별 특성에 따라 그룹핑된 그룹별 기설정된 주기를 상기 실행 항목별 이용률 측정에 적용하여 산출하고,상기 리소스(resource) 정보 항목별 특성에 따라 기설정된 주기는,정적(static) 리소스(resource) 데이터로 설정된 항목에 대하여 프로그램 실행 중 1회 모니터링이 실시되는 제1 주기,지피(jiffy) 단위로 발생하는 스레드의 코어 이주를 기반으로 CPU 정보에 대한 1 지피별 모니터링이 실시되는 제2 지피 주기,상기 리소스 정보 항목별 모니터링의 오버헤드를 고려하여 해당 프로그램이 구동되는 단위인 태스크 스케줄링 데이터로 설정된 항목에 대하여 사용자로부터 정의된 주기로 모니터링이 실시되는 제3 주기를 포함함을 특징으로 하는 멀티코어 임베디드 리눅스 시스템을 위한 응용 프로그램 분석 방법.

2

삭제

3

삭제

4

삭제

5

제1항에 있어서,상기 제1 주기는, 시스템의 CPU 거버너(governor), 현재 사용 가능한 코어 개수 및 총 메모리 용량을 나타내는 리소스 정보 항목에 설정되고,상기 제2 지피 주기는, 프로세스의 처리기 사용량, 해당 지피에서의 CPU 주파수, 문맥전환 횟수를 나타내는 리소스 정보 항목에 설정되고,상기 제3 주기는, 메모리 사용량, I/O 정보, GPU 사용량 및 기타 CPU 정보를 나타내는 리소스 항목에 설정되어 해당 주기별 리소스 정보 항목별 모니터링이 수행됨을 특징으로 하는 멀티코어 임베디드 리눅스 시스템을 위한 응용 프로그램 분석 방법.

6

제1항에 있어서, 상기 기설정된 실행 항목별 사용량은,해당 프로그램의 코어별 이용율, GPU 이용율, 메모리 점유율 및 네트워크 송수신량을 포함하고,상기 코어별 이용율은,기설정된 주기별 프로세스의 스레드별 사용한 누적된 코어별 사용량을 해당 주기에 대한 총 CPU 타임으로 나눔으로써 산출되고,상기 GPU 이용율은,GPU의 전원 온/오프 상태를 gpu_power_state 변수에서 읽어 누적하고 기설정된 주기별로 백분율로 환산하여 산출되고,상기 메모리 점유율 측정은,proc 파일 시스템으로부터 메모리에 적재된 양에 대한 정보를 획득하여 메모리 측정을 위한 자료구조에 합산하여 바이트(byte) 단위로 누적한 후 다른 응용 프로그램과 공유하는 메모리에 대해서는 공유하는 프로세스의 수로 나누어 계산하고, 기설정된 간격별 메모리에 로드된 누적량의 평균을 전체 메모리 크기로 나눔으로써 산출됨을 특징으로 하는 멀티코어 임베디드 리눅스 시스템을 위한 응용 프로그램 분석 방법.

7

멀티코어 임베디스 리눅스 시스템을 위한 응용 프로그램 분석 장치에 있어서,사용자로부터 모니터링하고자 하는 프로그램의 위치 기반 경로 탐색을 위한 기설정된 타입의 경로명 혹은 프로세스 ID를 입력받는 실행 인터페이스부와,상기 실행 인터페이스부를 통해 경로명 및 프로세스 ID 중 어느 하나의 입력 여부에 따라 상기 경로명에 대응하는 프로그램의 API를 순차적으로 호출하여 해당 프로그램을 실행하거나 혹은 리눅스 시스템에서 현재 실행 중인 적어도 하나의 프로세스에 대한 자원 모니터링을 수행하여 응용 프로그램에 대한 자원 모니터링을 수행하도록 제어하는 제어부를 포함하고,상기 제어부의 제어에 따라 리소스(resource) 정보 항목별 특성에 따라 기설정된 주기별 적절성(suitability) 여부를 판단하여 적어도 둘 이상의 리소스 정보 항목으로 그룹핑을 수행하고, 리눅스 시스템에서 지원하는 모니터링을 위한 규칙에 따라 각 그룹별 리소스 정보 항목에 대한 모니터링을 수행하는 모니터링부를 더 포함하고,상기 제어부의 제어에 따라 프로그램의 실행에 대응하는 정책(policy) 정보에 따라 상기 정책 정보의 기설정된 실행 항목별 사용량을 이용률 측정을 위한 자료구조에 누적하고, 상기 리소스 정보 항목별 특성에 따라 그룹핑된 그룹별 기설정된 주기를 상기 실행 항목별 이용률 측정에 적용하여 산출하는 리소스 사용량 산출부를 더 포함하며,상기 제어부의 제어 하에 정적(static) 리소스(resource) 데이터로 설정된 항목에 대하여 프로그램 실행 중 1회 모니터링이 실시되는 제1 주기,지피(jiffy) 단위로 발생하는 스레드의 코어 이주를 기반으로 CPU 정보에 대한 1 지피별 모니터링이 실시되는 제2 지피 주기,상기 리소스 정보 항목별 모니터링의 오버헤드를 고려하여 해당 프로그램이 구동되는 단위인 태스크 스케줄링 데이터로 설정된 항목에 대하여 사용자로부터 정의된 주기로 모니터링이 실시되는 제3 주기를 설정하는 주기 설정부를 더 포함함을 특징으로 하는 멀티코어 임베디드 리눅스 시스템을 위한 응용 프로그램 분석 장치.

8

삭제

9

삭제

12

제7항에 있어서, 상기 리소스 사용량 산출부는,해당 프로그램의 코어별 이용율, GPU 이용율, 메모리 점유율 및 네트워크 송수신량을 산출하되,상기 코어별 이용율은,기설정된 주기별 프로세스의 스레드별 사용한 누적된 코어별 사용량을 해당 주기에 대한 총 CPU 타임으로 나눔으로써 산출되고,상기 GPU 이용율은,GPU의 전원 온/오프 상태를 gpu_power_state 변수에서 읽어 누적하고 기설정된 주기별로 백분율로 환산하여 산출되고,상기 메모리 점유율 측정은,proc 파일 시스템으로부터 메모리에 적재된 양에 대한 정보를 획득하여 메모리 측정을 위한 자료구조에 합산하여 바이트(byte) 단위로 누적한 후 다른 응용 프로그램과 공유하는 메모리에 대해서는 공유하는 프로세스의 수로 나누어 계산하고, 기설정된 간격별 메모리에 로드된 누적량의 평균을 전체 메모리 크기로 나눔으로써 산출됨을 특징으로 하는 멀티코어 임베디드 리눅스 시스템을 위한 응용 프로그램 분석 장치.