Worst-case execution time

The worst-case execution time (WCET) of a computational task is the maximum length of time the task could take to execute on a specific hardware platform.

What it is used for

Worst case execution time is typically used in reliable real-time systems, where understanding the worst case timing behaviour of software is important for reliability or correct functional behaviour.

As an example, a computer system that controls the behaviour of an engine in a vehicle might need to respond to inputs within a specific amount of time. One component that makes up the response time is the time spent executing the software – hence if the software worst case execution time can be determined, then the designer of the system can use this with other techniques such as schedulability analysis to ensure that the system responds fast enough.

While WCET is potentially applicable to many real-time systems, in practice an assurance of WCET is mainly used by real-time systems that are related to high reliability or safety. For example, in airborne software some attention to software is required by DO178C section 6.3.4. The increasing use of software in automotive systems is also driving the need to use WCET analysis of software.

In the design of some systems, WCET is often used as an input to schedulability analysis, although a much more common use of WCET in critical systems is to ensure that the pre-allocated timing budgets in a partition-scheduled system such as ARINC 653 are not violated.

Calculation

Since the early days of embedded computing, embedded software developers have either used:

  • end-to-end measurements of code, for example performed by setting an I/O pin on the device to high at the start of the task, and to low at the end of the task and using a logic analyzer to measure the longest pulse width, or by measuring within the software itself using the processor clock or instruction count.
  • manual static analysis techniques such as counting assembler instructions for each function, loop etc. and then combining them.

Both of these techniques have limitations. End to end measurements place a high burden on software testing to achieve the longest path; counting instructions is only applicable to simple software and hardware. In both cases, a margin for error is often used to account for untested code, hardware performance approximations or mistakes. A margin of 20% is often used, although there is very little justification used for this figure, save for historical confidence ("it worked last time").

As software and hardware have increased in complexity, they have driven the need for tool support. Complexity is increasingly becoming an issue in both static analysis and measurements. It is difficult to judge how wide the error margin should be and how well tested the software system is. System safety arguments based on a high-water mark achieved during testing are widely used, but become harder to justify as the software and hardware become less predictable.

In the future, it is likely that a requirement for safety critical systems is that they are analyzed using both static and measurement-based approaches.[citation needed]

Considerations

The problem of finding WCET by analysis is equivalent to the halting problem and is therefore not solvable in the general. Fortunately, for the kind of systems that engineers typically want to find WCET for, the software is typically well structured, will always terminate and is analyzable.

Most methods for finding a WCET involve approximations (usually a rounding upwards when there are uncertainties) and hence in practice the exact WCET itself is often regarded as unobtainable. Instead, different techniques for finding the WCET produce estimates for the WCET.[1] Those estimates are typically pessimistic, meaning that the estimated WCET is known to be higher than the real WCET (which is usually what is desired). Much work on WCET analysis is on reducing the pessimism in analysis so that the estimated value is low enough to be valuable to the system designer.

WCET analysis usually refers to the execution time of single thread, task or process. However, on modern hardware, especially multi-core, other tasks in the system will impact the WCET of a given task if they share cache, memory lines and other hardware features. Further, task scheduling events such as blocking or to be interruptions should be considered in WCET analysis if they can occur in a particular system. Therefore, it is important to consider the context in which WCET analysis is applied.

Automated approaches

There are many automated approaches to calculating WCET beyond the manual techniques above. These include:

  • analytical techniques to improve test cases to increase confidence in end to end measurements
  • static analysis of the software (“static” meaning without executing the software).
  • combined approaches, often referred to as “hybrid” analysis, being a combination of measurements and structural analysis

Static analysis techniques

A static WCET tool attempts to estimate WCET by examining the computer software without executing it directly on the hardware. Static analysis techniques have dominated research in the area since the late 1980s, although in an industrial setting, end-to-end measurements approaches were the standard practice.

Static analysis tools work at a high-level to determine the structure of a program's task, working either on a piece of source code or disassembled binary executable. They also work at a low-level, using timing information about the real hardware that the task will execute on, with all its specific features. By combining those two kinds of analysis, the tool attempts to give an upper bound on the time required to execute a given task on a given hardware platform.

At the low-level, static WCET analysis is complicated by the presence of architectural features that improve the average-case performance of the processor: instruction/data caches, branch prediction and instruction pipelines, for example. It is possible, but increasingly difficult, to determine tight WCET bounds if these modern architectural features are taken into account in the timing model used by the analysis.

Certification authorities such as the European Aviation Safety Agency, therefore, rely on model validation suites. [citation needed]

