문맥 (context)
특이치 분해는 다양한 분야의 데이터 집단에서 고유한 특성을 찾는 특징 추출 분야에 많이 활용되고 있다. 하지만 특이치 분해의 복잡행렬연산은많은 연산시간을요구한다. 본논문에서는 특이치 분해의 대표적인알고리즘인one sided block Jacobi를 고속 처리하기 위해 2차원 멀티코어 시스템을 이용하여 효율적으로 병렬 구현하고 성능을 향상시킨다. 또한, one sided block Jacobi 알고리즘의 다양한 행렬을 서로 다른 2차원 PE 구조에 구현하고 성능 및 에너지를 분석함으로써 각 행렬에 대한 최적의 멀티코어 구조를탐색한다. 더불어 동일한 행렬의 one sided block Jacobi 알고리즘에 대해 선택된 멀티코어 구조와 상용 고성능그래픽스 프로세싱 유닛과의 성능 비교를 통해 제안한 2차원 멀티코어 방법의 잠재 가능성을 확인한다. One sided block Jacobi 알고리즘의 4가지 행렬에 대한 PE 구조별 시스템 면적 및 에너지 소비는 표 3에 기술되어 있다. 시스템 면적과 에너지를 구하기 위해 Synopsis사의 design compiler를 이용하였으며 TSMC 28nm 공정을 사용하였다. 시스템 면적은 PE 수의 증가에 따른 면적이외의 PE간의 와이어 등으로 인해 PE 개수가 2배씩 증가할 때 시스템 면적은 2배 이상 증가한다. 하지만 에너지 소비량은 2배씩 증가하지않는다. 이는 동일한 행렬 구조에서 서로 다른 PE 구조를 적용하더라도 특이치 분해 알고리즘을 수행하는데 요구되는 총명령어 수는 거의 동일하기 때문이다. 그림 7과 그림 8은 각각 PE 구조별 에너지 효율과 시스템면적 효율을 보여준다. 에너지 효율은 소비된 단위 에너지 당처리량을 의미하며, 시스템 면적 효율은 단위 시스템 면적당 처리량을 의미한다. 세로축은 에너지 효율 및 시스템 면적 효율의 평균값으로 정규화 되어있기 때문에 세로축의 수치보다는 에너지 및 시스템 면적 효율이 나타내는 모양이 중요하다. 그림 7에서 보는바와 같이 각 행렬에 대한 최적의 에너지 효율을 보여주는 PE구조는 다음과 같다. 128x128 행렬은 PEs=64x16 구조에서, 64x64 행렬은 PEs=32x8 구조에서, 32x32 행렬은 PEs=16x4 구조에서, 16x16 행렬은 PEs=8x4에서 최적의 에너지 효율을 보인다. 에너지 효율은 특이치 분해 알고리즘의 수행에 따른 에너지 소비와 실행 시간에 영향을 받는다. 따라서PE 수가 증가함에 따른 에너지 소비 증가에 비해 실행 시간의 감소가 더 크기 때문에 에너지 효율은 PE 수가 증가할수록 계속적으로 증가한다. 하지만 어떤 일정 개수의 PE 증가 이후로는 잦은 PE 간 내부 통신과 PE 활성화 비활성화 명령어의 증가로 인해 에너지 소비의 증가폭이 커지고 이로 인해 에너지 효율은감소하는 경향을 보인다. 그림 8에서 보는바와 같이 각 행렬에 대한 최적의 시스템면적 효율을 보여주는 PE구조는 다음과 같다. 128x128 행렬의 경우 PEs=64x8 구조에서, 64x64 행렬의 경우 PEs=32x4 구조에서, 32x32 행렬의 경우 PEs=16x2 구조에서, 16x16 행렬의 경우 PEs=8x1 구조에서 최적의 시스템 면적 효율을 보인다. 에너지 효율과 유사하게 시스템 면적 효율 또한 특이치 분해 알고리즘의 수행에 따른 실행 시간과 시스템 면적에 영향을 받는다. 따라서 PE 수가 증가함에따른 시스템 면적 증가에 비해 실행 시간의 감소가 더 크기 때문에 시스템 면적 효율은 PE 수가 증가할수록 계속적으로 증가한다. 하지만 어떤 일정 PE 개수의 증가 이후로는 잦은PE 간 내부 통신과 PE 활성화 비활성화 명령어의 증가로 인해 실행시간의 증가폭이 커지고 이로 인해 시스템 면적 효율은 감소하는 경향을 보인다. 본 절에서는 선택된 멀티코어 시스템과 상용 고성능 GPU와의 성능 비교를 보여준다. 본 실험에서 사용된 GPU는 NVIDIA GTX 560으로 336개의 코어, 1GB 글로벌 메모리 및 48KB 공유 메모리를 가지고 있으며, 1,620MHz 동작주파수로 동작한다. 반면 멀티코어 시스템은 400MHz의 동작주파수로 동작한다. 상용 GPU와의 정확한 비교는 적정하지 않지만 본 절의 목적은 상용 GPU와의 비교를 통해 선택한 최적의 멀티코어 시스템의 잠재가능성을 알아보기 위함이다. 표 4는 서로 다른 행렬에 대해 상용 GPU와 멀티코어 시스템의 실행시간을 보여준다. 행렬의 크기가 커질수록 멀티코어 시스템이 더 높은 성능을 보여준다. GPU의 멀티스트리밍 프로세서사이에서는 PE 간의 직접적인 통신이 불가능하기 때문에 one sided block Jacobi 알고리즘 처리를 위해서 많은 수의PE를 구성하게 되면 많은 오버헤드가 발생하기 때문이다. 본 논문에서는 다양한 애플리케이션의 특징 추출에서 널리 사용되고 있는 특이치 분해 알고리즘인 one sided blockJacobi를 가속화하기 위하여 2차원 멀티코어 시스템을 이용하여 병렬 구현하였다. 또한 one sided block Jacobi 알고리즘의 다양한 행렬 구조를 서로 다른 2차원 PE 구조에 구현하고 성능 분석한 결과를 바탕으로 각 행렬에 대해 최적인 2차원 PE구조를 탐색하였다. 또한 선택된 멀티코어 시스템을상용 고성능 GPU와의 성능 비교를 통해 선택된 멀티코어 시스템이 one sided block Jacobi 알고리즘 처리에 대해 잠재가능성이 있음을 보였다. 향후 본 논문에서의 멀티코어 모델을 FPGA 프로토타입 시스템에 구현하여 기능 및 성능을 재검증할 예정이다.
지시문 (instruction)
주어진 원문을 읽고 필요한 정보를 파악하여, 원문에 근거해 질문에 답하라.
질문 (question)
본 연구에서 시스템 면적과 에너지 소비량을 산출하기 위해 사용한 설계 도구와 공정 기술은 무엇인가?
추론 과정 (compact_reasoning)
-
1과제 해석
task_interpretation시스템 면적 및 에너지 소비량 측정에 사용된 구체적인 설계 도구와 공정 정보를 찾는 작업이다.
-
2정보 추출
information_extraction본문에서 시스템 면적과 에너지를 구하는 방법론이 기술된 부분을 탐색한다.
- 시스템 면적과 에너지를 구하기 위해 Synopsis사의 design compiler를 이용하였으며 TSMC 28nm 공정을 사용하였다.
-
3근거 선택
evidence_selection설계 도구(design compiler)와 공정(TSMC 28nm) 정보를 선별한다.
- Synopsis사의 design compiler를 이용하였으며 TSMC 28nm 공정을 사용하였다.
-
4논리 통합
logical_integration추출된 두 정보를 결합하여 질문에 대한 답변을 구성한다.
-
5결론 도출
conclusion_formulation도구는 Synopsis사의 design compiler, 공정은 TSMC 28nm임을 확인한다.
- Synopsis사의 design compiler를 이용하였으며 TSMC 28nm 공정을 사용하였다.
-
6답변 생성
answer_generation질문에 명시된 두 가지 요소를 명확히 기술한다.
- Synopsis사의 design compiler
- TSMC 28nm 공정
근거 (evidence)
- 시스템 면적과 에너지를 구하기 위해 Synopsis사의 design compiler를 이용하였으며 TSMC 28nm 공정을 사용하였다.
- Synopsis사의 design compiler를 이용하였으며 TSMC 28nm 공정을 사용하였다.
- Synopsis사의 design compiler
- TSMC 28nm 공정
최종 답변 (final_answer)
Synopsis사의 design compiler를 이용하였으며, TSMC 28nm 공정을 사용하였다.
핵심 해석 (core_interpretation)
본 연구에서 시스템 면적과 에너지 소비량을 산출하기 위해 Synopsis사의 design compiler와 TSMC 28nm 공정이 사용되었다.