• 제목/요약/키워드: Real-time Execution

검색결과 538건 처리시간 0.026초

Improving Memory Efficiency of Dynamic Memory Allocators for Real-Time Embedded Systems

  • Lee, Jung-Hee;Yi, Joon-Hwan
    • ETRI Journal
    • /
    • 제33권2호
    • /
    • pp.230-239
    • /
    • 2011
  • Dynamic memory allocators for real-time embedded systems need to fulfill three fundamental requirements: bounded worst-case execution time, fast average execution time, and minimal fragmentation. Since embedded systems generally run continuously during their whole lifetime, fragmentation is one of the most important factors in designing the memory allocator. This paper focuses on minimizing fragmentation while other requirements are still satisfied. To minimize fragmentation, a part of a memory region is segregated by the proposed budgeting method that exploits the memory profile of the given application. The budgeting method can be applied for any existing memory allocators. Experimental results show that the memory efficiency of allocators can be improved by up to 18.85% by using the budgeting method. Its worst-case execution time is analyzed to be bounded.

Optimizing Instruction Prefetching to Improve Worst-Case Performance for Real-Time Applications

  • Ding, Yiqiang;Yan, Jun;Zhang, Wei
    • Journal of Computing Science and Engineering
    • /
    • 제3권1호
    • /
    • pp.59-71
    • /
    • 2009
  • While the average-case performance is important for general-purpose applications, worst-case performance is crucial for real-time systems to ensure schedulability and reliability. Recent work has shown that simple prefetching techniques such as the Next-N-Line prefetching can benefit both average-case and worst-case performance; however, the improvement on the worstcase execution time (WCET) is rather limited and inefficient. This paper presents two instruction prefetching approaches that are specially designed to enhance the worst-case performance, including the loop-based prefetching and WCET-oriented prefetching. Our experiments indicate that both instruction prefetching techniques can achieve better worst-case execution cycles than the Next-N-Line prefetching while having various impacts on the average-case performance.

Verifying Execution Prediction Model based on Learning Algorithm for Real-time Monitoring (실시간 감시를 위한 학습기반 수행 예측모델의 검증)

  • Jeong, Yoon-Seok;Kim, Tae-Wan;Chang, Chun-Hyon
    • The KIPS Transactions:PartA
    • /
    • 제11A권4호
    • /
    • pp.243-250
    • /
    • 2004
  • Monitoring is used to see if a real-time system provides a service on time. Generally, monitoring for real-time focuses on investigating the current status of a real-time system. To support a stable performance of a real-time system, it should have not only a function to see the current status of real-time process but also a function to predict executions of real-time processes, however. The legacy prediction model has some limitation to apply it to a real-time monitoring. First, it performs a static prediction after a real-time process finished. Second, it needs a statistical pre-analysis before a prediction. Third, transition probability and data about clustering is not based on the current data. We propose the execution prediction model based on learning algorithm to solve these problems and apply it to real-time monitoring. This model gets rid of unnecessary pre-processing and supports a precise prediction based on current data. In addition, this supports multi-level prediction by a trend analysis of past execution data. Most of all, We designed the model to support dynamic prediction which is performed within a real-time process' execution. The results from some experiments show that the judgment accuracy is greater than 80% if the size of a training set is set to over 10, and, in the case of the multi-level prediction, that the prediction difference of the multi-level prediction is minimized if the number of execution is bigger than the size of a training set. The execution prediction model proposed in this model has some limitation that the model used the most simplest learning algorithm and that it didn't consider the multi-regional space model managing CPU, memory and I/O data. The execution prediction model based on a learning algorithm proposed in this paper is used in some areas related to real-time monitoring and control.

Learning Framework for Robust Planning and Real-Time Execution Control

  • Wang, Gi-Nam;Yu, Gang
    • Management Science and Financial Engineering
    • /
    • 제8권1호
    • /
    • pp.53-75
    • /
    • 2002
  • In this Paper, an attempt is made to establish a learning framework for robust planning and real-time execution control. Necessary definitions and concepts are clearly presented to describe real-time operational control in response to Plan disruptions. A general mathematical framework for disruption recovery is also laid out. Global disruption model is decomposed into suitable number of local disruption models. Execution Pattern is designed to capture local disruptions using decomposed-reverse neural mappings, and to further demonstrate how the decomposed-reverse mappings could be applied for solving disrubtion recovery problems. Two decomposed-reverse neural mappings, N-K-M and M-K-N are employed to produce transportation solutions in react-time. A potential extension is also discussed using the proposed mapping principle and other hybrid heuristics. Experimental results are provided to verify the proposed approach.

An Adaptively Speculative Execution Strategy Based on Real-Time Resource Awareness in a Multi-Job Heterogeneous Environment

  • Liu, Qi;Cai, Weidong;Liu, Qiang;Shen, Jian;Fu, Zhangjie;Liu, Xiaodong;Linge, Nigel
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • 제11권2호
    • /
    • pp.670-686
    • /
    • 2017
  • MapReduce (MRV1), a popular programming model, proposed by Google, has been well used to process large datasets in Hadoop, an open source cloud platform. Its new version MapReduce 2.0 (MRV2) developed along with the emerging of Yarn has achieved obvious improvement over MRV1. However, MRV2 suffers from long finishing time on certain types of jobs. Speculative Execution (SE) has been presented as an approach to the problem above by backing up those delayed jobs from low-performance machines to higher ones. In this paper, an adaptive SE strategy (ASE) is presented in Hadoop-2.6.0. Experiment results have depicted that the ASE duplicates tasks according to real-time resources usage among work nodes in a cloud. In addition, the performance of MRV2 is largely improved using the ASE strategy on job execution time and resource consumption, whether in a multi-job environment.

