• 제목/요약/키워드: memory bottleneck

검색결과 90건 처리시간 0.026초

범용 응용프로그램 실행 시 하드웨어 구성과 분기 처리 기법에 따른 GPU 성능 분석 (Analysis of Impact of Correlation Between Hardware Configuration and Branch Handling Methods Executing General Purpose Applications)

  • 최홍준;김철홍
    • 한국콘텐츠학회논문지
    • /
    • 제13권3호
    • /
    • pp.9-21
    • /
    • 2013
  • GPU의 연산 능력과 유연성이 강화됨에 따라, GPU는 그래픽 응용프로그램뿐만 아니라 범용 응용프로그램도 수행한다. 특히, GPU 회사들이 제공하는 API를 활용함으로써 프로그래머들은 보다 쉽게 GPGPU 응용프로그램을 작성할 수 있다. 하지만 대부분의 범용 응용프로그램은 분기 명령어를 많이 포함하고 있기 때문에, 범용 응용프로그램을 수행하는 경우 GPU의 연산 자원을 충분히 활용할 수 없다. 분기 명령어를 처리하기 위해서 다양한 워프 생성 기법들이 제안되었다. GPU 구조에서는 높은 연산 자원 활용률을 보이는 워프 생성기법이 우수한 성능을 보일 것으로 예상된다. 하지만 예상과는 달리, 실험 결과에 따르면 높은 연산 자원 활용률을 보이는 워프 생성 기법의 성능이 상대적으로 낮은 연산 자원 활용률을 보이는 워프 생성 기법의 성능보다 낮게 나타난다. 높은 연산 자원 활용률을 보이는 워프 생성 기법에서 유발한 많은 메모리 요구로 인한 심각한 메모리 병목 현상이 원인으로 분석된다. 그러므로 적절한 하드웨어 지원이 없는 경우, 높은 연산자원 활용률이 반드시 우수한 성능을 보장한다고 할 수 없다. 이러한 이유로, 본 논문에서는 하드웨어 자원과 워프 생성 기법사이의 상관관계에 대한 상세한 분석을 수행하고자 한다. 본 논문의 분석 결과는 분기 명령어에 의해 발생된 GPU의 성능 저하 문제를 해결하고자 할 때 중요한 가이드라인이 될 것이다.

고속 라우터의 기가비트 포워딩 검색을 위한 비트-맵 트라이 구조 (The Bit-Map Trip Structure for Giga-Bit Forwarding Lookup in High-Speed Routers)

  • 오승현;안종석
    • 한국정보과학회논문지:정보통신
    • /
    • 제28권2호
    • /
    • pp.262-276
    • /
    • 2001
  • 최근들어 특별한 하드웨어나 새 프로토콜의 도움없이 고속 라우터의 포워딩 검색을 지원하는 포워딩 테이블에 대한 연구가 다양하게 진행되고 있다. 본 논문에서는 소프트웨어를 기반으로 일반적인 펜티엄 프로세서에서 기가비트급 포워딩 검색을 지원할 수 있는 새포워딩 테이블 자료구조를 제시한다. 포워딩 검색은 테이블의 크기에 비례해서 복잡도가 증가하는 라우터 성능의 병목지점으로 알려져 있다. 기존의 소프트웨어를 기반으로 하는 포워딩 검색 연구들은 포워딩 테이블 자료구조로 패트리샤 트라이와 그 변형을 이용하거나 프리픽스 길이를 키로 해서 함수를 구성하는 방법등을 사용하여 왔다. 본 논문에서 제안된 포워딩 테이블 자료구조는 라우팅 테이블의 프리픽스를 완전이진 트라이로 구성한후 트라이의 구조와 각 노드별로 링크 되어있는 라우팅 테이블 포인터 정보를 비트열로 표현하여 포워딩테이블을 구성한다. 트라이의 구조와 라우팅 프리픽스 포인터 정보는 배열이나 링크드-리스트로 표현하면 대량의 저장공간을 필요로하지만 제안된 자료구조에서는 각 정보가 하나의 비트로 표현되므로 작은 저장공간으로 충분하며 또한 트라이를 중간 레벨에서부터 검색할 수 있는 방법을 라우팅 테이블을 펜티엄 프로세서의 L2 캐쉬에 저장할 수 있는 작은 크기로 압축하고 검색경로를 단축함으로써 일반적인 펜티엄 프로세서를 이용하여 고속의 포워딩 엔진을 구현할 수 있음을 보여준다. 제안된 방법의 성능을 평가하기 위해서 실제 라우팅 테이블을 대상으로 실험한 결과 초당 5.7백만 번의 라우팅검색성능을 기록하였다.

  • PDF