Static analysis has resulted in good results for simpler hardware, however a possible limitation of static analysis is that the hardware (the CPU in particular) has reached a complexity which is extremely hard to model. In particular, the modelling process can introduce errors from several sources: errors in chip design, lack of documentation, errors in documentation, errors in model creation; all leading to cases where the model predicts a different behavior to that observed on real hardware. Typically, where it is not possible to accurately predict a behavior, a pessimistic result is used, which can lead to the WCET estimate being much larger than anything achieved at run-time.

Obtaining tight static WCET estimation is particularly difficult on multi-core processors.

There are a number of commercial and academic tools that implement various forms of static analysis.

Measurement and hybrid techniques

Measurement-based and hybrid approaches usually try to measure the execution times of short code segments on the real hardware, which are then combined in a higher level analysis. Tools take into account the structure of the software (e.g. loops, branches), to produce an estimate of the WCET of the larger program. The rationale is that it's hard to test the longest path in complex software, but it is easier to test the longest path in many smaller components of it. A worst case effect needs only to be seen once during testing for the analysis to be able to combine it with other worst case events in its analysis.

Typically, the small sections of software can be measured automatically using techniques such as instrumentation (adding markers to the software) or with hardware support such as debuggers, and CPU hardware tracing modules. These markers result in a trace of execution, which includes both the path taken through the program and the time at which different points were executed. The trace is then analyzed to determine the maximum time that each part of the program has ever taken to execute, what the maximum observed iteration time of each loop is and whether there are any parts of the software that are untested (Code coverage).

Measurement-based WCET analysis has resulted in good results for both simple and complex hardware, although like static analysis it can suffer excessive pessimism in multi-core situations, where the impact of one core on another is hard to define. A limitation of measurement is that it relies on observing the worst-case effects during testing (although not necessarily at the same time). It can be hard to determine if the worst case effects have necessarily been tested.

There are a number of commercial and academic tools that implement various forms of measurement-based analysis.

Research

The most active research groups are in USA (American Michigan University ), Sweden (Mälardalen, Linköping), Germany (Saarbrücken, Dortmund, Braunschweig), France (Toulouse, Saclay, Rennes), Austria (Vienna), UK (University of York and Rapita Systems Ltd), Italy (Bologna), Spain (Cantabria, Valencia), and Switzerland (Zurich). Recently, the topic of code-level timing analysis has found more attention outside of Europe by research groups in the US (North Carolina, Florida), Canada, Australia, Bangladesh(MBI LAB and RDS), Kingdom of Saudi Arabia-UQU(HISE LAB), Singapore and India (IIT Madras, IISc Bangalore).

WCET Tool Challenge

The first international WCET Tool Challenge took place during the autumn of 2006. It was organized by the University of Mälardalen and sponsored by the ARTIST2 Network of Excellence on Embedded Systems Design. The aim of the Challenge was to inspect and to compare different approaches in analyzing the worst-case execution time. All available tools and prototypes able to determine safe upper bounds for the WCET of tasks have participated. The final results[2] were presented in November 2006 at the ISoLA 2006 International Symposium in Paphos, Cyprus.

A second Challenge took place in 2008.[3]

See also

References

  1. ^ "The worst-case execution-time problem—overview of methods and survey of tools", Wilhelm, Reinhard, et al., ACM Transactions on Embedded Computing Systems (TECS), Vol. 7, No. 3, 2008.
  2. ^ "Archived copy" (PDF). Archived from the original (PDF) on 2011-10-01. Retrieved 2010-08-15.{{cite web}}: CS1 maint: archived copy as title (link)
  3. ^ "WCET Challenge 2008". Archived from the original on 2012-02-16. Retrieved 2008-08-16.

Articles and white papers

Read other articles:

AmsterdamIbu kota dan MunisipalitasSearah jarum jam: Kanal di Amsterdam, Bandara Internasional Schiphol, Istana Raja, Zuidas, De Wallen, Rijksmuseum, dan Museum Maritim Nasional. BenderaLambang kebesaranLogoJulukan: Mokum, Venesia di UtaraMotto: Heldhaftig, Vastberaden, Barmhartig(Berani, Tegar, Penyayang)Letak kota AmsterdamNegara BelandaProvinsiHolland UtaraMetropolisAmsterdam RayaCOROPAmsterdamBorough 8 distrik CentrumNoordNieuw-WestOostWestZuidZuidoostWestpoort Pemerintahan...

 

Halaman ini berisi artikel tentang kartu pintar nirkontak yang digunakan di Jepang. Untuk kegunaan lain, lihat Suica (disambiguasi). SuicaLokasiWilayah Kantō, Kawasan Sendai, Kawasan NiigataDiluncurkan8 April–8 Juli 2001: diuji coba di 57 stasiun; 18 November 2001, resmi diluncurkan di 424 stasiunTeknologiFeliCaManagerJR EastMata uangYen Jepang (¥20.000 maximum load)Nilai yang tersimpanSesuai kebutuhan penggunaKadaluarsa KartuSepuluh tahun setelah penggunaan pertama[1]ValiditasJR...

 

