print

Achieving Business goals with Wind River’s Multicore Software Solution

Device makers need to find ways to compete through reducing cost, boosting performance, and bringing innovative and differentiating functionality to market on time. Increasingly, the ability to meet business objectives relies on the ability to optimize a device’s software.

Disruptive Trends

The trend toward multicore processors is causing the most significant disruption the device market has seen in many years. The advent of true parallel execution of software increases both the complexity of porting existing applications and developing new applications for multicore processors. This paradigm shift is changing the way device makers write software and configure their systems. Optimizing software for multicore devices necessitates updating established software development best practices and tools.

Another significant technology innovation is virtualization, which presents opportunities to reduce hardware costs and power consumption while enabling new platform-level capabilities. Virtualization allows a device to run multiple operating environments, such as one real-time operating system and one rich general purpose operating system, and share the underlying processing cores, memory, and other hardware resources. Combining multicore and virtualization, device makers have more options for enhancing platform performance, security, scalability, certifiability, and usability. They can take advantage of new usage scenarios made possible by Wind River’s multicore software solution, which includes industry-leading operating systems, specialized tools, and a performance-optimized hypervisor for implementing virtualization.

Definitions Used in This Paper

  • Multicore: More than one processing core in one CPU chip
  • Virtualization: Abstraction of computer resources such as memory, cores, and devices
  • Scalable hypervisor: Supervisory program providing virtualization, configurable based on level of protection required, and operating with no run-time overhead
  • Symmetric multiprocessing (SMP): One operating system instance scheduling multiple cores
  • Asymmetric multiprocessing (AMP): More than one operating system instance executing on a multicore system

Applying Multicore and Virtualization

Device makers seeking new ways to optimize existing platforms or to create innovative next-generation devices will appreciate the new software configurations enabled by multicore and virtualization.

Figure 1: Multicore software configurations

In many cases, multicore and virtualization technologies can help device makers meet business goals around performance, cost, and differentiation. This paper describes how to achieve these goals using vertical market–specific implementation examples.

Business Opportunity

As a disruptive force, multicore and virtualization technologies offer new opportunities for device makers that in many ways are game-changers. These opportunities allow the delivery of higher-performing computing platforms, greater system flexibility, lower-cost alternatives, and improved system reliability and security. In general, taking advantage of these opportunities requires optimizing multicore devices by

  • Exploiting the multicore hardware capabilities to maximize performance
  • Choosing the appropriate multicore software configuration and architecture to improve cost/performance and reliability
  • Leveraging existing software assets while developing and integrating new software to make the most of software investments and decrease time-to-market

Depending on the vertical market segment a device addresses, multicore and virtualization deployments generally fall into one or more of the usage scenarios shown in Table 1 below. These usage scenarios satisfy many of the key business objectives of embedded device makers, such as cost reduction, performance, time-to-market, and the ability to innovate and differentiate. When employing these usage scenarios, device makers are faced with key hardware and multicore software configuration decisions—including the appropriate use of SMP, AMP, and/or virtualization.

Future Proofing Development Investments

The multicore software configuration used for today’s product may not be optimal for next-generation products when new hardware or software components are available. Choice, flexibility, and vendor experience are critical considerations when making technology purchase decisions. Future proofing development investments require working with a partner who can provide a comprehensive approach to multicore software.

Comprehensive Multicore Software Solution

Wind River offers a comprehensive multicore software solution, including the following:

  • Flexible combinations of multicore software configurations comprising SMP, AMP, and virtualization
  • Wind River VxWorks: real-time operating system (RTOS) support
  • Wind River Linux: general purpose operating system suppor
  • High-speed communication between processes and tasks across core and operating system boundaries
  • Performance optimized middleware for multicore environments, such as network stacks for offloading
  • Tools to develop, debug, test, profile, and optimize both subsystems and the entire system

Device Software Optimization

A multicore device manufacturer must choose between investing resources in designing, developing, and supporting its own solution to the complexities of multicore software or buying these foundational technologies so it can focus on differentiating value-add and accelerating time-tomarket. Device Software Optimization (DSO) is Wind River’s answer to this dilemma. DSO is a holistic, enterprise-wide solution to the challenges generated by increasing complexity in developing device software. Key tenets of the DSO solution include standardization of technologies and processes across projects, teams, and sites and the embrace of open standards to provide companies with the broadest possible choice of tools, technologies, and architectures. Wind River’s DSO solution is built on a choice of operating systems, an ecosystem of validated and integrated partner technologies, and expert services and support available around the world, around the clock.

Case Study 1: Networking Offload

Devices at the core of communication networks typically rely on multiple separate boards to partition functionality and meet traffic-throughput requirements. To achieve high throughput, networking equipment often runs data plane software, such as packet processing and forwarding, on a deterministic, real-time operating system such as VxWorks or on a simple executive. Data plane operations are inherently parallel and run much faster as the number of cores increases (8, 16, and more). Networking equipment also performs control plane and security functions, which are serverlike and well-served by general purpose operating systems such as Wind River Linux. This system architecture, which combines multicore hardware, parallel processing, and dissimilar workloads, lends itself to an AMP software configuration, as shown in Figure 2.

Figure 2: Networking offload configuration

