Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Finding strategies for executing Ada-code in real-time on Linux using an embedded computer.
KTH, School of Industrial Engineering and Management (ITM), Machine Design (Dept.).
2016 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

A combination of Ada, real-time Linux and an embedded computer is a costeective solution that accommodates most of the demands of embedded systemsdevelopment or prototyping. Linux in its standard conguration is not suitablefor real-time applications, but there exists solutions that modies it to be morereal-time capable. The question is, what modication is the optimal one froman Ada perspective? To answer this, a literature study has been conducted toidentify solutions, followed by an analysis that gures out the most promisingone. The selected solution has then been further evaluated and veried by benchmarksand tests running on a BeagleBone Black.The evaluation results shows that the PREEMPT_RT real-time patches for Linuxis the optimal solution for enabling real-time execution of Ada code. Two otherpromising solutions were Xenomai and RTAI, they provide better performancein terms of lower latencies but does not have full Ada support and requires codeto be specically targeted to their solutions compared to PREEMPT_RT that istransparent to the user.The worst case latencies for PREEMPT_RT were measured with Cyclictest whilethe system was stressed by using Sysbench, Hackbench and ping ooding. Thetests stressed dierent part of the system, e.g CPU, memory and le IO, making itpossible to determine howsensitive the latencies are to dierent types of applications.Two of the tests stood out from the others, the ping ood and the SysbenchThread-test. When pinging the system the worst case latencies were 364 µs, inthe order of three times higher than the other loads. The other deviating resultwas observed when the system was loaded using the Sysbench Thread-test, thelatencies were actually lower compared to the unloaded system, 62 µs versus 90µs. The reason for this is dicult to determine due to the size and complexity ofLinux, it would require a deeper analysis of the kernel code.PREEMPT_RT allows existing applications for Linux to run without modicationto the source code which makes it attractive for developing mixed type systemsthat require real-time predictability, general purpose exibility and highthroughput. It is a cost-eective solution that could be used for teaching Adaand making prototypes that don’t require the highest levels of safety certication.The latencies are not low enough to accommodate the demands of all systems,but many systems require latencies only to be in the order of milliseconds,which this solution would be suitable for.

Abstract [sv]

En kombination av Ada, realtids-Linux och en enkortsdator är en kostnadseektivlösning som möter de esta av behoven för utveckling och prototypframtagninginom inbyggda system. Linux är i sin standardkonguration inte lämpligför realtidsapplikationer, men det nns lösningar som gör Linux mer realtids anpassat.Frågan är, vilken lösning är den optimala från ett Ada perspektiv? För attsvara på detta har en litteraturstudie utförts för att identiera olika lösningar,följt av en analys som tar fram den mest lovande. Den utvalda lösningen har sedanutvärderats och verierats genom tester som körts på en BeagleBone Black.Utvärderingen visar att lösningen PREEMPT_RT för Linux är den optimala förrealtids-exekvering av kod skriven i Ada. Två andra lovande lösningar är Xenomaioch RTAI, de uppvisar bättre prestanda genom kortare fördröjningar. Mende har inte fullt stöd för Ada och kräver att kod anpassas för deras lösning tillskillnad från PREEMPT_RT som är transparent för användaren.Fördröjningarna för PREEMP_RT mättes upp med Cyclictest samtidigt som systemetbelastades av Sysbench, Hackbench och ’ping ooding’. Testerna belastadeolika delar av systemet, till exempel CPUn, minnet och l-IO, vilket gör detmöjligt att bestämma hur känsligt systemet är för olika typer av applikationer.Två test särskilde sig från de andra, ’ping ooding’ och Sysbench Thread-test.När systemet pingades mättes fördröjningarna upp till 364 µs, i storleksordningentre gånger högre jämfört med de andra testerna. Det andra utmärkande testetvar när Sysbench Thread-testet kördes, fördröjningarna var oväntat nog mindrejämfört med det obelastade systemet, 62 µs respektive 90 µs. Anledningen till detär svårt att avgöra på grund av storleken och komplexiteten av Linux, det skullekräva en djupare analys av Linux-kärnan.PREEMPT_RT tillåter att bentliga applikation för Linux att köras utan förändringarav källkoden vilket gör lösning attraktiv för utveckling av system somkräver realtidsegenskaper, exibilitet och hög prestanda. Det är en kostnadseffektivlösning som kan användas för utbilding i Ada och utveckling av prototypersom inte kräver högsta nivån av säkerhetscertiering. Fördröjningarna är intetillräckligt låga för att kunna möta kraven för alla system, men ofta är kraven istorleksordningen av millisekunder, vilket den här lösningen skulle vara lämpligför.

Place, publisher, year, edition, pages
2016. , 102 p.
Series
MMK 2016:12 MDA524
National Category
Mechanical Engineering
Identifiers
URN: urn:nbn:se:kth:diva-187735OAI: oai:DiVA.org:kth-187735DiVA: diva2:931386
Supervisors
Examiners
Available from: 2016-05-27 Created: 2016-05-27 Last updated: 2016-05-27Bibliographically approved

Open Access in DiVA

fulltext(1700 kB)283 downloads
File information
File name FULLTEXT01.pdfFile size 1700 kBChecksum SHA-512
3e3715cea4604505a7139334f3ff8b479ff29cff212e75e5de858a32873d64d2708b25950d4ddb58e466143b9874bfd246d73df57d8afaf485cbf659418ff82b
Type fulltextMimetype application/pdf

By organisation
Machine Design (Dept.)
Mechanical Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 283 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 100 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf