30 research outputs found
Embedded System Design
A unique feature of this open access textbook is to provide a comprehensive introduction to the fundamental knowledge in embedded systems, with applications in cyber-physical systems and the Internet of things. It starts with an introduction to the field and a survey of specification models and languages for embedded and cyber-physical systems. It provides a brief overview of hardware devices used for such systems and presents the essentials of system software for embedded systems, including real-time operating systems. The author also discusses evaluation and validation techniques for embedded systems and provides an overview of techniques for mapping applications to execution platforms, including multi-core platforms. Embedded systems have to operate under tight constraints and, hence, the book also contains a selected set of optimization techniques, including software optimization techniques. The book closes with a brief survey on testing. This fourth edition has been updated and revised to reflect new trends and technologies, such as the importance of cyber-physical systems (CPS) and the Internet of things (IoT), the evolution of single-core processors to multi-core processors, and the increased importance of energy efficiency and thermal issues
Embedded System Design
A unique feature of this open access textbook is to provide a comprehensive introduction to the fundamental knowledge in embedded systems, with applications in cyber-physical systems and the Internet of things. It starts with an introduction to the field and a survey of specification models and languages for embedded and cyber-physical systems. It provides a brief overview of hardware devices used for such systems and presents the essentials of system software for embedded systems, including real-time operating systems. The author also discusses evaluation and validation techniques for embedded systems and provides an overview of techniques for mapping applications to execution platforms, including multi-core platforms. Embedded systems have to operate under tight constraints and, hence, the book also contains a selected set of optimization techniques, including software optimization techniques. The book closes with a brief survey on testing. This fourth edition has been updated and revised to reflect new trends and technologies, such as the importance of cyber-physical systems (CPS) and the Internet of things (IoT), the evolution of single-core processors to multi-core processors, and the increased importance of energy efficiency and thermal issues
Scratchpad Memory Management For Multicore Real-Time Embedded Systems
Multicore systems will continue to spread in the domain of real-time embedded systems due to the increasing need for high-performance applications. This research discusses some of the challenges associated with employing multicore systems for safety-critical real-time applications. Mainly, this work is concerned with providing: 1) efficient inter-core timing isolation for independent tasks, and 2) predictable task communication for communicating tasks.
Principally, we introduce a new task execution model, based on the 3-phase execution model, that exploits the Direct Memory Access (DMA) controllers available in modern embedded platforms along with ScratchPad Memories (SPMs) to enforce strong timing isolation between tasks. The DMA and the SPMs are explicitly managed to pre-load tasks from main memory into the local (private) scratchpad memories. Tasks are then executed from the local SPMs without accessing main memory. This model allows CPU execution to be overlapped with DMA loading/unloading operations from and to main memory. We show that by co-scheduling task execution on CPUs and using DMA to access memory and I/O, we can efficiently hide access latency to physical resources. In turn, this leads to significant improvements in system schedulability, compared to both the case of unregulated contention for access to physical resources and to previous cache and SPM management techniques for real-time systems.
The presented SPM-centric scheduling algorithms and analyses cover single-core, partitioned, and global real-time systems. The proposed scheme is also extended to support large tasks that do not fit entirely into the local SPM. Moreover, the schedulability analysis considers the case of recovering from transient soft errors (bit flips caused by a single event upset) in several levels of memories, that cannot be automatically corrected in hardware by the ECC unit. The proposed SPM-centric scheduling is integrated at the OS level; thus it is transparent to applications. The proposed scheme is implemented and evaluated on an FPGA platform and a Commercial-Off-The-Shelf (COTS) platform.
In regards to real-time task communication, two types of communication are considered. 1) Asynchronous inter-task communication, between either sequential tasks (single-threaded) or parallel tasks (multi-threaded). 2) Intra-task communication, where parallel threads of the same application exchange data. A new task scheduling model for parallel tasks (Bundled Scheduling) is proposed to facilitate intra-task communication and reduce synchronization overheads. We show that the proposed bundled scheduling model can be applied to several parallel programming models, such as fork-join and DAG-based applications, leading to improved system schedulability. Finally, intra-task communication is governed by a predictable inter-core communication platform. Specifically, we propose HopliteRT, a lean and predictable Network-on-Chip that connects the private SPMs
Compilation de systèmes temps réel
I introduce and advocate for the concept of Real-Time Systems Compilation. By analogy with classical compilation, real-time systems compilation consists in the fully automatic construction of running, correct-by-construction implementations from functional and non-functional specifications of embedded control systems. Like in a classical compiler, the whole process must be fast (thus enabling a trial-and-error design style) and produce reasonably efficient code. This requires the use of fast heuristics, and the use of fine-grain platform and application models. Unlike a classical compiler, a real-time systems compiler must take into account non-functional properties of a system and ensure the respect of non-functional requirements (in addition to functional correctness). I also present Lopht, a real-time systems compiler for statically-scheduled real-time systems we built by combining techniques and concepts from real-time scheduling, compilation, and synchronous languages
Proceedings Work-In-Progress Session of the 13th Real-Time and Embedded Technology and Applications Symposium
The Work-In-Progress session of the 13th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS\u2707) presents papers describing contributions both to state of the art and state of the practice in the broad field of real-time and embedded systems. The 17 accepted papers were selected from 19 submissions. This proceedings is also available as Washington University in St. Louis Technical Report WUCSE-2007-17, at http://www.cse.seas.wustl.edu/Research/FileDownload.asp?733. Special thanks go to the General Chairs – Steve Goddard and Steve Liu and Program Chairs - Scott Brandt and Frank Mueller for their support and guidance
Towards a distributed real-time system for future satellite applications
Thesis (MScEng)--University of Stellenbosch, 2003.ENGLISH ABSTRACT: The Linux operating system and shared Ethernet are alternative technologies with the potential to
reduce both the development time and costs of satellites as well as the supporting infrastructure.
Modular satellites, ground stations and rapid proto typing testbeds also have a common
requirement for distributed real-time computation. The identified technologies were investigated
to determine whether this requirement could also be met.
Various real-time extensions and modifications are currently available for the Linux operating
system. A suitable open source real-time extension called Real-Time Application Interface
(RTAI) was selected for the implementation of an experimental distributed real-time system.
Experimental results showed that the RTAI operating system could deliver deterministic realtime
performance, but only in the absence of non-real-time load.
Shared Ethernet is currently the most popular and widely used commercial networking
technology. However, Ethernet wasn't developed to provide real-time performance. Several
methods have been proposed in literature to modify Ethernet for real-time communications. A
token passing protocol was found to be an effective and least intrusive solution. The Real-Time
Token (RTToken) protocol was designed to guarantee predictable network access to
communicating real-time tasks. The protocol passes a token between nodes in a predetermined
order and nodes are assigned fixed token holding times. Experimental results proved that the
protocol offered predictable network access with bounded jitter.
An experimental distributed real-time system was implemented, which included the extension of
the RTAI operating system with the RTToken protocol, as a loadable kernel module. Real-time
tasks communicated using connectionless Internet protocols. The Real-Time networking (RTnet)
subsystem of RTAI supported these protocols. Under collision-free conditions consistent
transmission delays with bounded jitter was measured. The integrated RTToken protocol
provided guaranteed and bounded network access to communicating real-time tasks, with limit
overheads. Tests exhibited errors in some of the RTAI functionality. Overall the investigated
technologies showed promise in being able to meet the distributed real-time requirements of
various applications, including those found in the satellite environment.AFRIKAANSE OPSOMMING: Die Linux bedryfstelsel en gedeelde Ethernet is geïdentifiseer as potensiële tegnologieë vir
satelliet bedryf wat besparings in koste en vinniger ontwikkeling te weeg kan bring. Modulêr
ontwerpte satelliete, grondstasies en ontwikkeling platforms het 'n gemeenskaplike behoefte vir
verspreide intydse verwerking. Verskillende tegnologieë is ondersoek om te bepaal of aan die
vereiste ook voldoen kan word.
Verskeie intydse uitbreidings en modifikasies is huidiglik beskikbaar vir die Linux bedryfstelsel.
Die "Real-Time Application Interface" (RTAI) bedryfstelsel is geïdentifiseer as 'n geskikte
intydse uitbreiding vir die implementering van 'n eksperimentele verspreide intydse stelsel.
Eksperimentele resultate het getoon dat die RTAI bedryfstelsel deterministies en intyds kan
opereer, maar dan moet dit geskied in die afwesigheid van 'n nie-intydse verwerkingslas.
Gedeelde Ethernet is 'n kommersiële network tegnologie wat tans algemeen beskikbaar is. Die
tegnologie is egter nie ontwerp vir intydse uitvoering nie. Verskeie metodes is in die literatuur
voorgestelom Ethernet te modifiseer vir intydse kommunikasie. Hierdie ondersoek het getoon
dat 'n teken-aangee protokol die mees effektiewe oplossing is en waarvan die implementering
min inbreuk maak. Die "Real-Time Token" (RTToken) protokol is ontwerp om voorspelbare
netwerk toegang tot kommunikerende intydse take te verseker. Die protokol stuur 'n teken tussen
nodusse in 'n voorafbepaalde volgorde. Nodusse word ook vaste teken hou-tye geallokeer.
Eksperimentele resultate het aangedui dat die protokol deterministiese netwerk toegang kan
verseker met begrensde variasies.
'n Eksperimentele verspreide intydse stelsel is geïmplementeer. Dit het ingesluit die uitbreiding
van die RTAI bedryfstelsel met die RTToken protokol; verpak as 'n laaibare bedryfstelsel
module. Intydse take kan kommunikeer met verbindinglose protokolle wat deur die "Real-Time
networking" (RTnet) substelsel van RTAI ondersteun word. Onder ideale toestande is konstante
transmissie vertragings met begrensde variasies gemeet. Die integrasie van die RTToken
protokol het botsinglose netwerk toegang aan kommunikerende take verseker, met beperkte
oorhoofse koste as teenprestasie. Eksperimente het enkele foute in die funksionaliteit van RTAI
uitgewys. In die algemeen het die voorgestelde tegnologieë getoon dat dit potensiaal het vir
verskeie verspreide intydse toepassings in toekomstige satelliet en ook ander omgewings
Proceedings of the 5th International Workshop on Reconfigurable Communication-centric Systems on Chip 2010 - ReCoSoC\u2710 - May 17-19, 2010 Karlsruhe, Germany. (KIT Scientific Reports ; 7551)
ReCoSoC is intended to be a periodic annual meeting to expose and discuss gathered expertise as well as state of the art research around SoC related topics through plenary invited papers and posters. The workshop aims to provide a prospective view of tomorrow\u27s challenges in the multibillion transistor era, taking into account the emerging techniques and architectures exploring the synergy between flexible on-chip communication and system reconfigurability