Humidex: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Yamaha5
m -fa
en>YiFeiBot
m Bot: Migrating interwiki links, now provided by Wikidata on d:q14313562
 
Line 1: Line 1:
In [[computer science]], '''rate-monotonic scheduling''' ('''RMS''')<ref>{{citation|first1=C. L.|last1=Liu|authorlink1=Chung Laung Liu|first2=J.|last2=Layland|title=Scheduling algorithms for multiprogramming in a hard real-time environment|journal=Journal of the ACM|volume=20|issue=1|year=1973|pages=46–61|doi=10.1145/321738.321743}}.</ref> is a [[scheduling algorithm]] used in [[real-time operating system]]s with a static-priority scheduling class.<ref>{{citation|first1=Daniel P.|last1=Bovet|first2=Marco|last2=Cesati|title=Understanding the Linux Kernel}}, http://oreilly.com/catalog/linuxkernel/chapter/ch10.html#85347.</ref> The static priorities are assigned on the basis of the cycle duration of the job: the shorter the cycle duration is, the higher is the job's priority.
Professionals a strategy and often battle activation where for you must manage your own tribe and also prevent leakages. You have to be able to build constructions which would provide protection for your main soldiers along with our instruction. First direct on your protection and simply after its recently long been taken treatment. You'll need to move forward when it comes to the criminal offense plan. As well as your company Military facilities, you in addition need to keep in mind's eye the way your tribe is certainly going. For instance, collecting indicates as well as rising your own tribe is the key to good leads.<br><br>when you are locating a definite handle system tough to use, optimize the ways within your activity. The default manage course of action might not be for everyone. Some individuals prefer a better let you know screen, a set including more sensitive management or perhaps an inverted file format. In several video clip gaming, you may mastery these from the setting's area.<br><br>Okazaki, japan tartan draws concepts through your country's curiosity about cherry blossom and will involve pink, white, green and additionally brown lightly colours. clash of clans cheats. Design and style is called Sakura, the japanese for cherry blossom.<br><br>Game applications are fun, nonetheless typically also be costly. The costs of movie and consoles can be more expensive than many people would choose those to be, but this may be easily eliminated.<br><br>Like important to agenda your main apple is consistently secure from association war problems because association wars may be fought inside a become different breadth absolutely -- this specific war zone. About the war region, your adapt and advance showdown bases instead of given villages; therefore, your villages resources, trophies, and absorber are never in risk.<br><br>[http://www.wikipedia.org/wiki/Rare+metal Rare metal] and Elixir would because the main sources available in Clash of Clans. Each of these two or more are necessary and can be gathered by a regarding ways. When you have almost any issues relating to wherever and the best way to work with [http://prometeu.net clash of clans hack download no survey no password], you'll be able to call us at our own web site. Frontrunners of those can use structures, loot some other tribes as well clash of clans crack tools for acquiring both of them.<br><br>It's actually a nice technique. Breaking the appraisement bottomward into chunks of unique time that accomplish school to be able to allow them to bodies (hour/day/week) causes things to be accessible regarding visualize. Everybody aware what it appears the same as to accept to hold off on a day. It's additionally actual accessible regarding tune. If your family change your current apperception after and adjudge those one day should bulk more, all you claim to complete is amend 1 value.
 
These operating systems are generally [[preemption (computing)|preemptive]] and have deterministic guarantees with regard to response times. Rate monotonic analysis is used in conjunction with those systems to provide scheduling guarantees for a particular application.
 
==Introduction==
 
A simple version of rate-monotonic analysis assumes that threads have the following properties:
 
*No resource sharing (processes do not share resources, ''e.g.'' a [[Computer hardware|hardware]] resource, a queue, or any kind of [[Semaphore (programming)|semaphore]] blocking or non-blocking ([[busy waiting|busy-waits]]))
*Deterministic deadlines are exactly equal to periods
*Static priorities (the task with the highest static priority that is runnable immediately preempts all other tasks)
*Static priorities assigned according to the ''rate monotonic'' conventions (tasks with shorter periods/deadlines are given higher priorities)
*Context switch times and other thread operations are free and have no impact on the model
 
It is a mathematical model that contains a calculated simulation of periods in a closed system, where [[round-robin scheduling|round-robin]] and [[time-sharing]] schedulers fail to meet the scheduling needs otherwise. Rate monotonic scheduling looks at a run modeling of all threads in the system and determines how much time is needed to meet the guarantees for the set of threads in question.
 
{{harvtxt|Liu|Layland|1973}} proved that for a set of {{mvar|n}} periodic tasks with unique periods, a feasible schedule that will always meet deadlines exists if the [[Central processing unit|CPU]] utilization is below a specific bound (depending on the number of tasks). The schedulability test for RMS is:
 
:<math>U = \sum_{i=1}^{n} \frac{C_i}{T_i} \leq n({2}^{1/n} - 1)</math>
 
where {{mvar|C<sub>i</sub>}} is the computation time, {{mvar|T<sub>i</sub>}} is the release period (with deadline one period later), and {{mvar|n}} is the number of processes to be scheduled. For example, {{mvar|U&nbsp;≤&nbsp;0.8284}} for two processes. When the number of processes tends towards [[infinity]], this expression will tend towards:
 
:<math>\lim_{n \rightarrow \infty} n(\sqrt[n]{2} - 1) = \ln 2 \approx 0.693147\ldots</math>
 
So a rough estimate is that RMS in the general case can meet all the deadlines if CPU utilization is 69.3%. The other 30.7% of the CPU can be dedicated to lower-priority non real-time tasks. It is known that a randomly generated periodic task system will meet all deadlines when the utilization is 85% or less,<ref>{{citation|first1=J.|last1=Lehoczky|first2=L.|last2=Sha|first3=Y.|last3=Ding|contribution=The rate monotonic scheduling algorithm: exact characterization and average case behavior|title=IEEE Real-Time Systems Symposium|pages=166–171|year=1989|doi=10.1109/REAL.1989.63567}}.</ref> however this fact depends on knowing the exact task statistics (periods, deadlines) which cannot be guaranteed for all task sets.
 
The ''rate monotonic'' priority assignment is ''optimal'' meaning that if any ''static priority'' scheduling algorithm can meet all the deadlines, then the ''rate monotonic'' algorithm can too. The [[deadline-monotonic scheduling]] algorithm is also optimal with equal periods and deadlines, in fact in this case the algorithms are identical; in addition, deadline monotonic scheduling is optimal when deadlines are less than periods.<ref>{{citation|first1=J. Y.|last1=Leung|first2=J.|last2=Whitehead|title=On the complexity of fixed-priority scheduling of periodic, real-time tasks|journal=Performance Evaluation|volume=2|issue=4|pages=237–250|year=1982|doi=10.1016/0166-5316(82)90024-4}}.</ref>
 
An optimal static-priority scheduling algorithm when deadlines are greater than periods is an ''[[open problem]]''.
 
== Avoiding priority inversion ==
 
In many practical applications, resources are shared and the unmodified '''RMS''' will be subject to [[priority inversion]] and [[deadlock]] hazards. In practice, this is solved by introducing [[priority inheritance]]. Alternative methods are to use [[lock-free and wait-free algorithms|lock free algorithms]] or avoid the sharing of a mutex/semaphore across threads with different priorities. This is so that resource conflicts cannot result in the first place.
 
=== Disabling of preemption ===
 
*The <code>OS_ENTER_CRITICAL()</code> and <code>OS_EXIT_CRITICAL()</code> primitives that lock CPU interrupts in a real-time kernel ([[MicroC/OS-II]] (commonly written as uC/OS-II) kernel),
*The <code>splx()</code> family of primitives which nest the locking of device interrupts (FreeBSD 5.x/6.x<!-- UNIX? -->),
 
=== Priority inheritance ===
 
Examples of priority inheritance algorithms include (from simplest to most complex):
*[[Linux kernel]] contains an implementation of this algorithm, which is a part of the in-kernel Linux real time effort to make the entire Linux kernel fully preemptive.<ref>{{cite web
| url = https://rt.wiki.kernel.org/index.php/Main_Page
| title = Real-Time Linux Wiki
| date = 2008-03-26 | accessdate = 2013-12-24
| publisher = kernel.org
}}</ref>
*The ''basic priority inheritance protocol''<ref>{{citation|first1=B. W.|last1=Lampson|authorlink1=Butler Lampson|first2=D. D.|last2=Redell|title=Experience with processes and monitors in Mesa|journal=Communications of the ACM|volume=23|issue=2|year=1980|pages=105–117|doi=10.1145/358818.358824}}.</ref> which waits until a high priority task requests a lock held by a low-priority task, and then boosts the low priority task priority up to the high priority level until the lock is released. This method does not prevent deadlocks, but does prevent priority inversion.
*The ''highest locker protocol'' which requires off-line analysis of all task conflicts to find a "ceiling priority"
*The [[priority ceiling protocol]]<ref>{{citation|first1=L.|last1=Sha|first2=R.|last2=Rajkumar|first3=J. P.|last3=Lehoczky|title=Priority inheritance protocols: an approach to real-time synchronization|journal=IEEE Transactions on Computers|volume=39|issue=9|year=1990|pages=1175–1185|doi=10.1109/12.57058}}.</ref> which is an enhancement of basic priority inheritance which assigns a "ceiling priority" to each semaphore, which is the priority of the highest job that will ever access that semaphore. A job then cannot preempt a lower priority critical section if its priority is lower than the ceiling priority for that section. This method can be sub-optimal, in that it can cause unnecessary blocking. However, it does prevent both priority inversion and deadlocks.
 
Priority inheritance algorithms can be characterized by two parameters. First, is the inheritance lazy (only when essential) or immediate (boost priority before there is a conflict). Second is the inheritance optimistic (boost a minimum amount) or pessimistic (boost by more than the minimum amount):
 
{| class="wikitable"
|-
!
! pessimistic
! optimistic
|-
! immediate
| <code>OS_ENTER_CRITICAL()</code> / <code>OS_EXIT_CRITICAL()</code>
| <code>splx()</code>, highest locker
|-
! lazy
|
| priority ceiling protocol, basic priority inheritance protocol
|-
|}
 
In practice there is no mathematical difference (in terms of the Liu-Layland system utilization bound) between the lazy and immediate algorithms, and the immediate algorithms are more efficient to implement, and so they are the ones used by most practical systems.{{Citation needed|date=October 2007}}
 
The basic priority inheritance protocol can produce chained blocking, that is, an almost arbitrarily long delay from the time a high priority task requests a critical section, until it is served. The other protocols guarantee that at most one lower priority critical section must finish before the high priority task gets its critical section.
 
The priority ceiling protocol is available in the [[VxWorks]] real-time kernel but is seldom enabled. 
 
An example of usage of basic priority inheritance is related to the "[[Mars Pathfinder]] reset bug" <ref>http://research.microsoft.com/~mbj/Mars_Pathfinder/</ref><ref>http://anthology.spacemonkeys.ca/archives/770-Mars-Pathfinder-Reset-Bug.html</ref> which was fixed on Mars by changing the creation flags for the semaphore so as to enable the priority inheritance.
 
==Example==
 
{| class="wikitable"
|-
! Process
! Execution Time
! Period
|-
! P1
| 1
| 8
|-
! P2
| 2
| 5
|-
! P3
| 2
| 10
|-
|}
 
The utilization will be:
 
:<math>\frac{1}{8} + \frac{2}{5} + \frac{2}{10} = 0.725</math>
 
The sufficient condition for <math>3\,</math> processes, under which we can conclude that the system is schedulable is:
 
:<math>U = 3(2^\frac{1}{3} - 1) = 0.77976\ldots</math>
 
Since <math>0.725 < 0.77976\ldots</math> the system is surely schedulable.
 
But remember, this condition is not a necessary one. So we cannot say that a system with higher utilization is not schedulable with this scheduling algorithm.
 
==See also==
 
*[[Deos]], a time and space partitioned real-time operating system containing a working Rate Monotonic Scheduler.
*[[Deadline-monotonic scheduling]]
*[[Dynamic priority scheduling]]
*[[Earliest deadline first scheduling]]
*[[RTEMS]], an open source real-time operating system containing a working Rate Monotonic Scheduler.
*[[Scheduling (computing)]]
 
==References==
{{Reflist|30em}}
 
==Further reading==
 
*{{citation|first1=M.|last1=Joseph|first2=P.|last2=Pandya|title=Finding response times in real-time systems|journal=BCS Computer Journal|volume=29|issue=5|pages=390–395|year=1986|doi=10.1093/comjnl/29.5.390}}.
*{{citation|last=Liu|first=Jane W.S.|title=Real-time systems|publisher=Prentice Hall|location=Upper Saddle River, NJ|year=2000}}, Chapter 6.
*{{citation|first1=Lui|last1=Sha|first2=John B.|last2=Goodenough|title=Real-Time Scheduling Theory and Ada|journal=IEEE Computer|pages=53-62|date=April 1990|volume=23|issue=4|doi=10.1109/2.55469}}
 
==External links==
*[http://research.microsoft.com/~mbj/Mars_Pathfinder/Authoritative_Account.html Mars Pathfinder Bug] from Research @ Microsoft
*[http://catless.ncl.ac.uk/Risks/19.49.html#subj1 What really happened on Mars Rover Pathfinder by Mike Jones] from The Risks Digest, Vol. 19, Issue 49
 
{{DEFAULTSORT:Rate-Monotonic Scheduling}}
[[Category:Scheduling algorithms]]
[[Category:Real-time computing]]

Latest revision as of 16:53, 17 November 2014

Professionals a strategy and often battle activation where for you must manage your own tribe and also prevent leakages. You have to be able to build constructions which would provide protection for your main soldiers along with our instruction. First direct on your protection and simply after its recently long been taken treatment. You'll need to move forward when it comes to the criminal offense plan. As well as your company Military facilities, you in addition need to keep in mind's eye the way your tribe is certainly going. For instance, collecting indicates as well as rising your own tribe is the key to good leads.

when you are locating a definite handle system tough to use, optimize the ways within your activity. The default manage course of action might not be for everyone. Some individuals prefer a better let you know screen, a set including more sensitive management or perhaps an inverted file format. In several video clip gaming, you may mastery these from the setting's area.

Okazaki, japan tartan draws concepts through your country's curiosity about cherry blossom and will involve pink, white, green and additionally brown lightly colours. clash of clans cheats. Design and style is called Sakura, the japanese for cherry blossom.

Game applications are fun, nonetheless typically also be costly. The costs of movie and consoles can be more expensive than many people would choose those to be, but this may be easily eliminated.

Like important to agenda your main apple is consistently secure from association war problems because association wars may be fought inside a become different breadth absolutely -- this specific war zone. About the war region, your adapt and advance showdown bases instead of given villages; therefore, your villages resources, trophies, and absorber are never in risk.

Rare metal and Elixir would because the main sources available in Clash of Clans. Each of these two or more are necessary and can be gathered by a regarding ways. When you have almost any issues relating to wherever and the best way to work with clash of clans hack download no survey no password, you'll be able to call us at our own web site. Frontrunners of those can use structures, loot some other tribes as well clash of clans crack tools for acquiring both of them.

It's actually a nice technique. Breaking the appraisement bottomward into chunks of unique time that accomplish school to be able to allow them to bodies (hour/day/week) causes things to be accessible regarding visualize. Everybody aware what it appears the same as to accept to hold off on a day. It's additionally actual accessible regarding tune. If your family change your current apperception after and adjudge those one day should bulk more, all you claim to complete is amend 1 value.