21.01.2015 Views

INtime® 3.1 Software - tenAsys

INtime® 3.1 Software - tenAsys

INtime® 3.1 Software - tenAsys

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 5: Designing RT applications<br />

Target environments<br />

Methodology<br />

Developing INtime applications involves balancing between the target environments:<br />

• The RT environment, where you create portions of the application that require<br />

RT robustness and determinism.<br />

• The Windows environment, where you can add RT object access to a<br />

Win32 application.<br />

A critical aspect of any INtime application is the division of labor between Windows<br />

processes and RT processes and, to a finer degree, between the threads in each process.<br />

Important guidelines for developing RT user applications include:<br />

• Limit RT processes to performing only time-critical functions: For maximum<br />

performance, applications must be divided appropriately between the RT and<br />

Windows portions. The INtime software scheduler gives precedence to RT<br />

processes and threads. This preferential scheduling guarantees the best possible<br />

RT response.<br />

For example, to optimize user interface (UI) performance, design INtime<br />

applications so that RT activity occurs in event-driven bursts. An INtime<br />

application that executes for too long on the RT kernel can consume too many<br />

CPU cycles and therefore degrade the system’s Windows capabilities. This<br />

typically causes a sluggish GUI on the Windows side.<br />

Note<br />

Adverse effects in the Windows interface, disk and network operation become noticeable<br />

when RT CPU utilization on your system exceeds 70 percent. On a multi-core computer<br />

configured for dedicated mode, INtime software can consume close to 100 percent of its<br />

processor without affecting Windows.<br />

• Determine which Windows threads require the greater relative priority: The<br />

relative priority given to each of the Windows threads of an INtime application can<br />

determine the perceived performance of the application in a heavily loaded<br />

system. The higher the relative priority given to a Windows thread, the more likely<br />

the thread will perform sufficiently in a heavily loaded system.<br />

Determining which threads require the greater relative priority depends on the nature<br />

of the application. For example, giving higher relative priority to data manipulation<br />

and data storage threads can sacrifice data display and user interface performance<br />

when the system is heavily loaded. If an application is data-intensive or the system<br />

has no keyboard or display, then sacrificing user interface performance may be<br />

desirable. Conversely, if a requirement of an application is a responsive user<br />

57

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!