This AMP configuration provides the ability to load software on dedicated cores, communicate between the cores at very high speeds, and perform system-level debugging and profiling. In the event an application fails, it can be rebooted without affecting the other applications or cores because these elements can be isolated from each other. AMP configurations facilitate the consolidation of the control and data plane onto a single multicore system, which reduces cost and increases system differentiation relative to performance and functionality. With this flexibility, networking performance easily scales with the number of cores, and developers can leverage the extensive Linux software environment to quickly incorporate new functions.

Table 2: Networking offload summary

Case Study 2: Transportation Safety

Public transportation equipment must meet stringent safety standards, which requires the testing and certification of safety-critical software.1 For instance, train software that monitors speed and controls doors is carefully regulated, whereas other applications such as climate control are not. Certifying safety-critical subsystems is expensive and timeconsuming and represents a significant business investment. The challenge for transportation equipment makers is to control hardware and software costs while meeting various safety certification standards and delivering a differentiated product.

During the certification process, equipment makers must prove the reliability of safety-critical software and demonstrate that it cannot be affected by other parts of the system. If the system’s hardware and software is fully consolidated, the non-safety-critical applications running on a general purpose operating system must also be certified, which can be difficult and expensive. Some level of isolation is needed between safety-critical systems (hardware and software) and the rest of the system. It’s possible to build completely independent subsystems for each function, but this approach isn’t hardware-efficient and increases cost.

An alternate solution is to use a certified hypervisor that partitions the hardware and provides separate and protected operating environments for safety-critical and non-safetycritical software, as shown in Figure 3. The safety-critical software runs on a highly reliable real-time operating system, such as a certified version of VxWorks. The other application software can benefit from a full-featured, general purpose operating system, such as Wind River Linux or Windows. Consolidating both systems onto the same hardware and reusing previously certified software greatly reduces development and per-unit costs while leveraging the ability to innovate with new and differentiating software on the general purpose operating system.

Figure 3: Transportation safety configuration

Table 3: Transportation safety summary

Case Study 3: Consumer Devices

Responding to the prevalence of the Internet and new peripherals, many consumer device makers are turning to standard hardware that provides more appealing user interfaces and I/O capabilities. Previously, consumer devices such as mobile handhelds, medical devices, and multifunction printers were based on single-purpose embedded systems using specialized hardware. Today, many of these devices are built with general purpose hardware and software that adapt more quickly to changing customer requirements.

Many multifunction printers are single-core systems running a real-time operating system, such as VxWorks. Now printers must satisfy evolving consumer preferences for attractive and easy-to-use interfaces and advanced networking and security features. Device makers can address these needs with a general purpose operating system, such as Wind River Linux or Windows, that enables manufacturers to get devices to market faster and more cost effectively. But real-time functions, such as controlling print heads, can be expensive to migrate to a Linux environment where they may not run fast enough or deterministically. A system that supports both a real-time and general purpose operating environment allows software to be partitioned accordingly.

As device makers transition to standard hardware, they will value solutions that preserve their proven real-time code. They will also base hardware decisions on cost, processing, and reliability requirements. Device makers can choose from at least three system configuration options:

Single-core processor with a hypervisor: The hypervisor supports both real-time and general purpose operating environments, as shown in Figure 4.

Figure 4: Single-core processor with a hypervisor

Multicore processor without a hypervisor: This is a multicore AMP configuration with VxWorks running on one core and Linux on the other core, as shown in Figure 5. The application developers are responsible for loading, booting, and managing these two operating environments, including failure recovery sequences.

Multicore processor with a hypervisor: The most comprehensive systems approach is to deploy an AMP multicore software configuration with a hypervisor, as shown in Figure 6. The hypervisor sets up memory protection for each operating environment and manages the load and boot of the operating environments. It may also reboot a failed operating environment without resetting the entire system. This multicore software configuration provides the highest level of reliability.

Figure 5: Multicore processor without a hypervisor

The hypervisor sets up memory protection for each operating environment and manages the load and boot of the operating environments. It may also reboot a failed operating environment without resetting the entire system. This multicore software configuration provides the highest level of reliability.

Figure 6: Multicore processor with a hypervisor

These system configurations offer greater flexibility and choice than those based on a single operating system, helping device makers achieve their business goals. By allowing a combination of real-time and general purpose operating environments, device manufacturers can leverage and evolve existing software, innovate with new capabilities, enhance usability, and deploy system configurations that optimize cost/performance.

Table 4: Consumer device summary

Wind River’s multicore software addresses device makers’ challenges with a comprehensive solution comprised of real-time and general purpose operating systems, support for multiple operating system configurations, and tools to optimize multicore devices. By combining these technologies, device makers are achieving their business goals for higher performance, greater differentiation, and lower cost. For more information on Wind River’s multicore software solutions, please visit us online at www.windriver.com/ multicore-software.

 

 

Contact Information

Wind River World Headquarters
Wind River World Headquarters

500 Wind River Way
Alameda, CA, 94501
USA

tele: 510.748.4100
toll-free: 800.545.9463
fax: 510.749.2010
inquiries@windriver.com
www.windriver.com

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google

Comments

Leave a Reply

Comment

Security Code: