INtime® 3.1 Software - tenAsys
INtime® 3.1 Software - tenAsys
INtime® 3.1 Software - tenAsys
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