• 제목/요약/키워드: Multi-Thread

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

멀티스레드 어플리케이션을 위한 실시간 성능모니터의 구현 (The Implementation of Real-time Performance Monitor for Multi-thread Application)

  • 김진혁;신광식;윤완오;이창호;최상방
    • 전자공학회논문지CI
    • /
    • 제48권3호
    • /
    • pp.82-90
    • /
    • 2011
  • 마이크로프로세서의 발전과 함께 멀티코어 시스템은 점차 보편화 되어가고 있다. 이러한 하드웨어 성능향상 패러다임의 변화로 인해 소프트웨어의 성능향상을 위해서는 기존의 싱글 스레드 어플리케이션들을 멀티 스레드 어플리케이션들로 교체하는 과정이 필수적이다. 멀티 스레드 어플리케이션 개발의 복잡성 때문에, 성능모니터링 도구는 어플리케이션의 성능 최적화를 지원하기에 유용한 도구로 사용된다. 기존의 성능모니터링 도구는 사용의 편의성이나 실시간성의 지원보다는 성능 측정 자체에 초점이 맞춰져 있다. 실시간 성능 모니터는 멀티 스레드 어플리케이션이 수행하는 동안 나타나는 문제점을 파악하는 것 뿐 아니라 실시간으로 어플리케이션의 동작 상태를 개발자가 확인 할 수 있기 때문에 단순한 성능 지표들만으로 문제점의 원인을 찾아내야하는 비 실시간 성능 모니터에 비해 효과적인 도구로 사용될 수 있다. 본 논문에서는 멀티코어 시스템을 위한 실시간 성능모니터링 도구인 RMPM(Real-time Multi-core Performance Monitor)를 제안하고 성능 측정 주기로 인한 오버헤드와 정확성 사이의 관계를 비교하여 최적의 측정 주기를 결정하였다. 제안한 성능모니터는 전체시스템의 CPU 사용량, 메모리 사용량, 네트워크 사용량 뿐아니라 시스템의 코어별, 어플리케이션의 스레드별 부하 분산상태를 나타낼 수 있다.

다중 접속 온라인 게임을 위한 유니티 엔진의 네트워크 스레드 패킷 폐기 기법 (Packet Discard Policy of Network Thread in an Unity Engine for Multi-player Online Games)

  • 유종근;김영식
    • 한국게임학회 논문지
    • /
    • 제15권6호
    • /
    • pp.97-106
    • /
    • 2015
  • 유니티 엔진 기반 다중 접속 온라인 게임에서는 통신 패킷 처리를 담당하는 네트워크 스레드와 게임 로직을 담당하는 메인 스레드를 분리해야 한다. 네트워크 스레드 간에 통신 패킷은 렌더링 속도 향상을 위하여 중복되는 패킷을 폐기할 필요가 있다. 본 논문에서는 유니티 엔진 기반 다중 접속 온라인 게임을 위한 네트워크 스레드 간 통신 패킷 폐기 기법을 제안한다. 제안하는 기법은 Partial Packet Discard 기법과 Periodic Packet Discard 기법을 혼합한 기법으로 네트워크 패킷을 큐로 관리하고 중복되는 패킷을 주기적으로 폐기하여 렌더링 속도를 향상시킨다. 제안하는 기법은 유니티 엔진 기반 다중 접속 온라인 게임의 다양한 패킷 발생 시뮬레이션을 통하여 렌더링 속도를 분석하고 효율성을 증명하였다.

퀴즈 게임 서버의 디자인과 구현 (Design and Implementation of the Quiz Game Server)

  • 김연정;정옥란;조동섭
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2002년도 춘계학술발표논문집(상)
    • /
    • pp.469-473
    • /
    • 2002
  • 고성능의 인터넷과 컴퓨터의 보급은 Online Game이 개발 될 수 있는 기반을 만들었다. 또한 게임에 관련된 프로나 채널이 생길 정도의 많은 관심은 Online 게임이 급성장을 이루는데 많이 도움을 주었다. 그러나 많은 Online 게임 사용자는 서버 접속률과 진행 속도 저하의 원인된다. 그래서 접속한 많은 Client를 효과적으로 다를 수 있도록 각 게임마다의 각 특성에 맞는 Game Server의 구현을 필요로 한다. 이 논문에서는 그것의 한 방법으로 여러 개의 그룹별로 게임을 하는데 효과적인 서버를 연결 리스트와 multi-thread를 이용하여 구현하였다. Client를 효과적으로 관리하기 위하여 각 데이터를 연결 리스트로 연결하고 multi-thread 사용하여 클라이언트의 요청을 처리하였다.

  • PDF

