A Task Group-based Real-Time Scheduling Technique m the Non-Preemptive TinyOS

비선점 환경의 TinyOS에서 실시간성을 고려한 태스크 그룹 기반의 스케줄링 기법

  • 손치원 (부산대학교 컴퓨터공학과) ;
  • 탁성우 (부산대학교 정보컴퓨터공학부)
  • Received : 2010.02.02
  • Accepted : 2010.06.29
  • Published : 2010.09.30

Abstract

Since the TinyOS incorporating a non-preemptive task scheduling policy uses a FIFO (First-In First-Out) queue, a task with the highest priority cannot preempt a task with lower priority before the task with lower priority must run to completion. Therefore, the non-preemptive TinyOS cannot guarantee the completion of real-time user tasks within their deadlines. Additionally, the non-preemptive TinyOS needs to meet the deadlines of user tasks as well as those of TinyOS platform tasks called by user tasks in order to guarantee the deadlines of the real-time services requested by user tasks. In this paper, we present a group-based real-time scheduling technique that makes it possible to guarantee the deadlines of real-time user tasks in the TinyOS incorporating a non-preemptive task scheduling policy. The proposed technique groups together a given user task and TinyOS platform tasks called and activated by the user task, and then schedule them as a virtual big task. A case study shows that the proposed technique yields efficient performance in terms of guaranteeing the completion of user tasks within their deadlines and aiming to provide them with good average response time, while maintaining the compatibility of the existing non-preemptive TinyOS platform.

비선점형 태스크 스케줄링 정책을 사용하는 TinyOS는 선입선출 (FIFO: First-In First-Out) 방식의 태스크 스케줄링만 제공하기 때문에 최상위 우선순위를 가친 사용자 태스크가 즉시 실행이 필요한 태스크임에도 불구하고 우선순위가 낮은 태스크가 획득한 CPU 사용권한을 선점하지 못한다. 따라서 실시간 서비스를 요구하는 사용자 태스크 (User Task) 의 마감시한 (Deadline)을 보장할 수 없다. 또한, 비선점 환경의 TinyOS에서 사용자 태스크가 요청한 실시간 서비스를 완료하기 위해서는 사용자 태스크의 마감시한을 보장함과 동시에 사용자 태스크에서 호출 및 실행되는 TinyOS 플랫폼 태스크들의 마감시한도 보장해야 한다. 이에 본 논문에서는 비선점형 태스크 스케줄링 정책을 사용하는 기존 TinyOS 환경에서 실시간성을 제공하는 태스크 그룹 기반의 스케줄링 기법을 제안하였다. 제안한 기법은 요청한 사용자 태스크의 마감시한을 보장하기 위하여 사용자 태스크와 함께 사용자 태스크가 완료되기 위하여 호출 및 실행이 필요한 다수의 TinyOS 플랫폼 태스크를 태스크 그룹으로 형성한 후, 해당 태스크 그룹을 하나의 가상적인 큰 태스크 단위로 스케줄링한다. 제안한 기법의 동작을 시험한 결과, 제안한 기법은 비선점형 태스크 스케줄링 정책을 사용하는 TinyOS 환경에서 사용자 태스크의 마감시한을 보장함과 동시에 사용자 태스크의 평균 응답시간을 줄이고 기존 TinyOS 플랫폼간의 호환성을 제공할 수 있었다.

Keywords

References

  1. P. Levis, S. Madden, D. Gay, J. Polastre, R. Szewczyk, A. Woo, E. Brewer, and D. Culler, "The Emergence of Networking Abstractions and Techniques in TinyOS," USENIX/ACM Symposium on Networked Systems Design and Implementation, pp. 1-14, 2004.
  2. H. Abrach, S. Bhatti, J. Carlson, H. Dai, J. Rose, A. Sheth, B. Shucker, J. Deng, and R. Han, "MANTIS - system support for MultiModAl NeTworks of In-situ Sensors," ACM International Workshop on Wireless Sensor Networks and Applications, pp.50-59, 2003.
  3. A. Dunkels, B. Gronvall, and T. Voigt, "CONTIKI-a lghtweight and flexible operating system for tiny networked sensors," IEEE International Conference on Local Computer Networks, pp.455-462, 2004.
  4. P. Ganesan and A.G. Dean, "Enhancing the AvrX kernel with efficient secure communicaion using software thread integration," Real-Time and Embedded Technology and Applications Symposium, pp. 265-275, 2004.
  5. D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, and D. Culler. "The nesC language: A holistic approach to networked embedded systems." ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 1-11, 2003.
  6. V. Subramonian, H-M. Huang, S. Data, and C. Lu, "Priority scheduling in TinyOS-A case study," Technical Report WUCSE-2003- 74, Washington University, 2002.
  7. P. Levis and C. Sharp, "Schedulers and tasks," TinyOS 2.x Extension Proposal 106.
  8. C. Duffy, U. Roedig, J. Herbert, and C. Screenan, "Adding preemption to TinyOS," Workshop on Embedded Network Sensors, pp. 88-92, 2007.
  9. CC2420DB. TI and Chipcon Corporation, Available at http://focus.ti.com/docs/ prod/folders/ print/cc2420.html