• 제목/요약/키워드: 멀티 쓰레드

Search Result 114, Processing Time 0.041 seconds

Comparative Analysis between Super Loop and FreeRTOS Methods for Arduino Multitasking (아두이노 멀티 태스킹을 위한 수퍼루프 방식과 FreeRTOS 방식의 비교 분석)

  • Gong, Dong-Hwan;Shin, Seung-Jung
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.18 no.6
    • /
    • pp.133-137
    • /
    • 2018
  • Arduino is a small microcomputer that is used in a variety of industry fields and especially is widely used as an open source hardware IoT device. The multi-tasking method of Arduino is divided into super loop timing and RTOS thread method. The super loop timing method is simple and easy to understand. However, when one task is long, it affects the execution of the next task. In addition, RTOS threading has the advantage of being able to run without being influenced by other work time. However, Arduino, a small microcomputer, has a disadvantage in that, when the number of threads increases, the context switching time of the thread causes additional time not included in the super loop timing method have. In this paper, we use Arduino Uno R3 and FreeRTOS to analyze these different features, and the task for the experiment is to send 8000 digital signals to the built-in LED port. If two tasks of the same size are executed, the super loop method executes 3 ms faster than FreeRTOS multitasking. If multiple tasks are executed simultaneously, superloop type task is sequential execution and difference in execution time between first task and last task is large. FreeRTOS method can be executed concurrently, but execution time delay of about 30 ms occurs in context switching time.

Software Based Video/Audio Player on Mobile Handset (휴대 전화에서 소프트웨어 기반의 비디오/오디오 플레이어)

  • Jeong, Jin-Hwan;Han, Sang-Beom;Ryu, Eun-Seok;Yoo, Chuck
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.05a
    • /
    • pp.75-78
    • /
    • 2003
  • 최근의 휴대 전화는 단순한 음성 통신 기기 역할뿐만 아니라 데이터 통신 기기로도 쓰이고 있으며, CDMA-2000 망 보급으로 인하여 데이터 통신 대역폭이 멀티미디어 데이터를 처리 할 수 있을 만큼 증대되었다. 하지만 휴대 전화는 하드웨어 성능이 음성 통신 기기로 최적화되어 있고 매우 단순화된 실시간성 운영체제로 인해 이러한 대역폭을 활용할 수 있는 소프트웨어 방식의 비디오/오디오 플레이어 개발이 매우 힘들다. 특히, CDMA 방식의 휴대 전화에 사용되는 비선점형 운영체제인 REX 에서는 선점형 운영 체제에 적합한 다중 쓰레드 구조의 멀티미디어 응용 프로그램 제작이 어렵다. 또한, 널리 사용되는 비디오/오디오 표준(MPEG-x, H.26x, 등등)은 압축 최우선의 방식으로써 계산량이 매우 크기 때문에 휴대 전화에서 하드웨어 도움 없이 소프트웨어로만 재생하기에는 적합하지 않다. 본 논문에서는 이러한 문제를 해결하기 위해 먼저 휴대 전화의 하드웨어 자원과 시스템에 적합한 비디오/오디오 코덱에 대해 간략히 알아보고 비디오/오디오 동기화를 위해 이에 적합한 시스템 디코더와 소프트웨어 플레이어 구조를 제안한다. 또한 실제 휴대 전화에 적용하여 그 성능을 측정 한다.

  • PDF

Accelerating OpenVG and SVG Tiny with Multimedia Processors (멀티미디어 프로세서를 이용한 OpenVG 및 SVG Tiny의 가속)

  • Lee, Hwan-Yong;Baek, Nak-Hoon
    • Journal of the Korea Computer Graphics Society
    • /
    • v.17 no.2
    • /
    • pp.37-43
    • /
    • 2011
  • OpenVG and SVG Tiny are the most widely used 2D vector graphics technologies for outputs in the various embedded environments including smart phones. Especially, to show high refresh rates on the high resolution screens, it is necessary to effectively accelerate them. Until now, OpenVG and SVG Tiny are available as hardware implementations such as the fully-dedicated graphics chips or full software implementations. Currently available vector graphics silicon chips are relatively expensive and require high power consumption. In contrast, previous full software implementations show lower performance even with almost 100% CPU usages, which would disrupt other multi-threaded applications, In this paper, we present a cost-effective way of accelerating both of OpenVG and SVG Tiny, based on the multimedia-processing hardware, which is wide-spread on the media devices and mobile phones. Through the effective use of these multimedia processors, we successfully accelerated OpenVG and SVG Tiny at least 3.5 times to at most 30 times, even with lower power consumption and lower CPU usage.

