Microsoft Word - 10_최병욱

Similar documents
08 KRS R1.hwp

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

PowerPoint 프레젠테이션

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

인문사회과학기술융합학회

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 26(11),

°í¼®ÁÖ Ãâ·Â

DE1-SoC Board

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 10, Oct ,,. 0.5 %.., cm mm FR4 (ε r =4.4)

00내지1번2번

10 이지훈KICS hwp

Ⅱ. Embedded GPU 모바일 프로세서의 발전방향은 저전력 고성능 컴퓨팅이다. 이 러한 목표를 달성하기 위해서 모바일 프로세서 기술은 멀티코 어 형태로 발전해 가고 있다. 예를 들어 NVIDIA의 최신 응용프 로세서인 Tegra3의 경우 쿼드코어 ARM Corte

Microsoft Word - 1-차우창.doc

Mango220 Android How to compile and Transfer image to Target

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

Microsoft Word - KSR2014S042

DBPIA-NURIMEDIA

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

05( ) CPLV12-04.hwp

APOGEE Insight_KR_Base_3P11

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jun.; 27(6),

DBPIA-NURIMEDIA

±èÇö¿í Ãâ·Â

09권오설_ok.hwp

Microsoft PowerPoint - 03-Development-Environment-2.ppt

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

09È«¼®¿µ 5~152s

(JBE Vol. 21, No. 1, January 2016) (Regular Paper) 21 1, (JBE Vol. 21, No. 1, January 2016) ISSN 228

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Dec.; 27(12),

<4D F736F F F696E74202D20322DBDC7BDC3B0A320BFEEBFB5C3BCC1A6>

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월

DBPIA-NURIMEDIA

디지털포렌식학회 논문양식

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 25(11),

<31325FB1E8B0E6BCBA2E687770>

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Feb.; 29(2), IS

ESP1ºÎ-04

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_

ConnectCore i.mx53 / Wi-i.MX53 Freescale i.mx53 Cortex A8 system-on-module 네트워크가가능한 i.mx53 ConnectCore는새로운프리스케일 i.mx53 Application 프로세서기반인고성능 32-bit S

PCServerMgmt7

<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>

1217 WebTrafMon II

6주차.key

<35335FBCDBC7D1C1A42DB8E2B8AEBDBAC5CDC0C720C0FCB1E2C0FB20C6AFBCBA20BAD0BCAE2E687770>

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jun.; 27(6),

04 최진규.hwp

PowerPoint 프레젠테이션

14.531~539(08-037).fm

슬라이드 1

<32382DC3BBB0A2C0E5BED6C0DA2E687770>

歯1.PDF

DBPIA-NURIMEDIA

< C6AFC1FD28B1C7C7F5C1DF292E687770>

<30312DC1A4BAB8C5EBBDC5C7E0C1A4B9D7C1A4C3A52DC1A4BFB5C3B62E687770>

SchoolNet튜토리얼.PDF

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Sep.; 30(9),

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 6, Jun Rate). STAP(Space-Time Adaptive Processing)., -

3. 클라우드 컴퓨팅 상호 운용성 기반의 서비스 평가 방법론 개발.hwp

6.24-9년 6월

DBPIA-NURIMEDIA

04 김영규.hwp

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jul.; 27(7),

PowerPoint 프레젠테이션

, ( ) 1) *.. I. (batch). (production planning). (downstream stage) (stockout).... (endangered). (utilization). *

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Mar.; 28(3),

歯3이화진

서강대학교 기초과학연구소대학중점연구소 심포지엄기초과학연구소

Integ

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Journal of Educational Innovation Research 2018, Vol. 28, No. 1, pp DOI: A study on Characte

Journal of Educational Innovation Research 2017, Vol. 27, No. 3, pp DOI: (NCS) Method of Con

Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jul.; 27(7),

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Sep.; 26(10),

<31362DB1E8C7FDBFF82DC0FABFB9BBEA20B5B6B8B3BFB5C8ADC0C720B1B8C0FC20B8B6C4C9C6C32E687770>

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jan.; 26(1),

ecorp-프로젝트제안서작성실무(양식3)

High Resolution Disparity Map Generation Using TOF Depth Camera In this paper, we propose a high-resolution disparity map generation method using a lo

KDTÁ¾ÇÕ-2-07/03

(5차 편집).hwp

PowerPoint Presentation

DBPIA-NURIMEDIA

untitled

<B8F1C2F72E687770>

PowerPoint 프레젠테이션

Microsoft PowerPoint - em8-리눅스설치.ppt

Chap 10 안드로이드커널 (Kernel)

Microsoft Word - 산업분석리포트 doc

1. KT 올레스퀘어 미디어파사드 콘텐츠 개발.hwp

03-서연옥.hwp

<333820B1E8C8AFBFEB2D5A B8A620C0CCBFEBC7D120BDC7BFDC20C0A7C4A1C3DFC1A42E687770>

08김현휘_ok.hwp

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat

Voice Portal using Oracle 9i AS Wireless

The Self-Managing Database : Automatic Health Monitoring and Alerting

박선영무선충전-내지

???? 1

Transcription:

Journal of Institute of Control, Robotics and Systems (2017) 23(1):60-66 https://doi.org/10.5302/j.icros.2017.16.0181 ISSN:1976-5622 eissn:2233-4335 공개임베디드하드웨어의실시간메커니즘성능분석 Performance Evaluation of Real-time Mechanisms on Open Embedded Hardware Platforms 신욱철, 최병욱 * (Uk Cheol Shin 1 and Byoung Wook Choi 1,* ) 1 Dept. of Electrical and Information Engineering, Seoul National University of Science and Technology Abstract: Open hardware platforms are gaining wide popularity in various fields of technology for their accessibility and inexpensiveness. Although availability of these platforms is undeniable, the performance of these machines in handling tasks which require execution within critical time constraints is still in question. Moreover, technical documentation and support for open hardware are scarce in comparison to expensive commercially distributed platforms. In this paper, we present a detailed process to implement embedded Linux and the real-time extension of Xenomai to two popular open embedded hardware, BeagleBone Black and i.mx6q SABRELite. Also, we analyze the response time of real-time mechanisms and its performance for inter-task communication (ITC) between real-time tasks. Response time of real-time mechanisms is an important measure to predict the realtime performance of each platform. The performance evaluation is performed both in kernel space and user space using the metrics of jitter, to estimate the periodicity of the cyclic task, and execution time of three real-time mechanisms including semaphore, message queue, and message pipe. The results of this study would serve as a guideline in developing real-time systems on low cost open embedded hardware platforms using the real-time Linux extension of Xenomai. Keywords: xenomai, real-time embedded Linux, real-time mechanisms, ITC, open hardware platforms I. 서론임베디드시스템은마이크로프로세서를기반으로특정한목적을수행하는시스템으로많은제품개발과연구가진행되어왔다. 최근에는사물인터넷 (IoT: Internet of Things) 등빅데이터기술, 인공지능의출현으로인해그기반이되는임베디드시스템에대한관심이나중요도가더욱증가하고있다 [1,2]. 많은사용자유도를위하여하드웨어와소프트웨어를공개하는오픈하드웨어와오픈소프트웨어개념이최근의일반적인경향이되고있다. 제품의쉬운사용과함께개발비의절감을통하여개발자는본연의목적에충실할수있도록도와준다. 이와같은목적으로 BeagleBone 프로젝트, Raspberry 프로젝트및 Freescale 하드웨어등이있다 [3-5]. 최근의제어장치는하드웨어추상화와함께스케쥴링및부가적서비스를활용하기위하여운영체제위에서구현된다. 실시간성능보장을위하여다중태스크구현이필수적이며실시간메커니즘이지원되어야한다 [6,7]. 실시간운영체제는상용 RTOS (Real-Time Operating System) 와함께오픈 RTOS 가있다. 최근에는오픈실시간패치인 Xenomai를이용하여실시간시스템구현에대한연구가많이진행되고있다 [8-10]. 실시간성능분석에관한논문으로는다양한관점에서진 * Corresponding Author Manuscript received September 25, 2016 / revised December 7, 2016 / accepted December 26, 2016 신욱철, 최병욱 : 서울과학기술대학교전기정보공학과 (shinwc159@hanmail.net/bwchoi@seoultech.ac.kr) 본연구는서울과학기술대학교교내학술연구비지원에의하여연구되었음. 행된결과가있으나, 임베디드시스템의중요성과함께개방하드웨어의사용이증가한다는측면에서이에대한연구는부족한실정이다. 또한임베디드하드웨어플랫폼에대한최신의커널과최신의실시간임베디드리눅스패치인 Xenomai 환경에서의실시간메커니즘에대한성능분석은보고된바가없다 [6,7]. 일반적으로실시간운영체제의성능분석은인터럽트지연이나컨텍스트스위칭에대한지연의문제를포함하고있다 [11]. 그러나본연구는일반적인실시간성능분석보다는오픈하드웨어를이용하여응용프로그램을작성할때제일중요한문제를다루고자한다. 즉, 최신의리눅스와 Xenomai 를이용할경우에타스크간의통신방식인다양한메커니즘에있어서의사용자모드와커널모드의성능분석을수행함으로써개발자들이응용시스템개발에중요한지표를제시하는것을목적으로한다. 본논문에서는최근에실시간제어시스템으로의사용이많이시도되고있는 BBB (BeagleBone Black), Freescale i.mx6 series의 SABRELite를이용하여최근에가장일반화된실시간임베디드리눅스인 Xenomai를이용하여실시간시스템을구현한다. 또하나의오픈하드웨어프로젝트인 Raspberry 보드는사용목적상멀티미디어및게임용으로사용되고있으며 Raspberry Pi 2,3에서는커널버전및 Xenomai 버전등이상이하여본연구에서는제외하였다 [11]. 본논문은 II장에서하드웨어특징에대하여간단히설명하며, III장에서는실시간임베디드시스템구현과정을설명한다. IV장에서는실시간태스크의주기성에관한실험결과를나타내며, V장에서실시간시스템구현에사용되는실시간메커니즘의시간적성능분석결과를나타낸다. 이러한 Copyright ICROS 2017