artikel ini tidak memiliki pranala ke artikel lain. Tidak ada alasan yang diberikan. Bantu kami untuk mengembangkannya dengan memberikan pranala ke artikel lain secukupnya. (Pelajari cara dan kapan saatnya untuk menghapus pesan templat ini) Atlas I sistem peluncuran expendable (sekali pakai) Amerika, yang digunakan pada 1990-an untuk meluncurkan berbagai satelit yang berbeda. I dalam Atlas I dapat menyebabkan kebingungan, karena semua roket Atlas sebelumnya ditunjuk menggunakan huruf, berakhi...

RoundaboutSampul perilisan singel di Belanda.Singel oleh Yesdari album FragileSisi-BLong Distance RunaroundDirilis4 Januari 1972 (AS)[1][2]DirekamAugust–September 1971[3]StudioAdvision, Fitzrovia, LondonGenreRok progresif[4][5]Durasi 8:29 (versi album) 3:27 (singel) LabelAtlanticPenciptaJon AndersonSteve HoweProduserEddy OffordYesKronologi singel Yes Your Move (1971) Roundabout (1972) America (1972) Roundabout adalah sebuah lagu karya grup musik rok p...

 

Cet article est une ébauche concernant le sport. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations du projet sport. Le Comité national olympique d'Afghanistan (en dari, کمیته ملی المپیک افغانستان, en anglais, Afghanistan National Olympic Committee), créé en 1935 et reconnu par le Comité international olympique en 1936, est le comité national olympique d'Afghanistan. Présentation La première délégation olympiq...

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Februari 2023. Rock 'N' CountryAlbum studio karya Freddy FenderDirilis1976GenreTejano Rock 'N' Country adalah album penyanyi Freddy Fender. Album ini dirilis tahun 1976. Daftar lagu Vaya con Dios You'll Lose a Good Thing I Need You So Mathilda My Happiness Just ...

FBI beralih ke halaman ini. Untuk kegunaan lain, lihat FBI (disambiguasi). Penyuntingan Artikel oleh pengguna baru atau anonim untuk saat ini tidak diizinkan.Lihat kebijakan pelindungan dan log pelindungan untuk informasi selengkapnya. Jika Anda tidak dapat menyunting Artikel ini dan Anda ingin melakukannya, Anda dapat memohon permintaan penyuntingan, diskusikan perubahan yang ingin dilakukan di halaman pembicaraan, memohon untuk melepaskan pelindungan, masuk, atau buatlah sebuah akun. Federa...

 

Family of mammals Rhino redirects here. For other uses, see Rhinoceros (disambiguation) and Rhino (disambiguation). RhinocerosTemporal range: Eocene–Present PreꞒ Ꞓ O S D C P T J K Pg N Rhinoceros species of different genera; from top-left, clockwise: white rhinoceros (Ceratotherium simum), Sumatran rhinoceros (Dicerorhinus sumatrensis), Indian rhinoceros (Rhinoceros unicornis), black rhinoceros (Diceros bicornis) Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Chor...

 

Rottole Stato Italia Regione Lombardia Provincia Milano Città Milano CircoscrizioneMunicipi 2 e 3 Altri quartieri Porta Nuova · Stazione Centrale · Loreto · Turro · Crescenzago · Quartiere Adriano · Gorla · Precotto · Ponte Seveso · Maggiolina · Mirabello · Villaggio dei Giornalisti · Greco · Nolo* Porta Venezia · Porta Monforte · Acquabella · Casoretto · Cimiano · Citt�...

Questa voce sugli argomenti allenatori di pallacanestro statunitensi e cestisti statunitensi è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti dei progetti di riferimento 1, 2. Summer Erb Nazionalità  Stati Uniti Altezza 198 cm Peso 109 kg Pallacanestro Ruolo CentroAllenatrice Termine carriera 2006 - giocatrice2013 - allenatrice CarrieraGiovanili Lakewood High School1995-1996 Purdue Boilerm.1997-2000 NCSU WolfpackSqu...

 

Sidik Kertapati Anggota Dewan Perwakilan RakyatMasa jabatan1950 – 26 Juni 1960PresidenSoekarno Informasi pribadiLahir(1920-04-19)19 April 1920Klungkung, Bali, Hindia BelandaMeninggal2 Juli 2007(2007-07-02) (umur 87)Jakarta, IndonesiaKebangsaanIndonesiaPartai politikPartai Komunis IndonesiaSuami/istriSiti Rukiah ​(m. 1952)​Anak6Sunting kotak info • L • B Sidik Kertapati (19 April 1920 – 2 Juli 2007) adalah seorang anggo...

 

