• Title/Summary/Keyword: kernel thread

Search Result 27, Processing Time 0.028 seconds

Fixed Time Synchronous IPC in Zephyr Kernel (Zephyr 커널에서 고정 시간 동기식 IPC 구현)

  • Jung, Jooyoung;Kim, Eunyoung;Shin, Dongha
    • IEMEK Journal of Embedded Systems and Applications
    • /
    • v.12 no.4
    • /
    • pp.205-212
    • /
    • 2017
  • Linux Foundation has announced a real-time kernel, called Zephyr, for IoT applications recently. Zephyr kernel provides synchronous and asynchronous IPC for data communication between threads. Synchronous IPC is useful for programming multi-threads that need to be executed synchronously, since the sender thread is blocked until the data is delivered to the receiver thread and the completion of data transfer can be known to two threads. In general, 'IPC execution time' is defined as the time duration between the sender thread sends data and the receiver thread receives the data sent. Especially, it is important that 'IPC execution time' in the synchronous IPC should be fixed in real-time kernel like Zephyr. However, we have found that the execution time of the synchronous IPC in Zephyr kernel increases in proportion to the number of threads executing in the kernel. In this paper, we propose a method to implement a fixed time synchronous IPC in Zephyr kernel using Direct Thread Switching(DTS) technique. Using the technique, the receiver thread executes directly after the sender thread sends a data during the remaining time slice of the sender thread and we can archive a fixed IPC execution time even when the number of threads executing in the kernel increases. In this paper, we implemented synchronous IPC using DTS in the Zephyr kernel and found the IPC execution time of the IPC is always 389 cycle that is relatively small and fixed.

The implementation of the Communication Kernel on IXP1200 (IXP1200 네트워크 프로세서를 이용한 Communication Kernel의 구현)

  • 황광섭;백성찬;박우진;정영환;안순신
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.04a
    • /
    • pp.313-315
    • /
    • 2002
  • 인터넷의 급격한 성장과 함께 네트워크 서비스에 대한 사용자의 요구도 점점 증대되고 있다. 이러한 시장의 요구에 빠르게 대응하고 새로운 특징에 대한 시스템의 수정과 보완이 용이하게 되도록 고안된 것이 네트워크 프로세서이며, 본 논문에서는 인텔사의 IXP1200 네트워크 프로세서를 이용하여 기본적인 IP패킷 포워딩기능을 수행하는 Communication kernel을 구현한다. 우리의 구현에서는 8개의 slow port와 1개의 fast port가 하나의 queue를 공유하며, Receive thread가 이 queue를 공유하도록 한다. Communication kernel은 receive scheduler, receive thread, transmit scheduler, transmit thread의 네 개의 모듈로 구성 되어진다.

  • PDF

Kernel Thread Scheduling in Real-Time Linux for Wearable Computers

  • Kang, Dong-Wook;Lee, Woo-Joong;Park, Chan-Ik
    • ETRI Journal
    • /
    • v.29 no.3
    • /
    • pp.270-280
    • /
    • 2007
  • In Linux, real-time tasks are supported by separating real-time task priorities from non-real-time task priorities. However, this separation of priority ranges may not be effective when real-time tasks make the system calls that are taken care of by the kernel threads. Thus, Linux is considered a soft real-time system. Moreover, kernel threads are configured to have static priorities for throughputs. The static assignment of priorities to kernel threads causes trouble for real-time tasks when real-time tasks require kernel threads to be invoked to handle the system calls because kernel threads do not discriminate between real-time and non-real-time tasks. We present a dynamic kernel thread scheduling mechanism with weighted average priority inheritance protocol (PIP), a variation of the PIP. The scheduling algorithm assigns proper priorities to kernel threads at runtime by monitoring the activities of user-level real-time tasks. Experimental results show that the algorithms can greatly improve the unexpected execution latency of real-time tasks.

  • PDF

Analysis of Kernel-Thread Web Accelerator (커널 스레드 웹 가속기의 분석)

  • Hwang June;Nahm EuiSeok;Min Byungjo;Kim Hagbae
    • 한국컴퓨터산업교육학회:학술대회논문집
    • /
    • 2003.11a
    • /
    • pp.17-22
    • /
    • 2003
  • The surge of Internet traffic makes the bottleneck nowadays. This problem can be reduced by substituting the media of network, routers and switches with more high-performance goods. However, we focused radically the server performance of processing the service requests. We prepose the method improving performance of server in the Linux kernel stack. This accelerator accepts the requests from many clients, and processes them using not user threads but kernel thread. To do so, we can reduce the overhead caused by frequent calling of system calls and the overhead of context switching between threads. Furthermore, we implement CPN(Coloured Petri Net) model. By using the CPN model criteria, we can analyze the characteristics of operation times in addition to the reachability of system. Benchmark of the system proves the model is valid.

  • PDF

Design md Implementation of IEEE1394 Device Driver for Dual Kernel OS (이중 커널 구조의 OS를 위한 IEEE1394 디바이스 드라이버의 설계 및 구현)

  • Jung Gi-Hoon;Oh Ju-Yong;Kang Soon-Ju
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.32 no.3
    • /
    • pp.107-114
    • /
    • 2005
  • In this paper. we propose an architecture of IEEE1394 device driver for RTLinux. The device driver has two interfaces for applications running on the RTLinux kernel and Linux kernel. With the interfaces, the device driver simultaneously supports RT-Thread of RTLinux kernel and user level process of Linux kernel. This architecture could be a reference for designing other device driver on the dual kernel platform.

