DOI QR코드

DOI QR Code

An Interrupt Coalescence Method for Improving Performance of Asynchronous Serial Communication

비동기 시리얼 통신의 성능 향상을 위한 인터럽트 통합 기법

  • 박근덕 (호서대학교 컴퓨터공학부) ;
  • 오삼권 (호서대학교 컴퓨터공학부) ;
  • 김병국 (호서대학교 컴퓨터공학부)
  • Received : 2011.01.12
  • Accepted : 2011.03.10
  • Published : 2011.03.31

Abstract

The request of interrupt accompanies a context switching. If the interrupt is frequently requested, this overhead of context switching can reduce seriously the performance of embedded systems. In order to reduce processing overhead due to frequently requested communication interrupts at Asynchronous Serial Communication, this paper introduces the method of Expanded Asynchronous Serial Communication with the Interrupt Coalescence(IC) that accumulates a fixed number of interrupts and processes them in one time. we implement the existing Asynchronous Serial Communication that requests communication interrupts by one byte at an LN2440SBC embedded board with a uC/OS-II and compare interrupt processing time for the performance evaluation about proposed method. As a result, the communication interrupt processing time of proposed method appears in case of low speed(9,600 bps), the decline of an average 25.18% at transmission, the decline of an average 41.47% at reception. and in case of hight speed(115,200 bps), the decline of an average 16.67% at transmission, the decline of an average 25.61% at reception.

인터럽트의 발생은 태스크의 문맥전환(context switching)을 수반한다. 이러한 문맥전환 오버헤드는, 인터럽트가 빈번하게 발생하는 경우, 임베디드 시스템의 성능을 심각하게 저하시킬 수 있다. 본 논문은 비동기 시리얼 통신에서의 빈번한 송수신 인터럽트 발생으로 인한 처리 오버헤드를 줄이기 위해, 일정한 수의 인터럽트를 누적시켜 한 번에 처리하는 인터럽트 통합(IC, interrupt coalescence) 기법을 적용한 확장 비동기 시리얼 통신 기법을 소개한다. 이 기법에 대한 성능 평가를 위해 한 바이트 단위로 송수신 인터럽트가 발생하는 기존 비동기 시리얼 통신 방식을 LN2440SBC 임베디드 보드와 uC/OS-II 상에서 구현 하여, 인터럽트 처리 소요 시간을 비교 평가한다. 평가 결과, 제안한 방식의 송수신 인터럽트 처리 소요 시간은 기존 방식에 비해, 저속(9,600 bps)의 경우, 송신은 평균 25.18% 수신은 평균 41.47%의 감소를 보이며, 고속(115,200 bps)의 경우, 송신은 평균 16.67%, 수신은 평균 25.61%의 감소를 보임으로써, 송수신 인터럽트 처리 오버헤드의 감소를 보인다.

Keywords

References

  1. 구철회, "디바이스 데이터 입출력에 있어서 폴링 방식과 인터럽트 구동 방식의 데이터 처리 방법", 한국항공우주학회지, 제 33권, 9호, pp. 113-119, 2005. 9. https://doi.org/10.5139/JKSAS.2005.33.9.113
  2. 박석중, 우준, 이재국, 김형식, "과학계산용 클러스터 파일시스템에서의 인터럽트 통합효과 분석", 한국 컴퓨터종합학술대회 논문집(D), 제 35권, 1호, pp. 105-109, 2008.
  3. Ravi Prasad, Manish Jain, Constantinos Dovrolis, "Dovrolis. Effects of interrupt coalescence on network measurements.", Passive and Active Measurements (PAM) conference, April 2004.
  4. Samsung Electronics, "S3C2440A 32-BIT CMOS MICROCONTROLLER USER'S MANUAL Revision 1", pp. 235-353, Samsung Electronics, 2004.
  5. Jean J. Labrosse, "MicroC/OS-II The Real-Time Kernel Second Edition의 역서", pp. 1-605, 에이콘, 2003.
  6. Jeffrey C. Mogul, K. K. Ramakrishnan, "Eliminating receive livelock in an interrupt-driven kernel", ACM Transactions on Computer Systems (TOCS), v.15 n.3, pp. 217-252, 1997. 8. https://doi.org/10.1145/263326.263335
  7. Jean J. Labrosse, "Embedded Systems Building Blocks Second Edtion의 역서", pp. 399-494, 에이콘, 2008.
  8. 김희철, 이병수, "C언어와 통계학", pp. 318-366, 상조사, 2000.
  9. (주)씨랩시스 역, "ARM System Developer's Guide", pp. 455-747, 사이텍미디어, 2005.