mdh.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • 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
Determining Maximum Stack Usage in Preemptive Shared Stack Systems
Mälardalen University, Department of Computer Science and Electronics.ORCID iD: 0000-0003-0757-822X
Mälardalen University, Department of Computer Science and Electronics.ORCID iD: 0000-0003-2957-0966
Mälardalen University, Department of Computer Science and Electronics.ORCID iD: 0000-0003-1597-6738
Mälardalen University, Department of Computer Science and Electronics.ORCID iD: 0000-0002-8461-0230
Show others and affiliations
2006 (English)In: Proceedings - Real-Time Systems Symposium, 2006, p. 445-453Conference paper, Published paper (Refereed)
Abstract [en]

This paper presents a novel method to determine the maximum stack memory used in preemptive, shared stack, real-time systems. We provide a general and exact problem formulation applicable for any preemptive system model based on dynamic (run-time) properties. We also show how to safely approximate the exact stack usage by using static (compile time) information about the system model and the underlying run-time system on a relevant and commercially available system model: A hybrid, statically and dynamically, scheduled system.

Comprehensive evaluations show that our technique significantly reduces the amount of stack memory needed compared to existing analysis techniques. For typical task sets a decrease in the order of 70% is typical.

Place, publisher, year, edition, pages
2006. p. 445-453
National Category
Engineering and Technology
Identifiers
URN: urn:nbn:se:mdh:diva-6946DOI: 10.1109/RTSS.2006.18ISI: 000244448800041Scopus ID: 2-s2.0-38949169176ISBN: 9780769527611 (print)OAI: oai:DiVA.org:mdh-6946DiVA, id: diva2:236956
Conference
27th IEEE International Real-Time Systems Symposium, RTSS 2006; Rio de Janeiro; Brazil; 5 December 2006 through 8 December 2006
Available from: 2009-09-25 Created: 2009-09-25 Last updated: 2014-05-30Bibliographically approved
In thesis
1. A Study of Combinatorial Optimization Problems in Industrial Computer Systems
Open this publication in new window or tab >>A Study of Combinatorial Optimization Problems in Industrial Computer Systems
2009 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

A combinatorial optimization problem is an optimization problem where the number of possible solutions are finite and grow combinatorially with the problem size. Combinatorial problems exist everywhere in industrial systems. This thesis focuses on solving three such problems which arise within two different areas where industrial computer systems are often used. Within embedded systems and real-time systems, we investigate the problems of allocating stack memory for an system where a shared stacks may be used, and of estimating the highest response time of a task in a system of industrial complexity. We propose a number of different algorithms to compute safe upper bounds on run-time stack usage whenever the system supports stack sharing. The algorithms have in common that they can exploit commonly-available information regarding timing behaviour of the tasks in the system. Given upper bounds on the individual stack usage of the tasks, it is possible to estimate the worst-case stack behaviour by analysing the possible and impossible preemption patterns. Using relations on offset and precedences, we form a preemption graph, which is further analysed to find safe upper-bounds on the maximal preemptions chain in the system. For the special case where all tasks exist in a single static schedule and share a single stack, we propose a polynomial algorithm to solve the problem. For generalizations of this problem, we propose an exact branch-and-bound algorithm for smaller problems and a polynomial heuristic algorithm for cases where the branch-and-bound algorithm fails to find a solution in reasonable time. All algorithms are evaluated in comprehensive experimental studies. The polynomial algorithm is implemented and shipped in the developer tool set for a commercial real-time operating system, Rubus OS. The second problem we study in the thesis is how to estimate the highest response time of a specified task in a complex industrial real-time system. The response-time analysis is done using a best-effort approach, where a detailed model of the system is simulated on input constructed using a local search procedure. In an evaluation on three different systems we can see that the new algorithm were able to produce higher response times much faster than what has previously been possible. Since the analysis is based on simulation and measurement, the results are not safe in the sense that they are always higher or equal to the true response time of the system. The value of the method lies instead in that it makes it possible to analyse complex industrial systems which cannot be analysed accurately using existing safe approaches. The third problem is in the area of maintenance planning, and focus on how to dynamically plan maintenance for industrial systems. Within this area we have focused on industrial gas turbines and rail vehicles.  We have developed algorithms and a planning tool which can be used to plan maintenance for gas turbines and other stationary machinery. In such problems, it is often the case that performing several maintenance actions at the same time is beneficial, since many of these jobs can be done in parallel, which reduces the total downtime of the unit. The core of the problem is therefore how to (or how not to) group maintenance activities so that a composite cost due to spare parts, labor and loss of production due to downtime is minimized. We allow each machine to have individual schedules for each component in the system. For rail vehicles, we have evaluated the effect of replanning maintenance in the case where the component maintenance deadline is set to reflect a maximum risk of breakdown in a Gaussian failure distribution. In such a model, we show by simulation that replanning of maintenance can reduce the number of maintenance stops when the variance and expected value of the distribution are increased.  For the gas turbine maintenance planning problem, we have evaluated the planning software on a real-world scenario from the oil and gas industry and compared it to the solutions obtained from a commercial integer programming solver. It is estimated that the availability increase from using our planning software is between 0.5 to 1.0 %, which is substantial considering that availability is currently already at 97-98 %.

Place, publisher, year, edition, pages
Västerås: Mälardalen University Press, 2009
Series
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 79
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:mdh:diva-7381 (URN)978-91-86135-47-8 (ISBN)
Public defence
2009-12-14, Beta, Högskoleplan 1, Västerås, 14:00 (English)
Opponent
Supervisors
Available from: 2009-10-29 Created: 2009-10-14 Last updated: 2018-01-12Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records BETA

Hänninen, KajMäki-Turja, JukkaBohlin, MarkusCarlson, JanSjödin, Mikael

Search in DiVA

By author/editor
Hänninen, KajMäki-Turja, JukkaBohlin, MarkusCarlson, JanSjödin, Mikael
By organisation
Department of Computer Science and Electronics
Engineering and Technology

Search outside of DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 102 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • 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