Development of a Channel Binding Scheme for the Distributed IPC of the Real-time Object Model, TMO (실시간 객체 TMO의 분산 IPC를 위한 채널 바인딩 기법 설계 및 개발)

  • Kim, Do-Hyung;Kim, Jung-Guk
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.05a
    • /
    • pp.177-180
    • /
    • 2003
  • TMO (Tim-triggered Message-triggered Object) 는 분산환경에서의 정시보장 컴퓨팅을 목표로 제안된 실시간 객체 모델이다. TMO는 객체 자료저장소(object data store), 주기와 데드라인에 의해 구동되는 쓰레드와 이벤트 메시지 전달에 의해 데드라인 방식으로 구동되는 쓰레드로 구성된다. 이러한 TMO 의 수행을 위해, 윈도우 운영체제상의 WTMOS, 리눅스 상의 LTMOS 와 리눅스 커널 내부에서 TMO를 제공하기 위한 TMO-Linux등의 엔진들이 개발되었다. 이러한 엔진들은 서로 다른 플랫폼을 가진 네트워크 환경에서 논리적 멀티캐스트 채널 방식의 분산 IPC 를 기반으로 TMO 의 분산 컴퓨팅을 지원한다 단, 기존의 분산 IPC 는 UDP 기반의 브로드캐스트 방식을 사용하기 때문에 같은 서브 네트워크에 속한 노드들로만 분산 환경을 구축할 수 있고, 특정 채널을 사용하지 않는 노드에도 메시지를 전달하는 브로드캐스팅 오버혜드가 발생하며, UDP 의 특성에 기인한 신뢰성 저하의 문제를 갖고 있다 본 논문에서는 이러한 단점을 극복하기 위해, TMO 엔진의 분산 IPC 모델에 Channel Binding을 통한 그룹 커뮤니케이션 기법을 도입하고 이를 TCP 기반으로 확장하였다.

  • PDF

Component Based Design and Performance Analysis for Multiprocessor Embedded Real-Time Software (멀티프로세서 임베디드 소프트웨어를 위한 컴포넌트 기반 설계 및 성능분석 방법)

  • Sunwoo Lee;Byung Kwan Jung;Minsoo Ryu
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2008.11a
    • /
    • pp.928-931
    • /
    • 2008
  • 현재까지 소프트웨어 개발을 위한 많은 컴포넌트 기술들이 연구되어 왔다. 하지만 기존의 기술들은 멀티프로세서 환경에서 사용하기에 적합하지 못하다. 멀티프로세서 임베디드 소프트웨어를 구성하는 다수의 쓰레드들이 병렬적으로 수행될 수 있고, 그로 인한 성능 문제 또한 고려되어야 하기 때문이다. 본 논문에서는 새로운 컴포넌트 모델과 태스크 모델, 그리고 소프트웨어 설계 과정을 제안한다. 그리고 컴포넌트 모델과 태스크 모델 사이의 변환 과정 및 병렬성 극대화를 위한 태스크 분할 과정을 소개하여, 최종적으로 성능분석이 가능한 멀티프로세서 임베디드 소프트웨어 개발 과정을 제시한다.

Realtime Network Security System using JNI (JNI를 이용한 실시간 네트워크 보안 시스템)

  • 김건우;장희진;박보석;김상욱
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10a
    • /
    • pp.544-546
    • /
    • 1998
  • 분산 환경의 발달과 네트워크를 이용한 원거리 컴퓨터 사용이 증가되면서 발생하게 된 전산망 침해 사고를 항상 감시하고 분석하여 자동적으로 대처하기 위한 전산망 보안 시스템이 연구되고 있다. 본 논문에서는 자바네이티브 인터페이스를 이용한 실시간 네트워크 보안 시스템을 제안한다. 자바의 시스템 자원에 대한 엑세스의 한계를 극복하기 위해서JNI 를 C/Java의 이용한 의 연동을 통하여 보다 효율적이고 용이한 정보 수집 및 취약점 분석을 가능하게 한다. 또한 점검하고자 하는 호스트에 보안 정보 수집 모듈을 멀티쓰레드로 상주시킴으로써 실시간으로 원하는 정보를 얻어 선택된 점검 대상에 가해지는 모든 활동들을 분석한다.

  • PDF