Development of a Kernel Thread Web Accelerator (SCALA-AX) (커널 쓰레드 웹가속기(SCALA-AX) 개발)

  • Park, Jong-Gyu;Min, Byung-Jo;Lim, Han-Na;Park, Jang-Hoon;Chang, Whi;Kim, Hag-Bae
    • The KIPS Transactions:PartA
    • /
    • v.9A no.3
    • /
    • pp.327-332
    • /
    • 2002
  • Conventional proxy web cache, which is generally used to caching server, is a content-copy based system. This method focuses on speeding up the phase delivery not improving the webserver performance. However, if immense clients attempt to connect the webserver simultaneously, the proxy web cache cannot achieve the desired result. In this paper, we propose the web accelerator called the SCALA-AX, whitch improves web server performance by accelerating the delivery contents. The SCALA-AX is built in the Linux-based kernel as a kernel modulo and works in combination with the conventional webserver program. The SCALA-AX speeds up the processing rate of the webserver, because it processes the requests using the kernel thread. The SCALA-AX also applies the well-developed cache algorithm to the processing, and thus it obtains the advantage of the caching server without installing additional hardware. A banchmarking test demonstrates that the SCALA-AX improves webserver performance by up to 500% for content delivery.

Development of a Web Accelerator in the Kernel

  • Park, Jong-Gyu;Lim, Han-Na;Kim, Hag-Bae
    • 제어로봇시스템학회:학술대회논문집
    • /
    • 2001.10a
    • /
    • pp.70.3-70
    • /
    • 2001
  • In this paper, we suggest a kernel level multi thread web accelerator (called the SCALA-AX), which significantly improves the performance of the web soerver. In comparison with a conventional proxy web cache that is generally called a caching server and a simple content-copy based system, the primary functions and goals of SCALA-AX are designed to maximize the content services of a front end web server with high performance. Specifically, the SCALA-AX runs on the kernel level of a web sorrel, based on the newest caching techniques. Moreover, the SCALA-AX supports the http 1.1 protocol and allows the dynamic pages as well as static pages to be processed.

  • PDF

An Implementation of Embedded SIP User Agent under Wireless LAN Area (Wireless LAN 환경에서 임베디드 SIP User Agent 구현)

  • Park Seung-Hwan;Lee Jae-Heung
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.9 no.3
    • /
    • pp.493-497
    • /
    • 2005
  • This paper is about the research of the User Agent implementation under wireless embedded environment, using SIP which is one of protocol components construct the VoIP system. The User Agent is made of the User Agent configuration block, the device thread block to control devices and the SIP stack block to process SIP messages. The device thread consists of the RTP thread and the sound lard device processing block. Futhermore, the SIP stack consist of the worker thread to process proxy events, the SIP transceiver and SIP thread to transfer and receive SIP messages. The H/W platform is a board included the Intel's XScale PXA255 processor, flash memory, SDRAM, Audio CODEC module and wireless LAN threough PCMCIA socket, furthermore a microphone and headphone is used by the audio 1/0. The system has embedded linux kernel 2.4.19. For embedded environment, the function of User Agent and SIP method is diminished. Finally, the resource of system could be reduced about $12.9\%$, compared to overall system resource, by minimizing peripherals control and excepting TCP.

Efficient Thread Allocation Method of Convolutional Neural Network based on GPGPU (GPGPU 기반 Convolutional Neural Network의 효율적인 스레드 할당 기법)

  • Kim, Mincheol;Lee, Kwangyeob
    • Asia-pacific Journal of Multimedia Services Convergent with Art, Humanities, and Sociology
    • /
    • v.7 no.10
    • /
    • pp.935-943
    • /
    • 2017
  • CNN (Convolution neural network), which is used for image classification and speech recognition among neural networks learning based on positive data, has been continuously developed to have a high performance structure to date. There are many difficulties to utilize in an embedded system with limited resources. Therefore, we use GPU (General-Purpose Computing on Graphics Processing Units), which is used for general-purpose operation of GPU to solve the problem because we use pre-learned weights but there are still limitations. Since CNN performs simple and iterative operations, the computation speed varies greatly depending on the thread allocation and utilization method in the Single Instruction Multiple Thread (SIMT) based GPGPU. To solve this problem, there is a thread that needs to be relaxed when performing Convolution and Pooling operations with threads. The remaining threads have increased the operation speed by using the method used in the following feature maps and kernel calculations.

Poring of WIPI HAL in Embedded Linux (리눅스 환경에서 WIPI를 지원하기 위한 HAL (Handset Abstraction Layer) 이식)

  • Park, Woo-Ram;Kim, Tae-Woong;Park, Chan-Ik
    • IEMEK Journal of Embedded Systems and Applications
    • /
    • v.3 no.1
    • /
    • pp.30-33
    • /
    • 2008
  • This paper persents how to port HAL (Handset Abstraction Layer) on embedded Linux to support WIPI (Wireless Internet Platform for Interoperability). As smart phones are widespread nowdays, the operating system is changing from a simple kernel like Qualcomm REX OS to more feature-rich Linux kernel. For this reason, we investigate the internal structure of HAL on REX OS and design how to port it to embedded Linux. Careful analysis leads us to identify several porting issues such as thread support, graphical user interface. In addition, we describe some problems discovered during the implementation process and propose alternative architecture of HAL for WIPI on Linux.

  • PDF