K-Hypervisor: Design and Implementation of ARM Hypervisor for Real-Time Embedded Systems (K-Hypervisor: 실시간 임베디드 시스템을 위한 ARM 기반의 하이퍼바이저 설계 및 구현)

  • Ko, Wonseok;Yoo, Jeongwoo;Kang, Ingu;Jun, Jinwoo;Hwang, Inki;Lim, Sung-Soo
    • KIISE Transactions on Computing Practices
    • /
    • 제23권4호
    • /
    • pp.199-209
    • /
    • 2017
  • Recently, there has been growing interest in workload consolidation via virtualization for real-time systems. Meanwhile, due to virtualization, additional overhead from intervention of hypervisor increases the execution time of applications running on virtual machine. The increase in execution time decreases the performance of workloads on virtual machines, thus satisfying real-time requirements are not easy. To resolve the problem, we designed and implemented a hypervisor (the K-Hypervisor) that allows programs on virtual machines to access the physical resources, without intervention of the hypervisor. Experimental results show that programs running on K-Hypervisor increase their execution time by about 3% on an average, compared to the native environment. Moreover, it is suitable for real-time workload execution because of its uniform performance degradation, regardless of the resources accessed from tasks, and the frequency it is accessed.

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

  • Jung, Jooyoung;Kim, Eunyoung;Shin, Dongha
    • IEMEK Journal of Embedded Systems and Applications
    • /
    • 제12권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.

On Benchmarking of Real-time Mechanisms in Various Periodic Tasks for Real-time Embedded Linux (실시간 임베디드 리눅스에서 다양한 주기적 타스크의 실시간 메커니즘 성능 분석)

  • Koh, Jae-Hwan;Choi, Byoung-Wook
    • The Journal of Korea Robotics Society
    • /
    • 제7권4호
    • /
    • pp.292-298
    • /
    • 2012
  • It is a real-time system that the system correctness depends not only on the correctness of the logical result of the computation but also on the result delivery time. Real-time Operating System (RTOS) is a software that manages the time of a microprocessor to ensure that the most important code runs first so that it is a good building block to design the real-time system. The real-time performance is achieved by using real-time mechanisms through data communication and synchronization of inter-task communication (ITC) between tasks. Therefore, test on the response time of real-time mechanisms is a good measure to predict the performance of real-time systems. This paper aims to analysis the response characteristics of real-time mechanisms in kernel space for real-time embedded Linux: RTAI and Xenomai. The performance evaluations of real-time mechanism depending on the changes of task periods are conducted. Test metrics are jitter of periodic tasks and response time of real-time mechanisms including semaphore, real-time FIFO, Mailbox and Message queue. The periodicity of tasks is relatively consistent for Xenomai but RTAI reveals smaller jitter as an average result. As for real-time mechanisms, semaphore and message transfer mechanism of Xenomai has a superior response to estimate deterministic real-time task execution. But real-time FIFO in RTAI shows faster response. The results are promising to estimate deterministic real-time task execution in implementing real-time systems using real-time embedded Linux.

Fine-Grain Real-Time Code Scheduling for VLIW Architecture

  • Chung, Tai M.;Hwang, Dae J.
    • Journal of Electrical Engineering and information Science
    • /
    • 제1권1호
    • /
    • pp.118-128
    • /
    • 1996
  • In safety critical hard real-time systems, a timing fault may yield catastrophic results. In order to eliminate the timing faults from the fast responsive real-time control systems, it is necessary to schedule a code based on high precision timing analysis. Further, the schedulability enhancement by having multiple processors is of wide spread interest. However, although an instruction level parallel processing is quite effective to improve the schedulability of such a system, none of the real-time applications employ instruction level parallel scheduling techniques because most of the real-time scheduling models have not been designed for fine-grain execution. In this paper, we present a timing constraint model specifying high precision timing constraints, and a practical approach for constructing static schedules for a VLIW execution model. The new model and analysis can guarantee timing accuracy to within a single machine clock cycle.

  • PDF

Exploiting Static Non-Uniform Cache Architectures for Hard Real-Time Computing

  • Ding, Yiqiang;Zhang, Wei
    • Journal of Computing Science and Engineering
    • /
    • 제9권4호
    • /
    • pp.177-189
    • /
    • 2015
  • High-performance processors using Non-Uniform Cache Architecture (NUCA) are increasingly used to deal with the growing wire delays in multicore/manycore processors. Due to the convergence of high-performance computing with embedded computing, NUCA caches are expected to benefit high-end embedded systems as well. However, for real-time systems that use multicore processors with NUCA caches, it is crucial to bound worst-case execution time (WCET) accurately and safely. In this paper, we developed a WCET analysis approach by considering the effect of static NUCA caches on WCET. We compared the WCET in real-time applications with different topologies of static NUCA caches. Our experimental results demonstrated that the static NUCA cache could improve the worst-case performance of realtime applications using multicore processor compared to the cache with uniform access time.