삼성전자 ds 부문 소프트웨어연구소 과제 제안서

11
SAMSUNG SECRET 삼삼삼삼 DS 삼삼 삼삼삼삼삼삼삼삼 삼삼 삼삼삼 2013. 9. 12

Upload: tayte

Post on 08-Feb-2016

534 views

Category:

Documents


2 download

DESCRIPTION

삼성전자 DS 부문 소프트웨어연구소 과제 제안서. 2013 . 9 . 12. 프로젝트 과제 제안. 1. Python 기반 성능 Metric Monitor Tool 개발. 내용 및 목적 trace 결과나 CPU Utilization, Disk I/O Throughput 등의 Data 를 읽어들여 사용자가 수동으로 분석하기 위한 Tool 을 개발 Test 용 Metric Data 는 제공됨 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 삼성전자  DS 부문 소프트웨어연구소 과제 제안서

SAMSUNG SECRET

삼성전자 DS 부문소프트웨어연구소

과제 제안서2013. 9. 12

Page 2: 삼성전자  DS 부문 소프트웨어연구소 과제 제안서

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]

1

Page 3: 삼성전자  DS 부문 소프트웨어연구소 과제 제안서

SAMSUNG SECRETPython 기반 성능 Metric Monitor Tool 개발

내용 및 목적 trace 결과나 CPU Utilization, Disk I/O Throughput 등의 Data 를 읽어들여 사용자가 수동으로 분석하기 위한 Tool 을 개발 Test 용 Metric Data 는 제공됨 PyQtGraph 에 대부분의 참고 로직이 제공되므로 , Python 및 GUI Programming 에 경험이 있다면 어렵지 않게 수행 가능한 프로젝트

Page 4: 삼성전자  DS 부문 소프트웨어연구소 과제 제안서

SAMSUNG SECRETPython 기반 성능 Metric Monitor Tool 개발

GUI 전체 Overview 좌측에는 GUI Control Panel, 우측에는 Graph 창이 존재한다 . 윈도우 상단에는 Menu Bar, ToolBar 등이 존재한다 . 좌측 Control Panel 에는 Section 별로 Sub Menu 및 Control 등이 존재한다 . 우측에는 복수개의 그래프 패널들이 존재한다 . 하위 GUI 는 모두 PyQtGraph 에서 제공함

Page 5: 삼성전자  DS 부문 소프트웨어연구소 과제 제안서

SAMSUNG SECRETPython 기반 성능 Metric Monitor Tool 개발

그래프 패널 모드 1 개부터 4 개까지의 확대 , 축소 창을 가질 수 있으며 , 사용자가 선택 가능하다 . 프로그램 종료시에 각 창의 레이아웃이 저장되며 , 재실행시 동일한 위치 및 레이아웃을 가져야 한다 . 각 창 사이의 크기는 조절 가능하다 .

Page 6: 삼성전자  DS 부문 소프트웨어연구소 과제 제안서

SAMSUNG SECRETPython 기반 성능 Metric Monitor Tool 개발

ROI(Region of Interest) 관심 영역을 사용자가 직접 표기할 수 있도록 기호를 삽입 – 직선 , 박스 , 화살표 기호 형태 그래프 위도우 내에 ROI 삽입이 가능하여야 한다 . 한 그래프내의 ROI 는 연결된 다른 그래프에서도 확대 , 축소되어 동일한 자리에 보여야 한다 . 별도의 ROI 윈도우가 존재하여 , 삽입된 ROI 의 종류가 정렬되어 보여야 한다 . ROI 윈도우의 한 ROI 항목을 클릭하면 , 해당 ROI 위치로 그래프 윈도우가 Scroll 하여야 한다 . 삽입된 ROI 목록들은 Load/Save 가 가능하여야 한다 .

Page 7: 삼성전자  DS 부문 소프트웨어연구소 과제 제안서

SAMSUNG SECRETPython 기반 성능 Metric Monitor Tool 개발

Custom Grid & XY Axis 그래프의 확장 , 축소시 x, y 축의 단위는 적절하게 변환하여 표기되어야 한다 .

Page 8: 삼성전자  DS 부문 소프트웨어연구소 과제 제안서

SAMSUNG SECRETPython 기반 성능 Metric Monitor Tool 개발

자동 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 을 분리하여야 한다 .

Page 9: 삼성전자  DS 부문 소프트웨어연구소 과제 제안서

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]

2

Page 10: 삼성전자  DS 부문 소프트웨어연구소 과제 제안서

SAMSUNG SECRET기계학습을 이용한 성능 Metric 패턴 인식기 개발

내용 및 목적 Hadoop 등에서 다양한 benchmark tool 을 수행하면 이에 따른 성능 metric 은 benchmark 결과에 따라 모두 달리 보여짐

각 benchmark solution 의 resource utilization pattern 을 이용하여 어떠한 benchmark 수행 결과인지를 판단한다 . benchmark 의 종류를 판단한 후 , 어떤 지점에서 utilization 이 극대화되기 시작하는지를 판단한다 . 판단 및 예측에 사용되는 머신 러닝 알고리즘은 추후 공지

Page 11: 삼성전자  DS 부문 소프트웨어연구소 과제 제안서

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