Click here to learn
about this Sponsor:
Home  |  News  |  Articles  |  Polls  |  Forum

Keywords: Match:
Identifying the top requirements for Embedded Linux systems (Part 2)
(continuation)

Part 2: Resource Allocation


Embedded systems, even in their high-end variants, are resource constraint systems by desktop or server standards. At the same time, complexity of operations require many optimization strategies that were designed for server and desktop systems to be utilized in embedded systems as well. As standard GNU/Linux targets interactive usage and optimized average response, some of these strategies are not ideal for embedded systems. Considerations for more predictable resource allocation are required in resource constraint systems -- resources in question being not only RAM and CPU consumption, but also timing and well-defined system response to critical tasks.

Standard Linux

Linux has a record of squeezing a lot of performance out of little or old hardware. This is done by relying extensively on strategies that will favor interactive over non-interactive events. For instance, writes to disk can be delayed substantially and Linux will buffer data and reorder it, writing it in a continuous manner with respect to the disks location, and out of order from the user's standpoint. These and other strategies are well-suited to improve average performance but can potentially introduce substantial delays to a specific tasks execution. This is to say that peak delays of a second or even more can occur in GNU/Linux without this indicating any faulty behavior. As embedded systems are generally resource constraint systems such optimization strategies are an improvement in most cases, but increasing system complexity and the potential of a networked system reaching very high loads (just imagine a network on which many other probably faster systems are broadcasting all kinds of important server announcements . . . ) can degrade the system's response to high priority events dramatically. This is to say that an embedded GNU/Linux system better not have any timing constraints at all and should not rely on the system's catching a specific event. If there are no such constraints with respect to timing, then an embedded system running a scaled down standard GNU/Linux will well suit most purposes and operate very efficiently.

Soft Real-time

There are many definitions floating around what soft-real-time is. I'm not an authority on this section, but give the definition used here to prevent any misunderstandings. Under Soft-real-time a system is capable of responding to a certain class of events with a certain statistical probability and an average delay. There is, however, no guarantee of handling every event, nor is there any guarantee for a maximum worst case delay in the system. In this sense every system is a soft real-time system. Of course, the term is used for systems that have enhanced capabilities in this area. In most cases this will mean:
  • high-resolution timers
  • a high-probability of reacting to a specific class of events. High probability in this sense means 'higher than regular Linux'.
  • low average latency, again low relative to regular Linux.
Soft real-time systems are well-suited for cases where quality depends on average response time and delays, like video-conference and sound processing systems, and if the system will not fail or get into a critical state if the one or other event is lost or delayed strongly. Simply speaking, soft-real-time will improve quality of time related processing problems, but will give you no guarantee. So you can't have safety critical events depend on a soft-real-time system. There are multiple implementations of soft-real-time for Linux, starting out at simply running a thread under the SCHED_FIFO or SCHED_RR scheduling policy in standard Linux all the way to the low-latency kernel patches that make the Linux kernel partially preemptive (please no flames . . . thanks). Soft Real-time variants of Linux include RED Linux, KURT, RK-Linux and the low-latency patch of Ingo Molnar.

Hard Real-time

There are many systems that obviously have hard-real-time requirements, such as control or data-acquisition systems. But there also are a large number of systems that don't have quite so obvious hard-real-time demands: those systems that need to react to special events in a defined small time interval. These systems may be performing non-time-critical tasks in general, but emergency shutdown routines must still be serviced with a very small delay independent of the current machine state.

In such cases, a hard-real-time system is required to guarantee that no such critical event will ever be missed, even if the system goes up to an enormous system load or a user-space application blocks altogether. The criteria for requiring hard-real-time as opposed to soft-real-time are the following:
  • No event of a specific category may be missed under any circumstances (e.g. emergency shutdown procedure)
  • the system should have low latency in response to a specific type of event.
  • periodic events should be generated with a worst case deviation guaranteed.
Note that these three criteria do overlap in a certain respect and could be reduced to a single one, that being to guarantee worst case timing variance of a specific event class, but that's not what I would call a self-explanatory definition.

RTLinux and a derivative of it called RTAI fall into the class of hard-real-time Linux variants (if you know of any others let me know). These are based on three principles:
  • Unconditional Interrupt interception.
  • delivery of non-real-time interrupts to the general-purpose OS as soft-interrupts.
  • Run the general-purpose OS as the idle task of the RTOS.


--- Continued ---



Story navigation . . .

(Click here for further information)


FUEL Database on MontaVista Linux
Whether building a mobile handset, a car navigation system, a package tracking device, or a home entertainment console, developers need capable software systems, including an operating system, development tools, and supporting libraries, to gain maximum benefit from their hardware platform and to meet aggressive time-to-market goals.

Breaking New Ground: The Evolution of Linux Clustering
With a platform comprising a complete Linux distribution, enhanced for clustering, and tailored for HPC, Penguin Computing¿s Scyld Software provides the building blocks for organizations from enterprises to workgroups to deploy, manage, and maintain Linux clusters, regardless of their size.

Data Monitoring with NightStar LX
Unlike ordinary debuggers, NightStar LX doesn¿t leave you stranded in the dark. It¿s more than just a debugger, it¿s a whole suite of integrated diagnostic tools designed for time-critical Linux applications to reduce test time, increase productivity and lower costs. You can debug, monitor, analyze and tune with minimal intrusion, so you see real execution behavior. And that¿s positively illuminating.

Virtualizing Service Provider Networks with Vyatta
This paper highlights Vyatta's unique ability to virtualize networking functions using Vyatta's secure routing software in service provider environments.

High Availability Messaging Solution Using AXIGEN, Heartbeat and DRBD
This white paper discusses a high-availability messaging solution relying on the AXIGEN Mail Server, Heartbeat and DRBD. Solution architecture and implementation, as well as benefits of using AXIGEN for this setup are all presented in detail.

Understanding the Financial Benefits of Open Source
Will open source pay off? Open source is becoming standard within enterprises, often because of cost savings. Find out how much of a financial impact it can have on your organization. Get this methodology and calculator now, compliments of JBoss.

Embedded Hardware and OS Technology Empower PC-Based Platforms
The modern embedded computer is the jack of all trades appearing in many forms.

Data Management for Real-Time Distributed Systems
This paper provides an overview of the network-centric computing model, data distribution services, and distributed data management. It then describes how the SkyBoard integration and synchronization service, coupled with an implementation of the OMG¿s Data Distribution Service (DDS) standard, can be used to create an efficient data distribution, storage, and retrieval system.

7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.

 


Got a HOT tip?   please tell us!
Free weekly newsletter
Enter your email...
Click here for a profile of each sponsor:
PLATINUM SPONSORS
(Become a sponsor)

ADVERTISEMENT
(Advertise here)

Check out the latest Linux powered...

Mobile phones!

MIDs, UMPCs
& tablets

Mobile devices

Other cool
gadgets



BREAKING NEWS

• LiMo to gain FOMA pack
• Quad-core PICMG board runs Linux
• DIY Linux service gains ultralight GUI
• Asus nettop gets discrete graphics
• Mapping the mobile open source ecosystem
• WiMAX deal "clears" Linux for takeoff
• HMI panels run Linux
• Nokia alludes to Linux phone plans
• Linux music phone boasts stereo mini-jack
• Nokia spins open Linux home automation gateway
• Qseven module sports Atom
• Open source phone gains "fat" distro
• Android phone launches in China
• Microsoft to bake own phone?
• Tux cashes in on paint


Most popular stories -- past 90 days:
• Open source phone goes mass-market
• Tinest Linux system, yet?
• Garmin Nav devices run Gnome Linux
• ARM9 board boots Debian in 0.69 seconds
• Low-cost laptop runs Linpus Linux
• Linux-friendly Beagle fetches $150
• Mini Linux PC breaks $100 barrier
• Open source camera records geotagged video to SATA HDD
• Open set-top box ships
• First $100 laptop runs Linux


DesktopLinux headlines:
• Linux gains FPS
• Ubuntu tops on desktop, but not servers
• Browser swallows OS
• Tutorial reveals desktop Linux security tips
• Fedora 10 first impressions
• 8,000 TuxTop models and counting
• "Moonlight" ready to shine
• Adobe unleashes 64-bit Flash
• Debian Lenny installer arrives
• Ubuntu announces ARM port


Also visit our sister site:


Sign up for LinuxDevices.com's...

news feed

Home  |  News  |  Articles  |  Polls  |  Forum  |  About  |  Contact
 

Ziff Davis Enterprise Home | Contact Us | Advertise | Link to Us | Reprints | Magazine Subscriptions | Newsletters
Tech RSS Feeds | White Papers | ROI Calculators | Tech Podcasts | Tech Video | VARs | Channel News

Baseline | Careers | Channel Insider | CIO Insight | DesktopLinux | DeviceForge | DevSource | eSeminars |
eWEEK | Enterprise Network Security | LinuxDevices | Linux Watch | Microsoft Watch | Mid-market | Networking | PDF Zone |
Publish | Security IT Hub | Strategic Partner | Web Buyer's Guide | Windows for Devices

Developer Shed | Dev Shed | ASP Free | Dev Articles | Dev Hardware | SEO Chat | Tutorialized | Scripts |
Code Walkers | Web Hosters | Dev Mechanic | Dev Archives | igrep

Use of this site is governed by our Terms of Service and Privacy Policy. Except where otherwise specified, the contents of this site are copyright © 1999-2008 Ziff Davis Enterprise Holdings Inc. All Rights Reserved. Reproduction in whole or in part in any form or medium without express written permission of Ziff Davis Enterprise is prohibited. Linux is a registered trademark of Linus Torvalds. All other marks are the property of their respective owners.