• 제목/요약/키워드: 스레드

검색결과 276건 처리시간 0.033초

A Tool for On-the-fly Repairing of Atomicity Violation in GPU Program Execution

  • Lee, Keonpyo;Lee, Seongjin;Jun, Yong-Kee
    • 한국컴퓨터정보학회논문지
    • /
    • 제26권9호
    • /
    • pp.1-12
    • /
    • 2021
  • 본 논문은 GPU 프로그램의 메모리의 상태 및 접근사건과 배리어 위치 정보를 감시하고, 실제 메모리 쓰기를 배리어 영역 종료 직전에 발생시키거나 배리어 영역을 재수행시켜 원자성 위배를 수행 중에 수리하는 도구인 ARCAV (Atomatic Recovery of CUDA Atomicity violation)를 제시한다. 기존의 연구들은 Lock과 Sleep 명령어를 사용하여 원자성 위배를 진단 및 수리하도록 구현되었기 때문에 지원되는 명령어와 동기화 기법이 CPU (Central Processing Unit) 프로그램과 다른 GPU (Graphics Processing Unit) 프로그램에는 적용될 수 없었고, GPU 프로그램에서는 원자성 위배의 탐지에 대한 연구만 수행되었다. 제안하는 ARCAV는 GPU 프로그램의 실행모델에서 수행될 수 있도록 설계되어 스레드 구성과 메모리 계층에 무관하게 실세계에서 발생한 원자성 위배를 대표하는 네 가지 패턴의 원자성 위배를 실시간으로 탐지하고 수리할 수 있다. 실험 결과 동시에 실행되는 스레드 개수와 구성에 무관하게 일정한 오버헤드를 보였다. 원자성 위배를 프로그램 수행 중에 실시간으로 탐지하고 수리하기 위해 소요되는 오버헤드는 네 개의 실세계 GPU 커널에서 실험되었고, 원본 프로그램 대비 평균 2.1배의 수행시간으로 동작하였다.

멀티코어 환경을 위한 현대 동시성 프로그래밍 (Modern Concurrent Programming for Multicode Environment)

  • 김남규;강영진;이훈재
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2016년도 추계학술대회
    • /
    • pp.589-592
    • /
    • 2016
  • 멀티코어 이전의 시대에는 하드웨어의 발전을 토대로 프로그램 성능 향상에 도움을 받을 수 있었다. 그러나 하나의 코어 대한 성능 향상이 한계에 봉착하며 여러 개의 코어를 사용하는 멀티코어라는 방법이 보편화되었다. 멀티코어를 사용하기 위해 커널 레벨의 스레드를 사용하는 기존의 방법을 발전시킨 현대적 동시성 프로그래밍이 대두되었다. 현대 동시성 프로그래밍이란 경량 스레드를 사용하여 멀티코어의 장점을 최적화한다. 또 공유 가능한 데이터가 변경할 수 있는지의 유무가 동시성 코드 작성 시 주요 고려사항이 된다. 본 논문은 동시성 코드 작성 시 주요 고려사항들을 설명하고, 이러한 사항들이 현대 동시성 기술을 지원하는 언어 중 하나인 '고'에서 어떤 식으로 지원되고, 나아가 어떻게 더 훌륭한 동시성 코드를 작성할 것인지 논의한다.

  • PDF

무인기 자율 임무관리 소프트웨어 설계 및 검증 기법 (Autonomous Mission Management Software Design and Verification Technique for Unmanned Aerial Vehicles)

  • 장우혁;이승규;김윤근;오태근
    • 한국항공우주학회지
    • /
    • 제49권6호
    • /
    • pp.505-513
    • /
    • 2021
  • 본 논문에서는 비행 중 비행체 내·외부에서 발생하는 동적상황 변화에 대해 대응 우선순위에 따라 무인기가 자율적으로 대처할 수 있는 무인기 자율 임무관리 소프트웨어의 설계 및 검증 기법을 제안한다. 제안된 무인기 자율 임무관리 소프트웨어는 다중 스레드 기반의 동시 수행 가능한 모듈화 구조로 하위 소프트웨어들을 설계하였으며, 이를 검증하기 위해 1) 모든 동적상황 변화에 대한 스레드들 간의 요청/응답 메시지를 확인하는 소프트웨어 통합 기법과 2) 소프트웨어 통합검증환경을 활용하여 소프트웨어의 기능 검증을 수행하는 통합시험 및 3) 정량적 성능 검증을 수행하는 성능시험 기법을 제시한다. 특히, 통합시험과 성능시험을 수행하기 위해 소프트웨어 통합검증환경을 제작하여 활용한다.

