제안서 보기

Download Report

Transcript 제안서 보기

SAMSUNG SECRET
2013. 9. 12
1
SAMSUNG SECRET
프로젝트 과제 제안
구분
주제
내용
필요지식
내용
Python 기반 성능 Metric Monitor Tool 개발
Linux 의 Ftrace Tool 에서 얻어진 CPU Utilization Ratio, Disk Throughput 등의 데이터를
수동으로 쉽게 분석 할 수 있는 GUI Tool 을 개발한다.
Linux, 환경, Python 및 관련 Library (Numpy, Pandas, PyQt, PyQtGraph) 기초 문법
Linux 환경에 대한 이해
교육/훈련 효과 Python 및 GUI 라이브러리 동작 구조에 대한 이해
개발기간
인원
담당자
2013.9 ~ 2013.11
3명
박상규 책임
연락처
010-5501-1259/[email protected]
Python 기반 성능 Metric Monitor Tool 개발

SAMSUNG SECRET
내용 및 목적
 trace 결과나 CPU Utilization, Disk I/O Throughput 등의 Data 를 읽어들여 사용자가 수동으로 분석하기 위
한 Tool 을 개발
 Test 용 Metric Data 는 제공됨
 PyQtGraph 에 대부분의 참고 로직이 제공되므로, Python 및 GUI Programming 에 경험이 있다면 어렵지
않게 수행 가능한 프로젝트
Python 기반 성능 Metric Monitor Tool 개발

GUI





전체 Overview
좌측에는 GUI Control Panel, 우측에는 Graph 창이 존재한다.
윈도우 상단에는 Menu Bar, ToolBar 등이 존재한다.
좌측 Control Panel 에는 Section 별로 Sub Menu 및 Control 등이 존재한다.
우측에는 복수개의 그래프 패널들이 존재한다.
하위 GUI 는 모두 PyQtGraph 에서 제공함
SAMSUNG SECRET
Python 기반 성능 Metric Monitor Tool 개발

SAMSUNG SECRET
그래프 패널 모드
 1개부터 4개까지의 확대, 축소 창을 가질 수 있으며, 사용자가 선택 가능하다.
 프로그램 종료시에 각 창의 레이아웃이 저장되며, 재실행시 동일한 위치 및 레이아웃을 가져야 한다.
 각 창 사이의 크기는 조절 가능하다.
Python 기반 성능 Metric Monitor Tool 개발

ROI(Region of Interest)
 관심 영역을 사용자가 직접 표기할 수 있도록 기호를 삽입 – 직선, 박스, 화살표 기호 형태
 그래프 위도우 내에 ROI 삽입이 가능하여야 한다.
 한 그래프내의 ROI 는 연결된 다른 그래프에서도 확대, 축소되어 동일한 자리에 보여야 한다.
 별도의 ROI 윈도우가 존재하여, 삽입된 ROI 의 종류가 정렬되어 보여야 한다.
 ROI 윈도우의 한 ROI 항목을 클릭하면, 해당 ROI 위치로 그래프 윈도우가 Scroll 하여야 한다.
 삽입된 ROI 목록들은 Load/Save 가 가능하여야 한다.
SAMSUNG SECRET
Python 기반 성능 Metric Monitor Tool 개발

Custom Grid & XY Axis
 그래프의 확장, 축소시 x, y 축의 단위는 적절하게 변환하여 표기되어야 한다.
SAMSUNG SECRET
Python 기반 성능 Metric Monitor Tool 개발




SAMSUNG SECRET
자동 Scrolling 기능
 사용자가 직접 그래프 윈도우를 스크롤 할 필요 없이, 일정 시간 간격으로 자동으로 스크롤할 수 있는 기능
을 삽입한다.
 특정 키보드 입력에 따라 스크롤 시작, 잠시 멈춤, 재개, 종료 가 가능하다.
 스크롤링 여부와 관계 없이 사용자의 ROI 및 화살표 기호, 키보드 입력이 가능하여야 한다.
 입력된 화살표 기호 및 키보드는 별개의 창에 선별되어 쉽게 보여줄 수 있어야 하며, 윈도우 내의 항목을 클
릭하면 해당 항목을 그래프 윈도우가 보여주어야 한다.
custom plotting 기능
 plotting 시에 graph 는 사용자 정의된 도형으로 그릴 수 있어야 한다.
 e.g.) call flow depth 가 10을 넘어가는 점에 대해서는(y-axis 가 10 이상인 경우 ) 해당 지점의 point 를 굵
은 사각형 모양으로 plotting 할 수 있어야 한다.
backgound filling 기능
 그래프 윈도우의 특정 background region 에는 지정된 색상으로 filling 할 수 있어야 한다.
 e.g) 특정 시간이나 날짜등의 데이터에 대해서는 background 를 검은색으로 채우는 기능.
코딩시 유의점
 모든 로직들은 클래스로 추상화하여야 한다.
 추상화된 데이터들은 확장성 있게 설계 되어야 한다.
 클래스의 메서드들은 최대 20라인을 넘지 않도록 작성하여야 하며, 공백과 주석을 적절히 활용하여 이해하
기 쉽도록 작성하여야 한다.
 Qt Designer 를 이용하여 GUI 와 Logic 을 분리하여야 한다.
2
SAMSUNG SECRET
프로젝트 과제 제안
구분
주제
내용
필요지식
내용
기계학습을 이용한 성능 Metric 패턴 인식기 개발
Linux 의 Benchmarking Tool 에서 얻어진 CPU Utilization Ratio, Disk Throughput 등의 데
이터를 기계 학습을 이용하여 특정 Job 에 대한 패턴을 분석하는 Tool 을 작성한다.
Linux, 환경, Python 및 관련 Library (Numpy, Pandas, Scikit-learn, PyBrain, MLPy, PyML)
Linux 에서의 Machine Learning 개발 동작 원리 파악
교육/훈련 효과
개발기간
인원
담당자
2013.9 ~ 2013.11
3명
박상규 책임
연락처
010-5501-1259/[email protected]
SAMSUNG SECRET
기계학습을 이용한 성능 Metric 패턴 인식기 개발

내용 및 목적
 Hadoop 등에서 다양한 benchmark tool 을 수행하면 이에 따른 성능 metric 은 benchmark 결과에 따라 모
두 달리 보여짐



각 benchmark solution 의 resource utilization pattern 을 이용하여 어떠한 benchmark 수행 결과인지를 판
단한다.
benchmark 의 종류를 판단한 후, 어떤 지점에서 utilization 이 극대화되기 시작하는지를 판단한다.
판단 및 예측에 사용되는 머신 러닝 알고리즘은 추후 공지
SAMSUNG SECRET
기계학습을 이용한 성능 Metric 패턴 인식기 개발



구현 내용
 DB화된 Test Data 의 분류
 Test Data 의 판별
DB화된 Test Data 의 분류
 Test Data 로 제공되는 Data 를 Category 에 맞춰 category 로 나눈다.
Test Data 의 판별
 새로 입력되는 Test Data 의 Scrolling 시간이 지남에 따라 각 Category 별 확률 및 예상 경로를 GUI 로 보여
준다.
 해당 category 에서 어떤 시점에 utilization 이 극대화되는지를 판별하여 예측한다.