Performance Evaluation 공개 of Real-time 임베디드 Mechanisms 하드웨어의실시간 on Open 메커니즘 Embedded 성능 Hardware 분석 Platforms 61 결과를이용하여실시간제어장치로사용에필요한결론을 VI장에서맺도록한다. II. 오픈하드웨어플랫폼 1. BeagleBone Black Beagle 보드는단일보드컴퓨터의일종으로저전력오픈하드웨어이며 TI사와 Digi-key의협력으로개발되어많은사용자와함께응용예제가발표되었다 [3]. BBB는 2013년초출시되었으며 TI사의 1GHz Sitara AM335x ARM Cortex-A8 프로세서, 4GB의내장메모리, 512MB DDR3 램등을지원한다. 65개의디지털 I/O와 7개의아날로그입력은물론다양한아날로그혹은디지털장비를지원한다. 현재 BBB 오픈하드웨어는 3D 프린터, 로봇분야등의다양한분야에서사용되고있다 [12]. 2. SABRELite i.mx6 시리즈는 Freescale에서제작하는 ARM Cortex 아키텍쳐기반의싱글, 듀얼, 그리고쿼드- 코어패밀리를포함하는멀티코어플랫폼이며저전력기반의응용을위한전용제어오픈하드웨어플랫폼이다 [5]. SABRELite i.mx6q 는 2011 년초출시되었으며 i.mx6q ARM Cortex A9 쿼드- 코어플랫폼, Vivante 시리즈의 GPU를지원하며 2D, 3D, Vector Graphics 처리가가능한강력한컴퓨팅성능과멀티미디어성능을제공한다. 그외에도 1 GB RAM, 1GB Ethernet, 그외의주변장치등을제공한다. 현재 i.mx 시리즈의제품은자동차, 산업및제어장치로시장전반에적용되어사용되고있다. 본연구에서사용한 BBB 및 SABRELite의대략적인사양을표 1에정리하였다 [3,5,14]. III. 실시간임베디드리눅스제어장치구현 Xenomai는실시간운영체제가아닌실시간시스템환경을제공하는인터페이스이다. 즉, Xenomai를사용하기위해서는그기반이되는커널을필요로한다. 본논문에서는리눅스커널버전과 Xenomai의호환성검토와포팅시도를통해 Xenomai 2.6.x 버전에서구현가능한최신리눅스커널을기반으로하여그림 1과같은개발환경을구현하였다. 개발을진행한 Host-Target 교차개발환경은표 2와같다. 표 1. 각보드에대한하드웨어사양. Table 1. Hardware Specifications of each platforms. BeagleBone Black i.mx6q SABRELite 제품공개 2013.4 2011.1 가격 US$49 US$200 SoC AM3358/9 I.mx6Quad CPU 32-bit Cortex-A8 + 32-bit quad-core 2xPRU(200MHz) ARM Cortex-A9 주파수 (Mhz) 1000 1200 GPU PowerVR SGX530 Vivante GC2000 이더넷 10/100 Ethernet 10/100/1Gb Ethernet USB 지원 1 x USB 2.0 2 x USB 2.0 1 x Mini USB 1x OTG 메모리 512MiB DDR3 1GB DDR3 크기 86.4mm x 53.3mm 82mm x 82mm 본논문에서의최신의실시간임베디드리눅스를구현하는과정에있어서두가지하드웨어에는동일한환경을구현하였다. SABRELite 의임베디드리눅스구현과정은본연구팀의연구결과인 [14] 의일부분에서다뤘고여기서는 BBB 에서의임베디드리눅스의간략한구현과정을다룬다. 리눅스커널 3.x 버전이후에서는리눅스커널과하드웨어간의의존성을없애기위하여 DTB (Device Tree Binary) 를필요로한다. 이는하드웨어초기화를담당하는하드웨어종속적인부분만을분리하여별개의하드웨어구성에대한데이터구조파일인 DTB로만든것이다. 이에따라커널부트과정에서커널이미지와 DTB 파일을읽어올수있는부트로더가필요하다. 이를지원하는 U-boot 버전으로는 2012년이후버전에서만지원된다. 포팅과정에서는 microsd card(mmc device) 를통해파일시스템을구축하였으며, 이를위해그림 2와같이 microsd 메모리파티션을구성하였다. 부팅과정에서 u-boot의환경변수를서술한부트스크립트를이용하여커널이미지와 DTB를읽어오게하였다. rootfs 파티션에는부트스크립트, 커널이미지, DTB, Xenomai를설치한 RFS (Root File System) 를위치시킨다. 그림 1. 실시간임베디드리눅스구조. Fig. 1. Real-time embedded Linux architecture. 표 2. Host-Target 교차개발환경. Table 2. Host-Target cross development environment. 항목 규격 Processor Intel Core i5-4460 @ 3.20GHz Host OS 32-bit Ubuntu 14.04 LTS Kernel Linux 3.16.0-45-generic Board BeagleBone Black Freescale i.mx6q SABRELite Toolchain arm-linux-gnueabihf-4.8.3 Target Bootloader U-Boot 2014.07 Kernel Linux 3.14.15 ARMv7 Multiplatform ADEOS ipipe-core-3.14.17-arm-2 Real-time Skin Xenomai 2.6.4 RFS Minimal Ubuntu 14.04.02

