Real Time Systems Design And Analysis

Chapter 7.4 - I/O Performance

7.4   I/O PERFORMANCE

One performance area that varies greatly owing to device dependencies is the
bottleneck presented by disk and device I/O access. In many cases, disk I/O
is the single greatest contributor to performance degradation. Moreover, when
analyzing a system’s performance through instruction counting, it is very difficult
to account for disk device access times. In most cases the best approach is to
assume worst-case access times for device I/O and include them in performance
predictions.

In other cases, where a real-time system participates in some form of a network,
for example, a local area network (LAN), loading the network can seriously
degrade real-time performance and make measurement of that performance
impossible. In most cases, it is necessary to assess the performance of the system
assuming that the network is in the best possible state (i.e., has no other users).
Then measurements of performance can be taken under varying conditions of
loading, and a performance curve can be generated.

7.4.1   Basic Buffer-Size Calculation

Recall that a buffer is a set of memory locations that provide temporary storage
for data that are being input or output or are being passed between two different
processes. Assume that the data are being sent for some finite time called a
burst period.

More precisely, if the data are produced at a rate of P(t) and can be consumed
at a rate of C(t) (where C(t) < P(t)) for a burst period of T , what is the size
of the buffer needed to prevent data from being lost? If both P(t) and C(t)
are constant, denoted P and C, respectively, and if the consumptions rate C is
greater than or equal to P, then no buffer is needed since the system can always
consume data faster than they can be produced. If C < P, however, then an
overflow will occur. To calculate the buffer size needed to handle the overflow
for a burst of period, T , note that the total data produced is PT, while the total
data consumed in that time is CT. Thus, there is an excess of (PC)T units.
This is how much data must be stored in the buffer. Thus, the buffer size is

 

where C is the consumption rate, P is the production rate, and T is the burst time.
For example, suppose a device is providing data to a real-time computer via
DMA at 9600 bytes/second in bursts of one-second duration every 20 seconds.
The computer is capable of processing the data at 800 bytes/second. Assuming
there is sufficient time to empty the buffer before another burst occurs, what
should the minimum buffer size be? Using Equation 7.19 yields:

 

Handling data that occur in bursts with Equation 7.19 is possible only if the
buffer can be emptied before another burst occurs. For example, emptying the
buffer in the previous cases will take 11 seconds – sufficient time before the
next expected burst. If bursts occur too frequently, then buffer overflow will
occur. In this case the system is unstable, and either upgrading the processor or
downgrading the production process is necessary to solve the problem.

 

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: PCMCIA Memory Cards
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.