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 이 극대화되는지를 판별하여 예측한다.