| Interview: Venturcom's Real-time, benchmarking, and tools for XP Embedded |
(Oct. 3, 2003)
In this interview, Microsoft spoke with Venturcom regarding its perpective on real-time, performance benchmarking, and tools for Windows XP Embedded. Venturcom is one of Microsoft's Windows Embedded Partner Gold-level member, and provides software products and engineering services that complement and leverage the Windows operating environment to accelerate time-to-market for embedded systems and reduce the total cost of ownership of Windows-based devices.
Microsoft: What is Venturcom's experience with real-time systems?
Venturcom: Venturcom started operations in 1980 and focused on the UNIX operating system applications for real-time systems. For the first 15 years of operation, the company acted as a systems integrator and developed a real-time version of UNIX and tools to apply it to embedded applications. During 1995, Venturcom initiated a complete strategy shift and began to exclusively expend its efforts on Microsoft Windows NT as a platform for real-time, embedded applications. In 1998, Microsoft licensed Venturcom's Component Integrator, a development tool for configuring and building dedicated embedded Windows NT systems, to form the basis of the Microsoft Windows NT Embedded Toolkit.
Since 1995, Venturcom has followed a product-driven model based on the RTX real-time extensions for Microsoft Windows NT, Windows 2000, and Windows XP; Phar Lap Embedded Tool Suite (ETS), a Microsoft Win32 embedded development environment for Intel's 32-bit x86 processors; and remote network booting technologies for Windows 2000 and Windows XP.
Microsoft: What real-time testing have you performed on your product? Over what time period has this testing been done?
Venturcom: Venturcom has developed a rich suite of both automated and manual testing tools and procedures to test its software products. Many of the automated testing tools are designed to work with Mercury Interactive's WinRunner and are designed to perform structured systems and unit-testing.
Venturcom also has developed a number of real-time testing and debugging tools, which ship with its RTX family of development tools. These include: - Platform Evaluator: an easy-to-use tool for determining the right hardware platform for your real-time application. It allows the user to vary the system loads, select the measurement criteria, and determine an accurate measurement of the real-time capabilities of any reference platform. Performance measurements and related configuration information is tracked and saved for comparison purposes. System integrators, OEMs, and developers can easily perform hardware selection for RTX-based applications.
- Kernel System Response Time Measurement (KSRTM): a utility that measures interrupt service routine latencies.
- System Response Time Measurement (SRTM): a utility that measures the equivalent application-level thread latencies.
- Time View: a real-time event-tracing tool that allows developers and system integrators to efficiently capture and display the execution sequence of threads within RTX for viewing and logging. Time View is designed to minimize the intrusion on the real-time task being monitored.
Venturcom provides an example of how to use KSTRM and SRTM to measure and qualify response times of real-time systems platforms.
Microsoft: What were the real-time performance figures you were seeing for your product?
Venturcom:
Table: Specific Performance Benchmark: Windows XP, Windows CE .NET, and RTX 5.5 800 MHz Pentium III processor with an ACPI compliant chipset
| ReleaseMutex>WFSO: min/max in usec | 1.49 / 5000+ | 4.9 / 13.3 | 0.70 / 3.26 | | ReleaseSemaphore>WFSO: min/max in usec | 1.39 / 5000+ | 3.9 / 8.4 | 0.61 / 3.43 | | Yield: min/max in usec | 1.11 / 5000+ | 2.6 / 63.9 | 0.33 / 3.37 | | Interrupt service thread dispatch: min/max in usec | 4.3 / 5000+ | 13 / 30.8 | 2.0 / 19 | | Win32-to-RTSS SetEvent call: min in usec | NA | NA | 14 | Notes: - Maximum values include the overhead of 3 milliseconds (ms) from timer interrupts.
- Windows NT does not priority promote the thread owning a contested mutex.
Microsoft: Why did you choose to build your device based on Windows Embedded? Was it specifically or primarily for the real-time capabilities, or were there additional technologies used?
Venturcom: RTX enables Windows NT, Windows 2000, and Windows XP to address the real-time development and execution environment of mission critical applications that require high-performance and real-time determinism. RTX enables Windows NT, Windows 2000, and Windows XP to function as both general-purpose operating systems and as high-performance real-time operating system at the same time, on the same computer.
RTX also provides Windows developers absolute control over when their critical processes execute, something that they do not enjoy under Windows NT, Windows 2000, and Windows XP.
Note: Windows XP Embedded provides you with the capability for your team of integrators/developers to collaborate using a common shared repository of operating system and application components to develop your target embedded system. This shared repository can contain components that Microsoft provides in the standard Windows XP Embedded toolkit, components developed by third party hardware/software manufacturers/developers, or components that you have developed. Windows XP Embedded provides a rich suite of tools to allow you to manage, add, and maintain this repository of components you will use to design and build your embedded system.
Microsoft: Which additional operating system or tool requirements apply to your product?
Venturcom: - All RTX systems require Microsoft Windows NT 4.0 (Workstation or Server), Windows NT 4.0 Embedded (Class 1, 2, 3, or 4), Windows 2000 (Professional or Server), Windows XP Professional or Windows XP Embedded.
- The RTX Software Development Kit (SDK) will not install unless Microsoft Windows NT 4.0 (Workstation or Server), Windows 2000 (Professional or Server), or Windows XP Professional are running.
- RTX 5.x Debugger and Development Wizards are plug-ins for Microsoft Visual Studio 6.0 Service Pack 5 and will not work if this Microsoft product is not installed.
Microsoft: What are the top five features of your product, and how do these map to operating system features?
Venturcom: RTX delivers the benefits of Windows NT, Windows 2000, and Windows XP, plus: - Allows high-performance deterministic real-time and nonreal-time processing within the same computer
- Enables Windows to handle control-oriented applications
- Leverages Microsoft standard development and debugging tools
- Leverages the large pool of experienced Windows development engineers and users
- Provides system developers with deterministic timers and schedulers, allowing precise scheduling of critical system functions
Microsoft: What is your definition of real time, and how does Windows Embedded compare against your definition?
Venturcom: A real-time system is one in which the correct operation of the system depends not only on the results that are delivered, but when they are delivered. It is important to note that "real time" does not necessarily mean "fast"; rather, it refers to how deterministic the response time characteristics of the system are. That is, the important measure is not average response time but worst-case response time. Real-time systems are sometimes further classified as hard or soft real-time systems. A hard real-time system is one in which the response time determinism requirement is absolute; for a soft real-time system, some small deviations are tolerated. A fundamentalist viewpoint would consider "soft real time" to be an oxymoron, and for the remainder of this interview, when we say "real time" we mean hard real time.
In addition to this determinism, there are a number of other requirements that real-time systems have typically come to provide: - Multi-threaded, preemptive scheduler with a large number (typically 64-256) of thread-priorities
- Predictable thread synchronization mechanisms
- A system of priority inheritance
- Fast clocks and timers
Microsoft Windows XP has been designed as a general-purpose operating system, suitable for use both as an interactive system on the desktop and on a network; however, Windows XP and Windows XP Embedded are not real-time operating systems. While faster processors do dramatically increase processing throughput and average response times and thus may lead one to speculate that the system may become real-time, they cannot make a non-deterministic system deterministic. Venturcom offers a real-time extension (RTX) for Windows XP Embedded, which provides a real-time development and execution environment.
Microsoft: Which Microsoft tools were used to build and test your product? Did you use any third-party tools?
Venturcom: The Microsoft tools used included: - Microsoft Visual Studio 6.0
- Microsoft Visual Studio .NET
- Windows 2000 Driver Development Kit (DDK)
- Windows XP DDK
- Microsoft Visual SourceSafe
- Windows XP Embedded Toolkit
- Windows NT Embedded Toolkit
The third-party tool we used was Soffront Software's TRACK for Windows (bug tracking).
Microsoft: Did you evaluate other operating systems before choosing a Windows Embedded solution, and if so, why did you choose Windows Embedded?
Venturcom: Venturcom has extensive historical experience in the development of UNIX tools and programs for real-time applications. Customer and market demand caused Venturcom to refocus on Win32-based tools and operating systems. This market demand continues today and Venturcom focuses all of its tools, products, training, and consulting efforts on this market.
Copyright © 2003 Microsoft Corp. All rights reserved. This article was initially published on Microsoft's MSDN website. Reproduced by WindowsForDevices.com with permission.
Related stories:
(Click here for further information)
|
|
|
7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.
4 Legal Reasons to Control Internet Access
The Internet is obviously a valuable resource for many organizations. However, many are exposed to legal liability concerns because they fail to control Internet access. Learn if you're safe in this white paper.
Rapidly Resolve J2EE Application Problems
Whether you are in the process of building J2EE applications or have J2EE applications already running in production, you must ensure that they deliver the expected ROI. Learn how in this white paper.
Load Testing 2.0 for Web 2.0
There are many unknowns in stress testing Web 2.0 applications. Find out how to test the performance of Web 2.0 in this white paper.
Build Better Games Online
For the game infrastructure providers, life is complex. Making money from games has become more complicated. Why? Find out in this white paper.
Building a Virtual Infrastructure from Servers to Storage
This white paper discusses the virtual storage solutions that reduce cost, increase storage utilization, and address the challenges of backing up and restoring Server environments.
Gaining Faster Wireless Connections with WiMAX
Welcome to what is quickly becoming the hyperconnected world where anything that would benefit from being connected to the network will be connected. Learn more in this white paper.
Is Your Desktop a Security Threat?
The new wave of sophisticated crimeware not only targets specific companies, but also targets desktops and laptops as backdoor entryways into those business’ operations and resources. Learn how to stay safe in this white paper.
Increasing SAN Reliability by 100 Percent
Storage area networks (SAN) are a strong part of storage plans. Learn how to increase your reliability and uptime by 100 percent in this case study.
|
|
|
|
|