Improvement of Processing Speed for UAV Attitude Information Estimation Using ROI and Parallel Processing

  • Ha, Seok-Wun;Park, Myeong-Chul
    • 한국컴퓨터정보학회논문지
    • /
    • 제26권1호
    • /
    • pp.155-161
    • /
    • 2021
  • 최근 UAV를 활용하는 정밀 추적이나 임무완수 등의 군사 목적의 연구가 활발하게 진행되고 있다. 특히 앞서가는 유도 UAV의 자세 정보를 추정하고 이 정보를 이용하여 임무 UAV가 스텔스로 따라가서 자신의 임무를 완수하는 기능이 필요한 경우에는 유도 UAV의 자세 정보 추정 속도를 실시간으로 처리 해야만 한다. 최근까지 영상처리와 칼만 필터를 사용해서 앞서가는 유도 UAV의 자세정보를 정밀하게 추정하는 연구가 수행되어 왔으나 처리과정의 순차처리로 인해 처리속도에 있어 문제점이 있어왔다. 따라서 본 연구에서는 영상 처리에 있어 처리영역을 전체영역이 아닌 물체를 포함하는 ROI 영역으로 한정하고 또한 연속적인 처리 과정을 OpenMP 기반의 멀티스레드로 분배하고 스레드동기를 맞추어서 병렬 형태로 처리함으로써 자세정보 추정 속도를 향상시킬 수 있는 방법을 제안한다. 구현 결과를 통해서 기본의 처리에 비해 45%이상 처리 속도를 향상시킴으로써 실시간처리가 가능하게 되어 임무 UAV의 추적 기능 향상을 통한 임무 완수 가능성을 증가시킬 수 있음을 확인하였다.

상세 자원 이용률에 기반한 병렬 가속기용 스레드 블록 스케줄링 (Thread Block Scheduling for GPGPU based on Fine-Grained Resource Utilization)

  • 반효경;조경운
    • 한국인터넷방송통신학회논문지
    • /
    • 제22권5호
    • /
    • pp.49-54
    • /
    • 2022
  • 최근 클라우드 시스템에서 병렬가속기를 사용하는 사례가 늘면서 가속기 내에서 멀티태스킹을 통해 자원 이용률을 높이는 것이 중요한 이슈로 부각되고 있다. 본 논문에서는 병렬가속기 내 자원 사용 패턴을 컴퓨팅 중심과 메모리 중심으로 분류하여 워크로드를 배치하는 방식이 자원 이용률 측면에서 충분한 효과를 나타내지 못함을 보이고, 워크로드별 상세 자원 이용률에 기반한 새로운 스레드 블록 스케줄링 기법을 제안한다. 제안한 기법은 기존 방식과 달리 프로파일링과 스케줄링을 분리하여 스케줄링시의 오버헤드를 줄이고 병목 자원이 일치하지 않는 워크로드들을 최대한 중복 배치하여 자원 이용률을 높인다. 다양한 가상머신 시나리오에 대한 시뮬레이션 실험을 통해 제안한 기법이 병렬가속기의 처리량을 평균 130.6%, 최대 161.4%까지 개선함을 보인다.

PDF 버전 1.4-1.6의 CUDA GPU 환경에서 암호 해독 최적 구현 (PDF Version 1.4-1.6 Password Cracking in CUDA GPU Environment)

  • 김현준;엄시우;서화정
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제12권2호
    • /
    • pp.69-76
    • /
    • 2023
  • 매년 수십만 개의 암호를 분실하거나 잊어버리면서 합법적인 소유자나 권한을 부여받은 법 집행 담당자가 필요한 정보를 사용할 수 없게 된다. 이러한 암호를 되찾기 위해 암호 해독(Password Cracking)이 사용된다. 암호 해독에 CPU 대신 GPU를 사용하면 복구 과정에서 필요한 많은 양의 계산을 신속하게 처리할 수 있다. 본 논문은 현재 가장 많이 사용되는 PDF 1.4 -1.6 버전의 암호 해독에 중점을 두고 CUDA를 사용하여 GPU에서 최적화한다. MD5 알고리즘의 불필요 연산 제거, RC4 알고리즘의 32비트 워드 통합 구현, 공유메모리 사용의 기법을 사용하였다. 또한 성능향상에 영향을 미치는 블록, 스레드 수 탐색을 위해 오토튠 기법을 사용하였다. 결과적으로 RTX 3060, RTX 3090 환경에서 블록 크기 65,536, 스레드 크기 96에서 31,460 kp/s(kilo passwords per second), 66,351 kp/s의 처리량을 보였으며, 기존 최고 처리량을 보여주는 해시캣의 처리량보다 각각 22.5%, 15.2%를 향상시켰다.

인터넷을 위한 음성 통신 플랫폼 라이브러리 개발 (Platform Library Development for Real-time Audio Communications in the Internet)

  • 서동원;김동현;이명진
    • 융합신호처리학회 학술대회논문집
    • /
    • 한국신호처리시스템학회 2005년도 추계학술대회 논문집
    • /
    • pp.260-263
    • /
    • 2005
  • 본 논문에서는 차세대 유무선 광대역 통합망에서 실시간 멀티미디어의 응용 계층 품질을 평가하기 위한 실시간 음성 전송 플랫폼 라이브러리를 개발하였다. 개발된 라이브러리는 실시간 음성 통신시 사용자가 요구할 수 있는 다양한 품질을 제공하기 위해 전송률과 압축 방식에 따른 음성 코덱들을 포함하고 있다. 본 라이브러리는 다양한 환경에도 동일 입출력, 다중스레드, 인터넷 통신 등이 가능한 PWLIB를 기반으로 한다. 음성 데이터는 RTP/UDP/IP를 이용하여 패킷화되고 RTCP를 이용하여 전송 품질이 모니터링된다. 개발된 음성 통신 라이브러리를 이용하여 간단한 음성 통신 시스템을 구현하였으며, 음성 코덱별로 네트워크 상에서 송수신 테스트를 진행하였다. 본 라이브러리는 비디오 코덱 및 시그널링 및 네트웍 자원 예약 프로토콜과 결합되어 멀티미디어 통신 단말 개발에 사용 될 수 있다.

  • PDF

