Multitasking Support For Embedded Systems Using Phantom Serializing Compiler

Words
632 (1 page)
Downloads
33
Download for Free
Important: This sample is for inspiration and reference only

Table of contents

Introduction

The complexity of the software programs in embedded systems is growing rapidly and so are the functionalities and design challenges. There is a dire need for concurrent programming and inherent concurrency in the embedded software domains to achieve the demands. These systems are always designed for a specific purpose, to obtain the requisite performance concerning timing, memory, and power. To provide a specific solution to a customer, appropriate toolchains and cross compilers are supplied along with the embedded processors but to support a multitasking design, an OS (Operating System) support is required for communication and synchronization. Adding an extra OS layer to each processor specific to the consumer needs is a high-cost solution, in terms of money, accuracy, and time. Hence this Phantom compiling method fills the gap of an OS by compiling the multitasking C program to a single-threaded ANSI C program. This single-threaded program will run accurately without the OS and compiled by the existing embedded processor toolchains.

No time to compare samples?
Hire a Writer

✓Full confidentiality ✓No hidden charges ✓No plagiarism

This technical review is based on 2 IEEE papers,1 patent, and 1 technical report about the research results obtained on Phantom Serializing compilers and their contribution to the world of embedded systems.

Working

This research work is based on compiler technology that supports the existing compilers, making them aware of time and task distribution, thus enhancing the embedded system into an OS-independent entity. The compiler’s work is explained with the help of a multithreaded C code, which is divided into non-preemptive code blocks called Atomic Execution Blocks (ABC). All these atomic blocks form an AEB graph and thus are executed by the scheduler present in the Phantom system library. The library also consists of synchronization APIs and specific data structures. IEEE paper on ‘Phantom - A serializing compiler’ gives a detailed explanation of the code partitioning and the parameters to be considered for dividing the code into ABC. The theory also briefly describes the scheduler’s work and how each AEB is scheduled and is converted to a sequential C code. It explains the strategy for clustering and how the compiler searches for the Pareto-Optimal set of partitions with a balanced tradeoff latency, the overhead caused by task switching, and other parameters. IEEE paper on ‘Lightweight Multitasking Support for embedded systems’ gives a brief on the architecture of the compiler with the additional detailed explanation on the memory allocated to the phantomized (partitioned) functions in the stack. These papers show the experimental results on how the serializing compilers are ideal for multithreaded and parallel applications because of their efficiency.

Experimental Results

Evaluation of the phantom approach was done on UltraSPARC-IIe workstation of processor frequency 500MHz, 256Mb RAM and Solaris OS. In case 1, execution time was measured for the same code, with and without the phantom infrastructure, keeping tasks at the same priority. Measurements are taken for various metrics like full, short, and mixed context switch, task creation, mutex lock, and task join. These papers also provide data on the execution time, response time, and multitasking overhead for eight different multitasking applications like multiple client-server applications, classical consumer-producer problems, and other similar multitasking applications. From all the data available for these metrics, the execution time for the Phantom approach is 2 to 3 times faster than standard UNIX/POSIX implementation and reduced response time as well as multitasking overhead.

Conclusion

With the increased competition in the market, the two big potential problems, lowering the cost and giving higher functionality in products, can be met by switching to lesser hardware and more intelligent software. Unlike toolchains, operating systems are not easily available for customized embedded systems. Hence this solution, the phantom serializing compiler is an extremely efficient way of implementing multitasking and more complicated source codes by translating them to a platform-independent single-threaded ANSI-C program, which can be used directly at any target embedded processor, filling the missing gap of an OS.

You can receive your plagiarism free paper on any topic in 3 hours!

*minimum deadline

Cite this Essay

To export a reference to this article please select a referencing style below

Copy to Clipboard
Multitasking Support For Embedded Systems Using Phantom Serializing Compiler. (2021, July 15). WritingBros. Retrieved March 28, 2024, from https://writingbros.com/essay-examples/multitasking-support-for-embedded-systems-using-phantom-serializing-compiler/
“Multitasking Support For Embedded Systems Using Phantom Serializing Compiler.” WritingBros, 15 Jul. 2021, writingbros.com/essay-examples/multitasking-support-for-embedded-systems-using-phantom-serializing-compiler/
Multitasking Support For Embedded Systems Using Phantom Serializing Compiler. [online]. Available at: <https://writingbros.com/essay-examples/multitasking-support-for-embedded-systems-using-phantom-serializing-compiler/> [Accessed 28 Mar. 2024].
Multitasking Support For Embedded Systems Using Phantom Serializing Compiler [Internet]. WritingBros. 2021 Jul 15 [cited 2024 Mar 28]. Available from: https://writingbros.com/essay-examples/multitasking-support-for-embedded-systems-using-phantom-serializing-compiler/
Copy to Clipboard

Need writing help?

You can always rely on us no matter what type of paper you need

Order My Paper

*No hidden charges

/