62 신욱철, 최병욱 그림 2. 메모리디바이스도표및파티션테이블. Fig. 2. Memory device diagram and partition table. 수행과정은다음과같다. U-boot는 Boundary Devices의 Git repository에서 u-boot-imx6 tree에 v2014.07 branch를다운로드받은후 BBB의프로세서에맞는패치를받아패치를실행한다 [15,16]. 그런이후에해당보드에맞는설정을해준후컴파일을실행한다. # cd u-boot-imx6 # make am335x_evm_defconfig # make 생성된 MLO와 u-boot이미지를 dd 명령어를통해 microsd 그림에나타낸메모리에적재한다. BBB에사용할최신리눅스커널을다운로드를받기위해 RobertCNelson의 Git repository 에서 armv7-multiplatform tree의 v3.14.x branch를받은후 build_kernel 이란 shell script를실행한다. 다운로드된리눅스커널 3.14.15 디렉터리의경로는환경변수로설정한다 [17]. # cd armv7-multiplatform #./build_kernel.sh # export KERNEL=$(pwd)/KERNEL 그후 am33x tree에서 BBB 프로세서의 Power Management 에관한펌웨어를받아 KERNEL/firmware의디렉터리로옮겨준다 [18]. Xenomai 플랫폼을구축하기위해서는 Xenomai 소스와 ADEOS I-Pipe 패치를받은후 Xenomai 소스의 preparekernel.sh 스크립트를실행하여리눅스커널을확장하여야한다 [19]. # export XENO=$(pwd)/xenomai-2.6.4 #./xenomai-2.6.4/scripts/prepare-kernel.sh --linux=$kernel -- adeos=ipipe-core-3.14.17-arm-2.patch --arch=arm 그후 BBB의기본적인설정파일을기반으로추가적인옵션을수정한다. # cd $KERNEL # cp configs/beaglebone.config # make menuconfig RTOS 는전력변화에크게영향을받기때문에스위치와같은 Suspend/Resume 동작은 RTOS 에서는허용하지않는다. 따라서다음과같은설정은비활성화시켜야한다. CONFIG_CC_STACKPROTECTOR_NONE CONFIG_CPU_FREQ CONFIG_KGDB 그리고최적의실시간성보장을위하여환경설정은다음 과같이설정해주었다. CONFIG_SCHED_MC = Y CONFIG_PREEMPT = Y 설정완료후커널, 모듈및 DTB를컴파일한다. # make zimage dtbs modules RFS는 RobertCNelson의서버에서가장최신의 Minimal Ubuntu의파일시스템을사용하며다운로드를받은후압축을풀어주고 RFS의경로를환경변수로설정한다 [20]. # export RFS=$(pwd)/rootfs 그후커널모듈을설치한다. # cd $KERNEL # export INSTALL_MOD_PATH=$RFS # make modules_install 커널모듈을설치한이후 Xenomai 라이브러리를 RFS에설치해준다. Target에맞는최적의플랫폼구성을위하여 ARM Cortex-A8 프로세서에맞는최적화옵션과 FPU (Floating Point Unit) 을사용하기위한옵션을추가하여환경설정을해주었다. # cd $XENO #./configure CFLAGS="-march=armv7-a -mfpu=vfp3" LDFLAGS="-march=armv7-a -mfpu=vfp3" --host=arm- linux-gnueabihf --prefix=$rfs/usr/xenomai # make # make install 본과정에서는부팅과정에서부트스크립트를이용한다. 스크립트의경로에맞게생성한커널이미지와 DTB를위치시킨다 [21]. 마지막으로 RFS를 microsd의 rootfs 파티션으로옮겨준다. 그후 microsd를 board 에삽입후부팅시킨다. Xenomai가올바르게설치됨을확인하기위하여 Xenomai가제공하는 latency 테스트프로그램을 BBB와 SABRELite에서실행해보았다. 그결과 BBB에서는 1ms의샘플링주기에서지연시간이 7us 이내로, SABRELite에서는지연시간이 2us이내로측정된다. 이것으로 BBB, SABRELite에서 Xenomai가올바르게설치되어실시간서비스를제공함을알수있다. IV. 주기적태스크의주기성연구 1. 실험환경실시간시스템의실시간성에대한기본요건으로는지정한주기에맞춰서정밀한태스크의수행이이루어져야한다. 실시간시스템은다양한주기로구현되며정밀제어프로그램의경우에는 1ms의주기부터, 일반적인응용프로그램의경우에는 10ms를기본으로하여정수배의주기로실시간태스크를구현한다. 무부하 (idle) 상태와최고부하상태 (full load) 를이용하여통계적성능분석을통하여성능분석을수행하고있으나, 본논문의경우실험대상타스크는최고높은우선순위를가지고있어영향이적고지면의제한으로기술하지않았다. 본실험환경에서는각하드웨어의유저 / 커널공간에서 1ms, 10ms 의주기의태스크를작성하여실험을진행한다. 커널공간의프로그램은모듈형태로구현하여실험하였고, 성능분석에필요없는데이터처리등은일체제외하였다. 또한, 스케줄링으로인한지연을방지하기위해각각의태스크에 Xenomai의가장높은우선순위인 99를부여하여실험하였다. 실험의정확성을위해각각의실험은 5000번의반복을