무인 수상정 전자 장치를 위한 통신 미들웨어 설계 및 구현 (Design and Implementation of a Communication Middleware for Electronic Devices of Unmanned Surface Vehicle)

  • 배종윤;최훈
    • 스마트미디어저널
    • /
    • 제8권3호
    • /
    • pp.53-61
    • /
    • 2019
  • 본 논문에서는 카메라 및 다양한 센서가 복합되어 고속의 데이터를 다중으로 처리하는 성능을 요구하는 전자광학장비의 안정적인 데이터 전송을 위해 Event 기반의 동기화 방식을 통한 Multi-Thread 환경의 다중 통신 미들웨어 설계 및 구현 방법을 제안하였다. 구현된 통신 미들웨어의 성능 검증을 위해 영상 데이터 및 센서 데이터를 전송하여 송신 주기 대비 수신 주기에 대한 차이를 비교하고, 다중으로 전송 및 처리할 수 있는 최대 통신 가능 수를 측정 및 분석하였다. 또한 전송되는 데이터의 무결성 검증과 Round Trip Time 측정 등의 실험을 통해 제안하는 통신 미들웨어의 성능을 검증하였다.

자바 스레드와 네트워크 자원을 이용한 병렬처리 (Thread-Level Parallelism using Java Thread and Network Resources)

  • 김태용
    • 한국항행학회논문지
    • /
    • 제14권6호
    • /
    • pp.984-989
    • /
    • 2010
  • 본 논문에서는 초소형 정밀 마이크로 흐름센서를 설계하기 위해 Java 멀티스레드를 이용한 병렬 프로그래밍 기법을 도입하여 센서 모듈의 성능 분석과 개선이 가능한 병렬처리형 설계 툴을 개발하였다. 연산에 따른 기본 성능을 측정하기 위하여 열운송 방정식에 지배되는 포텐셜 문제를 두 개의 실험모델로 나누어 실험을 수행하였다. 시뮬레이션 결과 네트워크 PC의 수를 증가시키면 이와 비례하는 속도향상 특성이 나타났다. 따라서 본 연구에서 제안하는 병렬화 방안은 대규모 연산모델에도 적용 가능함을 확인하였다.

다중 스레드를 이용한 실시간 동판 검사 시스템 (A Real-time Copper Foil Inspection System using Multi-thread)

  • 이재광;최동혁
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제10권6호
    • /
    • pp.499-506
    • /
    • 2004
  • 제안된 동판 표면 검사 시스템은 PC-기반으로 다중 스레드 기법과 다중 CPU를 이용해 동판 표면의 결함을 실시간으로 검사하는 시스템이다. 초고속 라인 스캔 카메라로 영상 취득 보드에 영상을 실시간으로 취득하여 처리할 때, 더블 버퍼링 방법으로 입출력과 처리가 동시에 수행되어 처리 속도를 높인다. 다중 스레드 기법에서는 시스템 자원 활용과 다중 스레드로 CPU의 사용을 최대화하여 실시간 처리하며, 다중 스레드 구조로도 실시간 처리가 어려운 경우에는 다중 CPU를 사용하여 이를 해결한다. 또한 동판 표면 영상에서 결함 검출하여 분류할 때, 실시간 처리를 만족시키기 위해서 결함영상의 공분산 행렬의 고유치 비율, 명암차 등의 연산으로 분류할 수 있는 방법을 제시한다. 결함의 검출은 조명 불균형에 대한 보상 처리가 적용된 다음 임계치에 의해 검출된다. 검출된 결함은 제안된 분류 방법으로 특징을 분석한 뒤 결함의 형태를 분류한다. 특징은 결함 너비와 고유치 비율, 명암차 등이 사용되었다. 제시된 방법을 검증하기 위해서 총 141개의 결함을 분류하는 실험이 진행되었고, 결과로는 89.4% 성공률을 보였다.

대용량 데이터 처리기술을 배전자동화 시스템에 적용 (Application of Data Processing Technology on Large Clusters to Distribution Automation System)

  • 이성우;하복남;서인용;장문종
    • 전기학회논문지
    • /
    • 제60권2호
    • /
    • pp.245-251
    • /
    • 2011
  • Quantities of data in the DMS (Distribution management system) or SCADA (Supervisory control and data acquisition) system is enormously large as illustrated by the usage of term flooding of data. This enormous quantity of data is transmitted to the status data or event data of the on-site apparatus in real-time. In addition, if GIS (Geographic information system) and AMR (Automatic meter reading), etc are integrated, the quantity of data to be processed in real-time increases unimaginably. Increase in the quantity of data due to addition of system or increase in the on-site facilities cannot be handled through the currently used Single Thread format of data processing technology. However, if Multi Thread technology that utilizes LF-POOL (Leader Follower -POOL) is applied in processing large quantity of data, large quantity of data can be processed in short period of time and the load on the server can be minimized. In this Study, the actual materialization and functions of LF POOL technology are examined.