Lima solaReformasi Protestan Sola scriptura Sola fide Sola gratia Solus Christus Soli Deo glorialbs Martin Luther, pencetus sola scriptura Bagian dari seri tentangGereja LutheranMawar Luther Concordia Pengakuan Iman Rasuli Pengakuan Iman Nicea Pengakuan Iman Atanasius Pengakuan Iman Augsburg Apologia Pengakuan Iman Augsburg Katekismus Besar Katekismus Kecil Pokok-Pokok Iman Schmalkalden Risalah Tentang Kewenangan dan Keutamaan Paus Rumusan Concordia Teologi Teologi Martin Luther Pembenaran Hu...

此條目需要补充更多来源。 (2021年7月4日)请协助補充多方面可靠来源以改善这篇条目,无法查证的内容可能會因為异议提出而被移除。致使用者:请搜索一下条目的标题(来源搜索:美国众议院 — 网页、新闻、书籍、学术、图像),以检查网络上是否存在该主题的更多可靠来源(判定指引)。 美國眾議院 United States House of Representatives第118届美国国会众议院徽章 众议院旗...

 

Pertempuran AsculumBagian dari the Perang PirrosTempat-tempat penting dalam Perang PirrosTanggal279 SMLokasiAsculum, Ascoli Satriano medern, Apulia, ItaliaHasil Kemenangan Pirros YunaniPihak terlibat Republik Romawi Epiros,Yunani BesarTokoh dan pemimpin Publius Decius Mus Pirros dari EpirosKekuatan 40,000 kavaleri dan infantri,300 senjata anti-gajah 40,000 kavaleri dan infantri,20 gajah perangKorban 8,000 terbunuh 3,000 terbunuh Pertempuran Asculum (atau Ausculum)[1] adalah pertempura...

 

Municipality in Pampanga, Philippines Municipality in Central Luzon, PhilippinesSan SimonMunicipalityMunicipality of San SimonDowntown area SealMap of Pampanga with San Simon highlightedOpenStreetMapSan SimonLocation within the PhilippinesCoordinates: 14°59′53″N 120°46′48″E / 14.998°N 120.78°E / 14.998; 120.78CountryPhilippinesRegionCentral LuzonProvincePampangaDistrict 4th districtFoundedNovember 15, 1771Named forSimón de Anda y Salazar Saint PeterBaranga...

Executive Order No. 8802, Fair Employment Practice in Defense Industries Franklin D. Roosevelt's relationship with Civil Rights was a complicated one. While he was popular among African Americans, Catholics and Jews, he has in retrospect received heavy criticism for the ethnic cleansing of Mexican Americans in the 1930s known as the Mexican Repatriation and his internment of Japanese Americans during the Second World War. From its creation under the National Housing Act of 1934 signed into l...

 

Programming language that uses first order logic This article is about the programming language. For the narrative device, see Prologue. For other uses, see Prologue (disambiguation). PrologParadigmLogicDesigned byAlain ColmerauerFirst appeared1972; 52 years ago (1972)Stable releasePart 1: General core-Edition 1 (June 1995; 29 years ago (1995-06))Part 2: Modules-Edition 1 (June 2000; 24 years ago (2000-06)) Typing disci...

 

  لمعانٍ أخرى، طالع نسر (توضيح). الآلهة العربية قبل الإسلام الآلهة التدمرية بل يرحبول عجليبوول نبو بعل شمين بعل حمون مناة اللات أرصو عزيزو أترعتا شيع القوم الآلهة النبطية اللات ذو الشرى العزى مناة شيع القوم الكتبى آلهة الصفويين والثموديين واللحيانيين الله اللات ذو ال�...

Village in Mozhaysky District, Moscow Oblast, Russia For other places with the same name, see Borodino. Village in RussiaBorodinoVillageBorodinoShow map of Moscow OblastBorodinoShow map of RussiaCoordinates: 55°32′N 35°49′E / 55.533°N 35.817°E / 55.533; 35.817CountryRussia The main monument to the Battle of Borodino The Kutuzov Obelisk in Borodino The Flag of Borodinskoye Rural Settlement, of which the village of Borodino is the administrative centre The Borodi...

 

British Royal Air Force pilot Bill LoxtonWilfrid William (Bill) LoxtonBorn(1909-01-20)20 January 1909Gretton, GloucestershireDied2 November 1992(1992-11-02) (aged 83)Puddletown, DorsetAllegiance United KingdomYears of service1928–1933, 1939–1946RankSquadron leaderUnitNo. 25 Squadron RAFBattles/warsSecond World War: Battle of Britain Wilfrid William Loxton (20 January 1909 – 2 November 1992), known as Bill Loxton, was a British Royal Air Force pilot during the Battle of Britain...