공개임베디드하드웨어의실시간메커니즘성능분석 63 표 3. 다양한주기의태스크에서의실시간성능측정결과 [ms]. Table 3. Real-Time Performance Measurement Results in Different Periodic Tasks [ms]. 1ms 10ms User Kernel User Kernel T period T jitter T period T jitter T period T jitter T period T jitter Avg. 1.0000 0.0033 1.0000 0.0014 10.000 0.0015 10.000 0.0006 Beagle Max 1.0324 0.1068 1.0132 0.0133 10.022 0.0061 10.014 0.0018 Bone Min 0.8931 0 0.9874 0 9.9394 0 9.9822 0 Black St.D 0.0012 0.0011 0.0005 0.0005 0.0023 0.0018 0.0012 0.0011 SABRE Lite Avg. 1.0000 0.0003 1.0000 0.0001 10.000 0.0011 10.000 0.0002 Max 1.0087 0.0087 1.0061 0.0061 10.020 0.0020 10.012 0.0012 Min 0.9937 0 0.9956 0 9.9910 0 9.9956 0 St.D 0.0009 0.0009 0.0004 0.0004 0.0019 0.0016 0.0005 0.0005 통해충분한샘플을획득하게하였으며실시간태스크에서의수행시간측정은 Xenomai의 RT-Time API를이용하여시간을측정하였다. 그림 3은주기적태스크의실험구조를의사코드로표현하였다. 태스크의실행시특정주기가설정되고주기적으로실행되게한다. 그후측정된시간을기반으로각주기에서의태스크의주기성 (periodicity) 과지연시간 (jitter) 그리고그에대한최고 (max), 최소 (min), 평균 (average), 표준정규분포 (standard normal distribution) 를기준으로실시간성을분석한다. 주기적인태스크의실제주기 T period 와지터 T jitter 의관계는다음과같이정의된다. T = T T (1) jitter cycle period 여기서 T cycle 은태스크생성할때설정한주기를의미한다. 2. 실험결과실험결과는표 3과같고각주기마다 5000번의실험을반복하였으며결과는 ms로나타내었다. 실험을진행한 1ms 주기의태스크에서 T period 는 BBB, SABRELite 모두예상된 Cycle 값에근접한다. T period 의표준편차가 BBB의경우유저공간에서 0.0012, 커널공간에서 0.0005의편차값을가지며 SABRELite에서는유저공간에서 0.0009, 커널공간에서 0.0004의편차값을가진다. T jitter 는 BBB에서는평균적으로유저공간 3.3us, 커널공간 1.4us 이며 SABRELite에서는유저공간 0.3us, 커널공간 0.1us로나타나며표준편차도위와같이두개의하드웨어모두커널공간에서적은값을가지며 SABRELite가 BBB보다더적은편차를보인다. 이러한전체적인경향은 10ms 주 기의태스크에서도동일하게나타난다. 종합적으로주어진주기에대해두개의하드웨어가모두유저공간보다커널공간에서더정밀하고안정적인정주기성을발휘하며 1ms의짧은주기에서더정밀한값을가진다. 상대적으로 SABRELite가 BBB보다높은성능을가지지만두개의하드웨어모두주어진주기에대한정밀한태스크의수행이이루어짐으로실시간제어기로서의사용의기본요건을충족함을알수있다. V. 실시간메커니즘성능분석 1. 실험환경 Xenomai는실시간시스템환경을제공하며실시간시스템은다중태스크작업환경을지원하며태스크간의통신 (ITC: Inter Task Communication) 을통해태스크간의동기화, 자원관리, 활동을조정한다. Xenomai에서의 ITC 메커니즘으로는세마포어 (semaphore), 메시지큐 (message queues), 메시지파이프 (message pipes) 가존재하며이들은유저, 커널공간에상관없이모두동일한구조를가진다. 본장에서는 ITC 메커니즘에대한성능분석으로각메커니즘의수행시간에대한시간적성능을분석하고그에대한결과분석을통해각하드웨어의실시간제어기로서의성능을평가해보고자한다. 실험을진행한환경은 IV장과동일하며각각의태스크들은동일한우선순위를가진다. 2. 세마포어 (semaphore) 세마포어는멀티태스크응용프로그램의활동을조정하기위한도구이다. Xenomai에서세마포어는빠른태스크간통신을제공하며상호배제와태스크동기화를해결하기위한주요수단으로이용된다. 그림 4는세마포어의시간적성능을분석하기위한의사코드이다. Taks1이세마포어를양도한시점부터 Task2가세마 그림 3. Periodic_Task 의사코드. Fig. 3. Pseudocode of periodic_task. 그림 4. 세마포어획득시간측정을위한의사코드. Fig. 4. Pseudo-code for Measuring time to acquire semaphore.