GUI 기반의 발전계통 시뮬레이터의 설계 및 구현 (Design and Implementation of GUI based Electronic Power System Simulator)

  • 피무호;최종필
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 가을 학술발표논문집 Vol.31 No.2 (2)
    • /
    • pp.643-645
    • /
    • 2004
  • 발전계통 시뮬레이션은 CFO(전산유체역학)을 이용한 시뮬레이션으로서 다차원 미시적인 현상에 대한 시뮬레이션을 뜻한다. 주요 특징으로써 다수의 컴포넌트로 구성된 계통의 다양성으로 보일러, 급수계통, 증기계통, 복수계통 등 다양한 계통들이 존재하고 있다. 따라서 다양한 컴포넌트 모듈을 저장할 수 있는 GUI(Graphic User Interface) 기반의 시뮬레이션 툴이 필요하게 되었다. 현재 발전계통 시뮬레이션 툴의 문제점은 외국의 상용화 툴에 전적으로 의존하고 있으며 이는 곧 시뮬레이터 유지 보수의 어려움을 초래하게 되었다. 본 논문에서는 발전계통 시뮬레이션을 위한 컴포넌트 모듈의 생성, 모듈과 그래픽 라이브러리간의 연결, 유량-압력 알고리즘을 이용한 계통 Solver를 설계하고 멀티스레드를 이용한 복수개의 계통 시뮬레이터 구현 방법을 소개한다.

  • PDF

멀티 코어 환경에서 병렬 정렬 알고리즘 성능 평가 (A Performance Evaluation on Parallel Sorting Algorithm in Multicore Environment)

  • 원종민;주영현;엄영익
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(A)
    • /
    • pp.33-35
    • /
    • 2012
  • 개인용 컴퓨터가 보급된 후 오랫동안 CPU의 발전은 주로 클럭 스피드를 통해서 이루어져 왔다. 하지만 최근 들어서는 CPU 내에서 동작하는 코어의 수를 늘리는 방법을 통해 CPU의 성능 향상이 이루어지고 있다. 이렇게 멀티코어 환경의 시대가 도래함에 따라 CPU를 완전하게 이용하기 위해 기존 알고리즘들의 병렬화가 필요로 하게 되었다. 본 논문에서는 가장 많이 사용되는 알고리즘의 종류 중 하나인 정렬 알고리즘을 병렬화하여 멀티 코어 환경에서의 성능을 평가한다. 이는 기존의 단일 스레드 정렬 알고리즘들에 대해 알려진 바와는 다른 경향을 보이며 이러한 현상은 CPU의 병렬화가 진행될수록 더욱 심화될 것으로 예상된다.

DLNA 환경 속 스마트 리모컨의 TV 제어 절차에 관한 연구 (A Study of the TV Control Procedure by Smart Remote Control in DLNA Environment)

  • 강기철;김대진
    • 한국방송∙미디어공학회:학술대회논문집
    • /
    • 한국방송공학회 2010년도 추계학술대회
    • /
    • pp.43-46
    • /
    • 2010
  • 스마트 폰의 선풍적인 인기에 힘입어 TV 산업에서도 스마트TV가 출현해 시장 영역을 넓히고 있다. 이에 따라 TV 리모컨 또한 새로운 방식의 유저 인터페이스를 지원하는 하나의 스마트 리모컨으로 업그레이드 되고 있으며, 스마트 리모컨을 통한 홈 멀티미디어 디바이스의 통합 제어와 미디어 공유에 대한 여러 가지 시도가 이루어지고 있다. 이에 본 논문은 DLNA 환경 속 스마트 리모컨과 TV 디바이스의 역할에 대해 재 정의하고, 이를 기반으로 DLNA 및 UPnP 디바이스 아키텍처에 제시된 컨트롤 포인트와 디바이스 간 제어 및 미디어 공유 절차에 따라 스마트 리모컨을 통한 TV의 제어 기법을 제안한다. 제안된 스마트 리모컨을 통한 TV의 제어는, 크게 사용자와 무관한 백그라운드 스레드로 처리될 제어 준비 단계와 사용자의 입력을 통해 실질적인 제어를 수행하는 제어 단계로 나뉘고, 각각의 단계에 해당하는 UPnP 미디어 네트워크 단계에 맞춰 진행된다. 제안된 DLNA 환경 속 TV 제어 방법의 구현을 위해서는 선행적으로 TV OSD 제어를 위한 코드에 연동해 TV 디바이스 서비스 서술자의 확장이 이루어져야 할 것이다.

  • PDF