멀티코어 환경에서 SEDA 기반 메시지 처리기의 수행함수 특성을 고려한 쓰레드 매핑 기법 (A Function-characteristic Aware Thread-mapping Strategy for an SEDA-based Message Processor in Multi-core Environments)

  • 강희은;박성용;이윤정;지승배
    • 정보과학회 논문지
    • /
    • 제44권1호
    • /
    • pp.13-20
    • /
    • 2017
  • 메시지 처리기란 클라이언트들로부터 수신된 다양한 포맷의 메시지를 수신 메시지 별 쓰레드를 생성하여 처리하고 그 결과를 목적지로 전달하는 서버 소프트웨어를 말한다. 본 논문에서는 SEDA(The Stage Event Driven Architecture) 구조의 메시지 처리기에서 각 수행함수가 CPU 또는 IO bound 특성을 가질 수 있다는 점에 착안하여, 수행 함수 별 특성을 고려해 쓰레드를 각 코어에 매핑하는 FC-TM(Function Characteristic aware Thread Mapping) 기법을 제안하였다. 본 논문에서는 메시지 처리에 필요한 각 수행함수의 특성이 정적인 것으로 가정하였다. 따라서 수행 가능한 함수를 미리 프로파일링(profiling)하여 특성을 분석한 후, 실제 수신되는 메시지에 따라 단위시간 당 처리량(throughput)이 최대가 되도록 쓰레드를 매핑하였다. 성능 평가 결과 IO bound한 함수가 특정 비율 이상 있을 경우, 기존 연구보다 단위시간당 처리량이 최대 72%까지 증가하였다.

실제 적용 타당성 탐색을 위한 고전적 상호배제 알고리즘 성능 평가 (A Performance Evaluation on Classic Mutual Exclusion Algorithms for Exploring Feasibility of Practical Application)

  • 이형봉;권기현
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제6권12호
    • /
    • pp.469-478
    • /
    • 2017
  • 상호배제는 원래 다중처리기 시스템을 지원하는 운영체제의 경쟁상황 예방 이론에서 출발하였으나, 최근에는 다중코어처리기의 일반화로 그 적용범위가 급격하게 병렬처리 어플리케이션 영역으로 이동되었다. POSIX 스레드, WIN32 스레드, Java 스레드 등이 대표적인 병렬 처리 어플리케이션 개발환경인데, 이들은 각자 고유한 상호배제 메커니즘을 제공하고 있다. 이들 환경에서 성능에 매우 민감한 어플리케이션들은 코딩의 불편함 등 약간의 희생을 감수하더라도 상호배제를 위한 부담 경감을 필요로 할 수 있다. 이 연구에서는 두 스레드 사이에서 Dekker와 Peterson 알고리즘을 플랫폼별로 바쁜 대기와 처리기 양보 형태로 구현하여 각각의 고유 상호배제 메커니즘들과의 성능을 비교하고, 그 알고리즘들의 유용성을 평가한다. 분석 결과 POSIX 및 WIN32 스레드 환경에서 처리기 양보 형 Dekker 알고리즘이 최소 2배에서 최대 70배까지 우수한 것으로 나타나 이 알고리즘의 실용성이 충분한 것으로 확인되었다.

Bounding Worst-Case Performance for Multi-Core Processors with Shared L2 Instruction Caches

  • Yan, Jun;Zhang, Wei
    • Journal of Computing Science and Engineering
    • /
    • 제5권1호
    • /
    • pp.1-18
    • /
    • 2011
  • As the first step toward real-time multi-core computing, this paper presents a novel approach to bounding the worst-case performance for threads running on multi-core processors with shared L2 instruction caches. The idea of our approach is to compute the worst-case instruction access interferences between different threads based on the program control flow information of each thread, which can be statically analyzed. Our experiments indicate that the proposed approach can reasonably estimate the worst-case shared L2 instruction cache misses by considering the inter-thread instruction conflicts. Also, the worst-case execution time (WCET) of applications running on multi-core processors estimated by our approach is much better than the estimation by simply assuming all L2 instruction accesses are misses.