64 Uk Cheol Shin 신욱 and 철, Byoung 최병욱 Wook Choi (a) 1ms. (a) 1ms. (b) 10ms. 그림 5. 다양한주기에서의세마포어획득결과. Fig. 5. Semaphore Acquisition Result in Different period. (b) 10ms. 그림 7. 다양한주기에서의메시지파이프실험결과. Fig. 7. Message Pipe Experiment Results in Different period. 포어를획득한시점까지걸린시간을측정하였다. 실험에대한결과는그림 5와같다. 세마포어를양도하고다른태스크가이를획득하는데소요되는시간이 1ms주기의태스크에서 BBB 유저공간평균 6,184us, 커널공간평균 3.6087us가걸리며 SABRELite 유저공간평균 5.0242us, 커널공간평균 2.3962us의시간이소요된다. 두개의하드웨어모두유저공간보다커널공간에서적은시간을소요하는것을알수있고 SABRELite가 BBB보다빠른수행시간을가짐을알수있다. 이러한경향은 10ms 주기의태스크에서도동일하게나타난다. 실험을수행한 2가지주기의표준편차에서커널공간 1ms 의주기에서더밀집된분포도를보이고 2가지주기에서모두 BBB보다 SABRELite가작은편차를보임으로미루어보아 SABRELite가 BBB보다안정적인시간적응답특성을발휘하고높은신뢰성을가진다는것을알수있다. 그림 6. Message Pipe 실험을위한의사코드. Fig. 6. Pseudocode for testing Message Pipe. 3. 메시지파이프 (message pipe) 메시지파이프는 Xenomai 태스크와가상장치 (/dev/rtpx) 의파일 I/O동작을이용한표준리눅스프로세서의태스크와의양방향통신채널이다. 즉, 실시간태스크와비실시간태스크사이의통신수단이다. 그림 6은커널공간 / 유저공간의실시간 Task1 이 Pipe를통해사용자공간의리눅스태스크로데이터를전달하고다시리눅스태스크에서실시간태스크로데이터를전달하는구조를의사코드로나타내었다. 실험은위의과정을수행하는데걸린시간을측정하였다. 실험에대한결과는그림 7과같다. 실시간태스크와리눅스태스크간의메시지송수신시간이 1ms주기의태스크에서 BBB 유저공간평균 53.0133us, 커널공간평균 53.2401us 가걸리며 SABRELite 유저공간평균 59.8665us, 커널공간평균 56.2558us의시간이소요된다. BBB가 SABRELite보다빠른수행시간을가지지만 BBB의커널공간에서의평균수행시간과편차가유저공간에비해높게나오고이러한경향은 10ms의주기에서도동일하다. 두가지주기에서의실험에서 BBB는메시지파이프의수행이불안정한반면 SABRELite 는안정적인성능을보인다. 이러한메시지파이프의불안정성의원인으로는리눅스태스크에서는비실시간메커니즘인리눅스 API를사용하기때문에실시간성을보장할수없어이러한현상이발생하는것으로보인다. 4. 메시지큐 (message queue) 메시지큐는 Xenomai에의해관리되는큐를통하여실시