The Performance Evaluation and Implementation of Transaction Service on Java-Based WAP (WAP상의 트랜잭션 서비스의 구현 및 성능평가)

  • 임경수;우시남;안순신
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.04a
    • /
    • pp.565-567
    • /
    • 2002
  • 인터넷과 무선 이동통신 등이 보편화되면서 두 기술을 접목한 WAP (Wireless Application Protocol)[1]이 등장하였으며, 다수의 사용자 요구를 동시에 효율적으로 처리하면서 다양한 무선 단말기로부터 요청을 신속하게 처리할 수 있는 WAP 게이트웨이(gateway)에 대한 연구가 여러 연구 그룹에서 수행되고 있다. 본 논문에서는 Java의 기본적인 서비스인 멀티쓰레드를 이용하고, 컨테이너 유효 리소스의 효율적 관리를 위해 접속 풀링(connection pooling) 기능과 우선순위 큐를 적용하여 WTP (Wireless Transaction Protocol)[2]를 구현한다. 우선순위에 입각하여 구현된 트랜잭션 서비스를 시뮬레이션을 통하여 성능을 분석한다.

  • PDF

Design and Implementation of High-dimernsional Index Structure supporting Concurrency Control (필터링에 기반한 고차원 색인구조의 동시성 제어 기법의 설계 및 구현)

  • 이용주;장재우
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.10a
    • /
    • pp.33-35
    • /
    • 2000
  • 최근 멀티미디어 객체를 위한 효율적인 색인 기술에 대한 많은 연구가 활발히 진행되고 있으나 이러한 색인 구조들은 단일 사용자만을 지원하는데 그치고 있는 실정이며 상용 DBMS에 통합되어 실제 응용되는 사례는 드물다. 이에 본 논문에서는 필터링에 기반한 고차원 색인구조를 위한 효율적인 동시성 제어 기법을 제안하고, 지속성 객체 시스템인 SHORE 하부 저장 구조에 통합한다. 제안하는 동시성 제어 기법은 쓰레드의 개수를 증가시켜 삽입과 검색 측면에서 실험한 결과 약 30%의 응답시간 감소를 보였다.

  • PDF

Effective Scheduling Algorithm for SMT Server (SMT 서버를 위한 효율적인 스케줄링 알고리즘)

  • 이정훈;김진석
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2003.10a
    • /
    • pp.376-378
    • /
    • 2003
  • 최근 많은 프로세서 제작업체들이 프로세서의 효율을 높이기 위한 방법으로 독립적인 쓰레드들을 한 프로세서 사이클에 동시에 실행시킬 수 있는 SMT 기술을 구현하고 있으며 그 예의 하나가 하이퍼쓰레딩이다. 물리 프로세서 안에 여러 개의 논리 프로세서를 가질 수 있는 하이퍼쓰레딩 기술은 기존의 여러개의 독립적인 프로세서들을 갖춘 멀티 프로세싱 환경과는 차이가 있으며, 하이퍼쓰레딩 환경에 알맞은 특정한 작업 할당방법이 필요하다. 따라서, 본 논문에서는 하이퍼쓰레딩 기술에 적합한 스케줄링 알고리즘을 제안하고 그 성능을 다양한 방법으로 측정해 봄으로서 하이퍼쓰레딩 시스템을 올바르게 인식하고 적절하게 관리하여 효율적인 성능을 기대할 수 있게 되었다.

  • PDF

Performance Improvement of Single Chip Multiprocessor using Concurrent Branch Execution (분기 동시 수행을 이용한 단일 칩 멀티프로세서의 성능 개선)

  • Lee, Seung-Ryul;Kim, Jun-Shik;Choi, Jae-Hyeok;Choi, Sang-Bang
    • Journal of the Institute of Electronics Engineers of Korea SD
    • /
    • v.44 no.2
    • /
    • pp.61-71
    • /
    • 2007
  • The instruction level parallelism, which has been used to improve the performance of processors, expose its limit. The change of a control flow by a branch miss prediction is one of the obstacles that restrict the instruction level parallelism. The single chip multiprocessors have been developed to utilize the thread level parallelism. However, we could not use the maximum performance of the single chip multiprocessor in case of executing the coded programs without considering the multi-thread. In order to overcome the two performance degradation factors, in this paper, we suggest the concurrent branch execution method that applies to the multi-path execution method at a single chip multiprocessor. We executes all two flows of the conditional branch using the idle core processor. Through this, we can improve the processor's efficiency with blocking the control flow termination by the branch instruction and reducing the idle time. We analyze the effects of concurrent branch execution proposed in this paper through the simulation. As a result of that, concurrent branch execution reduces about 20% of idle time and improves the maximum 10% of the branch prediction accuracy. We show that our scheme improves the overall performance of maximum 39% compared to the normal single chip multiprocessor and maximum 27% compared to the superscalar processor.