하드웨어 구조의 H.264/AVC 가변길이 복호기 설계 (Design of Hardwired Variable Length Decoder for H.264/AVC)

  • 유용훈;이찬호
    • 대한전자공학회논문지SD
    • /
    • 제45권11호
    • /
    • pp.71-76
    • /
    • 2008
  • H.264(또는 MPEG-4/AVC pt.10) 압축 표준은 고성능 영상 압축 알고리즘으로 그 적용 범위를 넓혀 가고 있다. H.264 압축 표준의 가변길이 코드(Variable Length Code)는 데이터의 통계적 중복성의 특성을 이용하여 압축을 한다. 이러한 압축된 비트 스트림은 복호기에서 연속된 비트 스트림을 잘라내는 작업과 테이블에서 비트 스트림과 비교하는 작업을 진행하는데 순수 하드웨어 구현이 까다로운 연산부이다. 본 논문에서는 HD 영상을 실시간으로 복호 가능한 가변길이 복호기 구조를 제안한다. Exp-Golomb 복호기는 연산기로 구성되어 있으며, CAVLD는 테이블과 연산기를 혼합하여 최적화된 하드웨어로 설계하였다. 비트 스트림의 분할(parsing) 작업은 배럴 쉬프터(Barrel shifter)와 1값 감지기(First 1's detector)에서 진행되며, 이 두 유닛은 Exp-Golomb 복호기와 CAVLD가 공유하는 구조로 설계하여 불필요한 하드웨어를 제거하였다. CAVLD와 재정렬(Reorder) 유닛간의 병목현상으로 가변길이 복호기 뿐만 아니라 H.264 디코더 전체의 성능 저하가 나타나는 단점을 제거하기 위해서 CAVLD와 재정렬 유닛간 FIFO와 재정렬 유닛의 최종 출력에 메모리를 두어 병목현상을 제거하였다. 제안된 가변길이 복호기는 Verilog-HDL을 이용하여 설계하고 FPGA를 통해 검증하였다. 0.18um 표준 CMOS 공정을 사용한 합성 결과는 22,604 게이트 수이며, 동작 주파수 120MHz에서 HD 영상이 복호됨을 확인하였다.

고속의 최장 IP 주소 프리픽스 검색을 위한 비트-맵 트라이 (A Bit-Map Trie for the High-Speed Longest Prefix Search of IP Addresses)

  • 오승현;안종석
    • 한국정보과학회논문지:정보통신
    • /
    • 제30권2호
    • /
    • pp.282-292
    • /
    • 2003
  • 본 논문은 IPv4와 IPv6을 지원하는 라우터에서 기가비트의 속도로 포워딩 검색을 수행하는 효율적인 포워딩 테이블 구조를 제안한다. 포워딩 검색은 최장 프리픽스 일치검색, LPM(Longest Prefix Matching)의 복잡도가 포워딩 테이블 및 주소크기에 따라 증가하여 라우터 성능의 병목지점으로 알려져 있다. 포워딩 검색의 고속화를 위해 본 논문에서는 빈번한 메모리 접근을 최소화할 수 있는 BMT(Bit-Map Trie) 자료구조를 소개한다. BMT 포워딩 검색은 필요한 모든 검색연산이 캐쉬에 저장된 소형 인덱스 테이블에서만 발생한다. 포워딩 테이블의 트라이로부터 소형 인덱스 테이블을 구축하기 위해서 BMT는 차일드(child) 노드 포인터와 포워딩 테이블 엔트리에 대한 포인터를 각각 한 비트로 표현하는 비트-맵을 구성한다. 또한 IPv6와 같이 주소길이가 증가하면 트라이의 깊이가 깊어져서 전통적인 트라이 검색속도가 느려지는 문제점을 해결하기 위해서 BMT에서는 검색을 시작할 적절한 트라이의 레벨을 결정하는 이진검색 알고리즘을 사용한다. 실험 결과 BMT는 IPv4 백본 라우팅 테이블을 펜티엄-II 프로세서의 L2 캐쉬 크기인 512KB 보다 작게 압축하였으며, 최대 250ns/패킷의 검색속도를 제공하여 기존의 알려진 가장 빠른 최장 검색 알고리즘의 성능과 같은 속도를 실현하였다.

링 구조 다중프로세서 시스템에서 링 대역폭 확장을 위한 효율적인 방안 (Efficient Schemes for Scaling Ring Bandwidth in Ring-based Multiprocessor System)

  • 장병순;정성우;장성태;전주식
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제27권2호
    • /
    • pp.177-187
    • /
    • 2000
  • 최근 몇 년간 클리스터링 기반 다중 프로세서 시스템에서의 상호 연결망으로서의 버스의 제약을 극복하기 위한 단방향 지점간 링크를 이용한 링 구조가 제안되었다. 하지만 계속되는 프로세서의 고속화와 지역 버스 및 메모리의 고성능화로 인해 지점간 링크의 현재 표준 대역폭으로는 시스템 확장성에 한계를 보이며 이에 따라 대역폭 확장에 대한 연구가 필요하다. 본 논문에서는 클리스터링 기반 다중프로세서 시스템으로 개발된 PANDA 시스템을 기본 모델로 채택한다. 최근 대중화된 프로세서 및 지역 버스의 사양을 반영한 모의실험을 통해 현재의 지점간 링크가 전체 시스템 성능에 병목이 됨을 보여주고 두 배 이상의 대역폭 확장이 필요함을 보인다. 상호 연결망의 대역폭을 확장하기 위해, 두 배 증가된 대역폭을 지닌 새로운 링크를 개발하는 것은 과다한 설계비용과 개발시간이 요구된다. 이에 대한 대안으로 본 논문에서는 상용화되어있어 쉽게 적용 가능한 기존 IEEE 표준 대역폭을 가진 링크를 이용해 이중으로 링을 구성하는 몇 가지 방법 단순 이중 링, 트랜잭션 분리 이중 링, 방향 분리 이중 링 - 을 제시하고 모의실험을 통해 두 배 대역폭 단일 링과 더불어 각각의 방식에 대한 장단점을 분석한다.

  • PDF

주행시간 기반 실시간 점대점 최단경로 탐색 알고리즘 (A Real-time Point-to-Point Shortest Path Search Algorithm Based on Traveling Time)

  • 이상운
    • 한국인터넷방송통신학회논문지
    • /
    • 제12권4호
    • /
    • pp.131-140
    • /
    • 2012
  • 네비게이션의 최단 경로 탐색 알고리즘은 일반적으로 Dijkstra 알고리즘에 기반을 두고 있으며, 가중치로 단지 길이 (거리) 만을 고려하고 있다. 거리 기반의 Dijkstra 알고리즘은 출발 노드부터 시작하여 그래프의 모든 노드에 대한 최단 경로를 결정하기 때문에 일반적으로 노드의 수 - 1회를 수행해야 하며, 알고리즘 수행에 많은 메모리가 요구된다. 또한, 거리에만 기반하기 때문에 전방에 차량사고로 인해 병목현상이 발생하였을 때 우회도로를 탐색하는 기능이 없어 항상 동일한 경로만을 탐색한다. 이러한 문제점을 해결하고자, 본 논문은 도로 등급 (고속도로, 국도, 지방도 등)을 고려하지 않고, 속도 기준 (원활, 지체 서행, 정체, 사고 통제 등)도 적용하지 않으며, 단지 도로별 주행시간 (주행속도 ${\times}$ 거리)을 고려한다. 이는 사고, 지체, 공사 등으로 인해 동일한 거리의 도로도 다른 시간이 소요되는 현실성을 반영하여 우회도로를 탐색할 수 있는 장점이 있다. 제안된 알고리즘은 특정 도로에서 사고가 발생하였다고 가정한 경우에도 도로의 통행속도를 실시간으로 반영함으로서 돌발지점을 우회하여 목적지 까지 최단시간 내에 도달 할 수 있음을 증명하였다.

브릭 정점을 이용한 GPU 기반 볼륨 광선투사법 가속화 (Accelerating GPU-based Volume Ray-casting Using Brick Vertex)

  • 채수평;신병석
    • 한국컴퓨터그래픽스학회논문지
    • /
    • 제17권3호
    • /
    • pp.1-7
    • /
    • 2011
  • 최근에 GPU 기반의 볼륨 광선 투사법을 가속화하는 기법들이 많이 연구되고 있다. 하지만 이런 기법들은 CPU-GPU간 데이터 전송 시 병목 현상을 야기하고 계층구조를 표현하기 위한 추가적인 GPU 메모리 공간이 필요할 뿐만 아니라 불투명도 전이 함수가 변경되었을 때 실시간에 대응하지 못하는 문제점들이 발생할 수 있다. 본 논문에서는 이러한 문제점들을 해결하기 위해 GPU 기반의 효율적인 빈 공간 도약 기법을 제안한다. 브릭(brick) 안에 포함되는 복셀들의 최대 밀도 값을 하나의 정점에 저장하고 불투명도 전이 함수에 의하여 투명하다고 판별된 정점들을 기하 쉐이더에서 삭제한다. 이 정점들을 랜더링 시간에 기하 쉐이더의 입력 값으로 사용해 투명하지 않은 영역의 바운딩 박스를 만들어 광선이 효과적으로 진행하도록 한다. 생성된 정점들은 렌더링 중에 시점의 변화에 무관하게 사용할 수 있지만 불투명도 전이 함수가 변경되면 투명하지 않은 정점들을 다시 생성해야 한다. 이는 기하 쉐이더를 통해서 GPU 안에서 고속으로 생성되기 때문에 대화식 처리가 가능하다. 제안하는 방법은 기존 광선 투사법의 결과와 동일한 영상을 생성하며 렌더링 속도는 기존의 방법에 비해 최대 10배 이상 향상되었다.

멀티코어 시스템에서 흐름 수준 병렬처리에 기반한 리눅스 TCP/IP 스택의 성능 개선 (A Performance Improvement of Linux TCP/IP Stack based on Flow-Level Parallelism in a Multi-Core System)

  • 권희웅;정형진;곽후근;김영종;정규식
    • 정보처리학회논문지A
    • /
    • 제16A권2호
    • /
    • pp.113-124
    • /
    • 2009
  • 최근 멀티코어가 장착된 시스템이 증가하면서 이를 통한 애플리케이션 성능향상에 대한 노력이 계속 되어왔다. 하나의 시스템에 다수의 처리장치가 존재함으로 인해 프로세싱 파워는 기존보다 증가했지만 기존의 소프트웨어나 하드웨어들은 싱글코어 시스템에 적합하게 설계된 경우가 많아 멀티코어의 이점을 충분히 활용하지 못하고 있는 경우가 많다. 기존의 많은 소프트웨어들은 멀티코어 상에서 공유 자원에 대한 병목현상과 비효율적인 캐시 메모리 사용으로 인하여 충분한 성능향상을 기대하기 어려우며 이러한 문제점들로 인하여 기존 소프트웨어는 코어의 개수에 비례한 성능을 얻지 못하며, 최악의 경우 오히려 감소될 수 있다. 본 논문에서는 TCP/IP를 사용하는 기존의 네트워크 애플리케이션과 운영체제에 흐름 수준 병렬처리 기법을 적용하여 성능을 증가 시킬 수 있는 방법을 제안한다. 제안된 방식은 개별 코어단위로 네트워크 애플리케이션, 운영체제의 TCP/IP 스택, 디바이스 드라이버, 네트워크 인터페이스가 서로 간섭 없이 작동할 수 있는 환경을 구성하며, L2 스위치를 통해 각 코어 단위로 트래픽을 분산하는 방법을 적용하였다. 이를 통해 각 코어 간에 애플리케이션의 데이터 및 자료구조, 소켓, 디바이스 드라이버, 네트워크 인터페이스의 공유를 최소화하여, 각 코어간의 자원을 차지하기 위한 경쟁을 최소화하고 캐시 히트율을 증가시킨다. 이를 통하여 8개의 멀티코어를 사용하였을 경우 네트워크 접속속도와 대역폭이 코어의 개수에 따라 선형적으로 증가함을 실험을 통해 입증하였다.

ICT 인프라 이상탐지를 위한 조건부 멀티모달 오토인코더에 관한 연구 (A Study of Anomaly Detection for ICT Infrastructure using Conditional Multimodal Autoencoder)

  • 신병진;이종훈;한상진;박충식
    • 지능정보연구
    • /
    • 제27권3호
    • /
    • pp.57-73
    • /
    • 2021
  • ICT 인프라의 이상탐지를 통한 유지보수와 장애 예방이 중요해지고 있다. 장애 예방을 위해서 이상탐지에 대한 관심이 높아지고 있으며, 지금까지의 다양한 이상탐지 기법 중 최근 연구들에서는 딥러닝을 활용하고 있으며 오토인코더를 활용한 모델을 제안하고 있다. 이는 오토인코더가 다차원 다변량에 대해서도 효과적으로 처리가 가능하다는 것이다. 한편 학습 시에는 많은 컴퓨터 자원이 소모되지만 추론과정에서는 연산을 빠르게 수행할 수 있어 실시간 스트리밍 서비스가 가능하다. 본 연구에서는 기존 연구들과 달리 오토인코더에 2가지 요소를 가미하여 이상탐지의 성능을 높이고자 하였다. 먼저 다차원 데이터가 가지고 있는 속성별 특징을 최대한 부각하여 활용하기 위해 멀티모달 개념을 적용한 멀티모달 오토인코더를 적용하였다. CPU, Memory, network 등 서로 연관이 있는 지표들을 묶어 5개의 모달로 구성하여 학습 성능을 높이고자 하였다. 또한, 시계열 데이터의 특징을 데이터의 차원을 늘리지 않고 효과적으로 학습하기 위하여 조건부 오토인코더(conditional autoencoder) 구조를 활용하는 조건부 멀티모달 오토인코더(Conditional Multimodal Autoencoder, CMAE)를 제안하였다. 제안한 CAME 모델은 비교 실험을 통해 검증했으며, 기존 연구들에서 많이 활용된 오토인코더와 비교하여 AUC, Accuracy, Precision, Recall, F1-score의 성능 평가를 진행한 결과 유니모달 오토인코더(UAE)와 멀티모달 오토인코더(Multimodal Autoencoder, MAE)의 성능을 상회하는 결과를 얻어 이상탐지에 있어 효과적이라는 것을 확인하였다.

이중 연결 구조 CC-NUMA 시스템의 효율적인 상호 연결망 구성 기법 (An efficient interconnection network topology in dual-link CC-NUMA systems)

  • 서효중
    • 정보처리학회논문지A
    • /
    • 제11A권1호
    • /
    • pp.49-56
    • /
    • 2004
  • 반도체 미세 공정의 개발과 더불어, 높아진 집적도 및 동작 클럭의 고속화로 단일 프로세서 시스템 성능은 지속적으로 개선되고 있다. 이 결과 기가헬즈 이상의 클럭 속도를 가지는 개인용 컴퓨터가 보편적인 데스크 탑 시스템으로 자리잡게 되었으며, 불과 수년 전의 고가 대형 시스템은 점차 이러한 작은 시스템들을 상호 연결망으로 연결한 형태로 급속히 대체되어가고 있다. 이러한 구조의 클러스터 컴퓨터는 높은 확장성과 고성능을 얻을 수 있으므로, 점차 그 영역을 확대해나가고 있으나, 상호 연결망의 대역폭 및 지연에 따라 성능 제한 요소는 여전히 존재하고 있으며, 이러한 이유로 SCI, Myrinet, Gigabit Ethernet 등 고속의 상호 연결망이 클러스터 시스템의 연결 구조로 사용되고 있다. 프로세서 속도의 개발과 더불어 상호 연결망의 속도 또한 개선되어 왔는데, 상호 연결망은 그 대역폭을 늘리는 것과, 상호 연결망을 이용한 경우의 통신 시간지연의 축소로 볼 수 있다. 대역폭의 확장 및 지연시간의 단축은 상호 연결망의 고속화를 통하여 이루어질 수 있으나, 작은 면적에 집적되어 있는 프로세서와는 달리, 보다 넓은 면적에 펼쳐져 있는 상호 연결망의 동작 속도는, 물리적 거리에 의한 지연으로 인하여 개선의 난이도가 높으며, 따라서 클러스터 시스템의 확장 규모는 상호 연결망의 병목 현상에 의하여 제한된다고 할 수 있다. 이러한 이유로 보다 높은 대역폭의 상호 연결망을 구현하려는 노력은 복수개의 연결 구조를 이용한 형태로 개선되어 왔으며, 고속으로 동작하는 SCI 점 대 점 연결구조론 이용한 다중연결 형태의 시스템이 활발히 연구되어 왔다. 본 논문은 이러한 이중 점 대 점 연결 구조 시스템의 성능 제한 요소인 접근 시간 및 효율을 개선하기 위하여, 두개 중 하나의 점 대 점 연결을 링 형태로, 나머지 하나는 링을 몇 개의 노드의 묶음으로 분할하여 연결하는 구성을 제시하였으며, 방송 및 일 대 일 전송에 적합한, 간단하고 효율적인 경로 설정 방법과 적절한 묶음의 수를 제시하였다. 본 논문에 제시한 구조의 시스템의 성능 측정의 비교 대상으로, 최신 시스템에 채용되어 있는 반대방향 이중 링 구조를 비교 대상으로 하였으며, 반대방향 이중 연결 구조에 비하여 단 논문에 제시한 상호연결망 구성 및 트랜잭션 경로 설정 방법이 상대적으로 우수함을 시뮬레이션을 통하여 검증하였다. 실험 결과, 본 논문에서 제안한 상호연결망 구조 및 트랜잭션 경고 설정 방법을 이용한 경우, 반대방향 이중 링 구조의 시스템 구조에 비하여 단위 트랜잭션의 처리 시간이 1.05∼l.11배 향상되었으며, 시스템의 성능은 1.42∼2.1배 향상되었다.