Performance Evaluation 공개 of Real-time 임베디드 Mechanisms 하드웨어의실시간 on Open 메커니즘 Embedded 성능 Hardware 분석 Platforms 65 그림 8. Message queue 실험을위한의사코드. Fig. 8. Pseudocode for testing Message queue. 간태스크사이에서데이터를교환, 전달하는통신수단이다. 메시지큐는메시지의개수, 가변길이, 가변데이터타입을허락한다. 큐는 FIFO (First in, First Out) 방식과우선순위기반의방식이존재한다. 데이터전송에사용되는메시지큐의경우그림 8과같은구조를이용하여데이터전송에사용되는실시간메커니즘의성능을분석하였다. 메시지큐는 N:1 구조의통신이가능하지만여기서는두개의태스크만을이용하여 Task1이 Task2에메시지를전달하는데소요된시간을측정하였다. 실험에대한결과는그림 9와같다. 1ms 주기의태스크에서메시지큐를통한메시지송수신소요시간이 BBB 유저공간평균 8.2456us, 커널공간평균 5.5604us, SABRELite 유저공간평균 6.5952us, 커널공간평균 3.5989us가소요된다. 이전의메커니즘분석결과와동일하게짧은주기, 커널공간에서적은시간이소요됨을알수있고 10ms의주기에서도같은경향을보인다. (a) 1ms. 그림 10. 이동로봇플랫폼. Fig. 10. Mobile Robot Platforms. 그림 11. 다축모션제어. Fig. 11. Multi-Axis Motion Control. 실험을수행한모든결과에서 SABRELite가 BBB보다더적은시간을소요함을알수있고표준편차로미루어보아 SABRELite가더밀집된분포도를이루고있어안정적인시간적응답특성을발휘함을알수있다. 다만 BBB의경우커널공간이유저공간에비해평균소요시간은짧지만분포도는더높은값을가짐으로보아약간의불안정성을가지고있음을알수있다. 5. 응용예그림 10과그림 11은본연구결과를바탕으로저가의공개된하드웨어를 SABRELite, BBB 보드를이용하여구성중인실시간응용시스템이다. 그림 10은실시간제어기와서보드라이버간의통신프로토콜로 EtherCAT 을사용한전방향이동로봇이며레이저센서를이용한주행연구 [22] 와이동로봇의물리적제한을고려한궤적생성방법에대한연구 [23] 을기반으로자율주행에대한연구를진행중이다. 그림 11은 EtherCAT 프로토콜기반으로다축모터에대한모션제어를진행중이다 [24]. 이러한응용예에서의실시간제어를위한프로그램에서다양한실시간메커니즘이필수불가결하다. 또한이러한응용예이외에도실시간시스템에서의실시간메커니즘은무기제어, 발전소제어, 철도제어, 산업체제조공정제어, 로봇제어등의수많은응용시스템구성이가능할것이다. (b) 10ms. 그림 9. 다양한주기에서의메시지큐실험결과. Fig. 9. Message queue Experiment Results in Different period. VI. 결론본논문에서는선행연구결과를바탕으로현재다양한분야에서활발히사용되고있는 2개의임베디드하드웨어를대상으로하여실시간제어기로서의실시간성능을평가하기위해서각하드웨어에 Xenomai를구현하고실시간성능의분석을위해태스크의주기에따른주기성, 실시간메커

66 신욱철, 최병욱 니즘의수행속도에대한시간적분석하였다. 이를통해다양한분야에서의 2가지하드웨어가실시간제어기로서요구되는실시간성을만족함을검증하였다. 실험결과, i.mx 시리즈의 SABRELite는매우안정적이고우수한실시간성능을발휘함을알수있었다. 그에따라산업, 의료, 방산등의고정밀제어가요구되는제품의실시간제어기로서도충분히활용가능하다. 또한 BeagleBone Black 또한 SABRELite보다는실시간성능에있어서아쉬운부분이있지만가격대비우수한성능을발휘함으로교육용, 산업, 상업등의적정한수준의실시간성능이요구되는제품의실시간제어기로서활용가능하다. 현재본연구팀에서 SABRELite, BeagleBone Black 등의하드웨어에공개된실시간이더넷프로토콜인 IgH EtherCAT 을구현하고상위제어기로서의성능분석에관한연구를진행하고있으며향후이에대한자세한성능평가에관한내용을서술하고자한다. REFERENCES [1] K. Delic and J. Riley, Current and future trends in AI, Information, Communication and Automation Technologies (ICAT), 2013 XXIV International Symposium on. IEEE, 2013. [2] J. A. Stankovic, Research directions for the internet of things, IEEE Internet of Things Journal, vol. 1, no. 1, pp. 3-9, Feb. 2014. [3] Beagle board Project, https://beagleboard.org/ [4] Raspberry Pi, https://www.raspberrypi.org/ [5] Freescale Semiconductor, http://opensource.freescale.com/ [6] J. H. Koh and B. W. Choi, Real-time performance of real-time mechanisms for RTAI and Xenomai in various running conditions, Internal Journal of Control and Automation, vol. 6, no. 2, pp. 139-151, Feb. 2013. [7] J. H. Koh and B. W. Choi, On benchmarking of real-time mechanisms in various periodic tasks for real-time embedded linux, Journal of Korea Robotics Society, vol. 7, no. 4, pp. 292-298, Dec. 2012. [8] W. S. Liu, Real-Time Systems, Prentice Hall, 2000. [9] A. Barbalace, A. Luchetta, G. Manduchi, M. Moro, A. Soppelsa, and C. Taliercio, Performance comparison of VxWorks, Linux, RTAI, and Xenomai in a hard real-time application, IEEE Transactions on Nuclear Science, vol. 55, no. 1, pp. 435-439, Feb. 2008. [10] M. D. Marieska, A. I. Kistijantoro, and M. Subair, Analysis and benchmarking performance of real time patch Linux and Xenomai in serving a real time application, Electrical Engineering and Informatics (ICEEI), 2011 International Conference on. IEEE, 2011. [11] T. Straumann, Open source real time operating system overview, International Conference on Accelerator & Large Experimental Physics Control Systems, 2001. [12] Xenomai Support Hardware, https://xenomai.org/embeddedhardware/ [13] I. Siradjuddin, S. P. Tundung, A. S. Indah, and S. Adhisuwignjo, A real-time model based visual servoing application for a differential drive mobile robot using Beaglebone Black embedded system, 2015 IEEE International Symposium on Robotics and Intelligent Sensors (IRIS). IEEE, 2015. [14] boundarydevices, https://boundarydevices.com/product/ [15] Boundary Devices, github.com/boundarydevices/u-boot-imx6 [16] u-boot patch, https://rcn-ee.com/repos/git/u-boot-patches/ [17] ARM Multiplatform, github.com/robertcnelson/ [18] Am33x firmware, http://arago-project.org/git/projects [19] Xenomai Download Server, xenomai.org/downloads/ [20] Minimal Ubuntu Filesystem, rcn-ee.com/rootfs/eewiki/minfs/ [21] Boot script, https://eewiki.net/display/linuxonarm/beaglebone+ Black [22] J. K. Park and T. H. Park, Autonomous navigation system of mobile robot using laser scanner for corridor environment, Journal of Institute of Control, Robotics and Systems, vol. 21, no. 11, pp. 1044-1049, Nov. 2015. [23] G. J. Yang and B. W. Choi, Maximum velocity trajectory planning for mobile robots considering wheel velocity limit, Journal of Institute of Control, Robotics and Systems, vol. 21, no. 5, pp. 471-476, May 2015. [24] R. Delgado, C. H. Hong, W. C. Shin, and B. W. Choi, Implementation and performance analysis of an EtherCAT master on the latest real-time embedded linux, International Journal of Applied Engineering Research, vol. 10, no. 24, pp. 44603-44609, 2015. 신욱철 2011년 ~ 현재서울과학기술대학교전기정보공학과재학중. 관심분야는실시간시스템설계, 임베디드리눅스, 지능형로봇소프트웨어. 최병욱 1988년 ~1992년한국과학기술원전기및전자공학과석사및박사졸업. 1988년 ~2000년 LG산전중앙연구소책임연구원. 2000년 ~2005년선문대학교제어계측공학과부교수. 2003년 ~2005년임베디드웹대표이사. 2007년 ~2008년 Nanyang Technological University, Senior Fellow. 2005년 ~ 현재서울과학기술대학교전기정보공학과교수. 관심분야는실시간시스템설계, 임베디드시스템, 임베디드리눅스, 지능형로봇소프트웨어.