Checklist for Success with Multicore · Make sure your team has access to the right training,...
Transcript of Checklist for Success with Multicore · Make sure your team has access to the right training,...
![Page 1: Checklist for Success with Multicore · Make sure your team has access to the right training, services, and tech support to help you make the transition quickly and correctly. Ask,](https://reader034.fdocuments.us/reader034/viewer/2022050214/5f5ffd95f4db67574d78fa99/html5/thumbnails/1.jpg)
Checklist for Success with MulticoreTop Five Questions That Can Help Ensure Successful Multicore Adoption
Marc BrownVice President, VxWorks Product Strategy and Marketing, Wind River
![Page 2: Checklist for Success with Multicore · Make sure your team has access to the right training, services, and tech support to help you make the transition quickly and correctly. Ask,](https://reader034.fdocuments.us/reader034/viewer/2022050214/5f5ffd95f4db67574d78fa99/html5/thumbnails/2.jpg)
2 | Checklist for Success with Multicore
“While multicore processors are desirable for many reasons, their use can also be extremely challenging. Many organizations rush into multicore adoption, excited about what multicore can provide to their particular market or device, without thoroughly assessing the complexities and pitfalls.” Jim Johnson, Elix Technologies, VP Sales
Multicore processors have the potential to bring tremendous value to device
manufacturers and their customers in many markets, including telecommunications,
industrial, medical, consumer, and aerospace and defense. They offer the potential
to get more processing done while reducing power consumption, increase capa-
bilities and performance, and, in general, do more with less.
While multicore processors are desirable for many reasons, their use can also be
extremely challenging. Many organizations rush into multicore adoption, excited
about what multicore can provide to their particular market or device, without
thoroughly assessing the complexities and pitfalls. More importantly, they fail to
consider whether their software platform has what it takes to deliver on the
promise of multicore. And all too often the result is not only failure to achieve the
expected benefits but also a low-quality end product or user experience, budget
overruns, and missed market windows.
You can dramatically increase your organization’s chances of successful multicore
adoption by focusing on these five key questions:
1. Is your software platform truly optimized for multicore?
2. Is your platform scalable over the life cycle of your devices?
3. Are you taking full advantage of virtualization?
4. Is your software optimized for your hardware platform?
5. Do you have access to expert multicore support services?
Executive Summary
“ Multicore and hypervisor can help you deal with complexity and boost
performance. But to really take advantage, you need tools, software, and
support that are all optimized for multicore.”
– Tomas Evensen, Chief Technology Officer, Wind River
2 | Checklist for Success with Multicore
![Page 3: Checklist for Success with Multicore · Make sure your team has access to the right training, services, and tech support to help you make the transition quickly and correctly. Ask,](https://reader034.fdocuments.us/reader034/viewer/2022050214/5f5ffd95f4db67574d78fa99/html5/thumbnails/3.jpg)
3 | Checklist for Success with Multicore
Is your software platform truly optimized for multicore?
Many vendors claim to offer “multicore-
optimized” solutions. It is important to look at
the multicore-readiness of the entire platform,
not just point products or individual solution
components. Be sure to consider not only the
level of optimization of the operating system
and middleware but also the tools.
Each of these elements must be designed from
the ground up for multicore to ensure the best
results:
• TheOS must be able to run in both symmetric
multiprocessing (SMP) and asymmetric multi-
processing (AMP) modes. Both modes are
important to satisfy the range of requirements
for today’s systems. Equally important, your
multicore platform should provide support
for multiple operating systems, ranging from
hard real-time to general purpose (GPOS).
The reason: There are many situations where
a single SMP OS does not deliver the level of
safety, security, performance, or scalability
required. Many devices in the industrial and
medical spaces, for example, require an RTOS
paired up with Microsoft Windows or Linux.
And it is not as simple as just providing the
operating system; the operating systems
need to collaborate, share devices, share
memory, communicate, and be analyzable
and debuggable. You need all of these key
capabilities pre-integrated, readily available,
and supported for your multicore projects—
whether they require one OS or multiple
operating systems.
• Middleware must be able to leverage the
acceleration possible with SMP and AMP
architectures. After all, a multicore processor
may have more raw processing power, but
if your middleware can’t take advantage of
those extra cores, your application could end
up running at the same speed or even slower
than on a single-core processor.
Look at the multicore-
readiness of the entire
platform, not just point
products or individual
solution components.
#1
![Page 4: Checklist for Success with Multicore · Make sure your team has access to the right training, services, and tech support to help you make the transition quickly and correctly. Ask,](https://reader034.fdocuments.us/reader034/viewer/2022050214/5f5ffd95f4db67574d78fa99/html5/thumbnails/4.jpg)
#1
4 | Checklist for Success with Multicore
• Toolsformulticoredevelopment must
simplify porting and optimization while also
providing the level of visibility and assurance
you’re accustomed to. And they must deliver
new capabilities beyond the traditional edit/
compile/debug cycle:
– Issues with parallelism, performance, and
cache coherency are real—and you need
tools that allow you to find these quickly on
your platform.
– Multicore tools must address new chal-
lenges around configuration, prototyping,
and simulation, and they must support
diagnosis, analysis, and testing. Having
tools that give visibility into the inter-
action between the application, the
operating system, and the chip is essen-
tial to achieving your performance and
quality goals, so you need tools that give
your developers everything they need to
effectively prototype, simulate, develop,
analyze, and diagnose multicore software.
This applies whether they are working
on a single OS single-core design, or a
single OS SMP design, or in the most
complex environments involving multi-OS
supervised AMP/SMP configurations with
multiple collaborating operating systems
and a virtualization layer—all interacting
through built-in interprocess communica-
tion or intercore communication.
– The ability to do system-level debugging
of multicore systems is critical for in-depth
analysis of programming bugs, perfor-
mance issues, and measuring optimization
tweaks. A comprehensive tool solution
must provide a rich integrated develop-
ment environment (IDE), multicore analysis,
and on-chip debugging.
continued
“ With a platform that is optimized for multicore, it becomes easier for developers
to enable next-generation applications that really deliver on both real-time and
services-oriented connected requirements.”
– Ton Steenman, Vice President, Digital Enterprise Group, Intel
![Page 5: Checklist for Success with Multicore · Make sure your team has access to the right training, services, and tech support to help you make the transition quickly and correctly. Ask,](https://reader034.fdocuments.us/reader034/viewer/2022050214/5f5ffd95f4db67574d78fa99/html5/thumbnails/5.jpg)
#2
Multicore capabilities will continue to evolve
and grow more sophisticated—just like the
features of your devices. As the number of
cores on a processor continues to increase,
you’ll need a platform that can scale up to
accommodate the new capabilities. It is also
important to remember that many next-
generation devices will have a lifespan of 18
months to 30 years and will exist through many
years of revisions and upgrades. Many
organizations either neglect these facts or
concentrate too narrowly on today’s
requirements.
Your multiprocessing platform should also
have the ability to support various designs and
devices. A design based on a single SMP
real-time operating system (RTOS) may be an
excellent choice for today, but as the hardware
architectures evolve, new hybrid architectures
are likely. A platform including multiple oper-
ating systems, possibly a mix of SMP and AMP,
plus virtualization and supervisors for AMP
architectures, is key to future-proofing
your systems.
For example, a current design based on a
four-core multicore processor may be ideal for
a Linux-based SMP architecture. However, as
throughput requirements increase, it may not
be feasible to scale to eight and 16 cores for
the system using SMP. Using virtualization
technology, you can dedicate specific cores for
highest throughput packet processing while
other cores maintain your Linux-based control
plane. Creating this type of architecture from
an existing design should not be disruptive.
5 | Checklist for Success with Multicore
Is your platform scalable over the life cycle of your devices?
Many next-generation
devices will have a lifespan
of 18 months to 30 years …
so a platform including
multiple operating systems
is key to future-proofing
your systems.
![Page 6: Checklist for Success with Multicore · Make sure your team has access to the right training, services, and tech support to help you make the transition quickly and correctly. Ask,](https://reader034.fdocuments.us/reader034/viewer/2022050214/5f5ffd95f4db67574d78fa99/html5/thumbnails/6.jpg)
#3
6 | Checklist for Success with Multicore
Multicore processors need virtualization (a
hypervisor) to deliver maximum efficiency,
flexibility, and reliability. For many people, that
is a controversial statement. There is a common
belief that as the incremental cost of processor
cores continues to decrease, virtualization will
become economically unnecessary. However,
this argument ignores the crucial fact that as
the number of cores increases, hypervisors will
make systems easier to configure, more robust,
easier to debug, and more suitable for future
expansion.
The hypervisor maps physical cores to virtual
resources (logical processors seen by guest
operating systems), making it configure
resources to specific subsystems or to consoli-
date complete systems onto a single core,
shared by multiple OSes, when demand is low.
The right hypervisor solution can not only open
up new opportunities for cost savings through
hardware consolidation, it can allow developers
to leverage multiple operating systems in a
single device so they can expand and enhance
device functionality. Hypervisor technology can
provide the new software configuration options
required to architect next-generation
embedded devices.
The right hypervisor solution can deliver real-
time values such as high performance, small
footprint, determinism, low latency, and high
Multicore software configurations
reliability. It can also be highly optimized for
and integrated with a range of operating
systems and support a broad range of
processor architectures. Security and protec-
tion is another important value a hypervisor can
bring in to the software design when multiple
operating systems are running on the same
hardware.
For multicore developers, the hypervisor is a vital
enabling technology. It can allow you to build
more functionality into smaller form factors, build
more scalable and reliable multicore systems, and
consolidate with confidence—with all the effi-
ciencies of a unified development environment. It
can also take full advantage of the multicore
hardware processing power by offering managed
operating systems in a single piece of hardware.
Are you taking full advantage of virtualization?
“Traditional” Virtualization
SMP Supervised AMP (sAMP)
OS OS
Hypervisor
OS
CPU
CPU
OS OS
Supervisor
OS
Core 1 Core 1
Core 1 Core 1
![Page 7: Checklist for Success with Multicore · Make sure your team has access to the right training, services, and tech support to help you make the transition quickly and correctly. Ask,](https://reader034.fdocuments.us/reader034/viewer/2022050214/5f5ffd95f4db67574d78fa99/html5/thumbnails/7.jpg)
#4
Before multicore, OS vendors offered broad OS
support over several architectures. Operating
systems provided a set of generic capabilities
and were built on top of common, generic
central processing units (CPUs).
Now many multicore devices have vertically
focused embedded hardware in their proces-
sors. Not only do these processors have
multiple processing cores, they have offload
engines designed to accelerate specific func-
tions. One example is the Freescale P4080, with
a built-in datapath acceleration architecture
specific to 3G and 4G wireless networks. The
Freescale Datapath Acceleration Architecture
(DPAA) has a set of unique, networking
equipment-specific functions built into the
processor. Cavium, NTI, NRMI, and Intel are
also building components into their multicore
chips to create hardware acceleration engines
unique to a particular vertical market.
Today’s operating systems for multicore should
also be specifically optimized for unique
processor chip capabilities. Many modern
processors include coprocessors (e.g., DSP,
graphics, or encryption engines) and a multicore,
general purpose processor. Operating systems
need to be optimized to take advantage of
these coprocessor capabilities. Flexibility isn’t
enough. The platform has to be designed from
the start to take advantage of the hardware-
acceleration capabilities that semiconductor
organizations are investing a lot of time and
money in to better serve vertical markets.
Is your software optimized for your hardware platform?
“ The biggest challenge around multicore and virtualization in the embedded
space has been the requirement for customers to move a significant amount
of code to really take advantage. We see an opportunity to accelerate this
process by partnering with leaders in the multicore environment from a silicon
perspective and a software perspective—strong companies such as Wind River
that can deliver a true partnership and integrated solutions.”
– Anthony Ambrose, Vice President, RadiSys
7 | Checklist for Success with Multicore
Today’s operating systems
for multicore should also
be specifically optimized
for unique processor chip
capabilities.
![Page 8: Checklist for Success with Multicore · Make sure your team has access to the right training, services, and tech support to help you make the transition quickly and correctly. Ask,](https://reader034.fdocuments.us/reader034/viewer/2022050214/5f5ffd95f4db67574d78fa99/html5/thumbnails/8.jpg)
#5
Probably the most crucial element of any
migration from single-core to multicore
architectures is the experience and skill
vendors bring to the table to support you.
Make sure your team has access to the right
training, services, and tech support to help you
make the transition quickly and correctly. Ask,
for example, whether the vendor has experi-
ence with AMP, SMP, and hypervisor solutions.
Is the vendor experienced with offload accel-
eration and optimization? Does it have tools to
support the services? Is it able to work with you
as a trusted advisor to tackle the disruption
that multicore brings to the embedded industry
and use this disruption to your commercial
benefit? The list of questions is long, but the
key element is experience with all aspects of
multicore—including architecture, tools, and
optimization.
8 | Checklist for Success with Multicore
Do you have access to expert multicore support services?
Make sure your team has
access to the right training,
services, and tech support
to help you make the
transition quickly and
correctly.
“ Through our collaboration with Wind River, we’ve been able to migrate from single
core to multicore and grow the business for our customers. They are able to come
up with new products with much higher value, much faster than in the past.”
– Behrooz Abdi, Executive Vice President, NetLogic Microsystem
![Page 9: Checklist for Success with Multicore · Make sure your team has access to the right training, services, and tech support to help you make the transition quickly and correctly. Ask,](https://reader034.fdocuments.us/reader034/viewer/2022050214/5f5ffd95f4db67574d78fa99/html5/thumbnails/9.jpg)
Conclusion
The benefits of multicore are numerous, but to realize them you must avoid the common pitfalls
by planning carefully and selecting a platform with the required level of optimization, flexibility,
and integration.
So before you rush into multicore, spend some time with this checklist and make sure that the
platform and vendor you choose has the breadth, depth, and quality you’ll need at every level:
from the multicore-optimization and scalability of the software platform, to hardware optimiza-
tion, to the virtualization solution, to the service and support expertise. Make sure your
prospective vendor can truly provide everything you need to transform the “potential” of multi-
core into solid business results—today and into the future.
For more information about Wind River’s multicore solutions and support capabilities,
visit www.windriver.com/multicore.
“Wind River is the only company with all the different technologies to solve the
very tricky problems around multicore and virtualization. We’ve got the operating
systems, Wind River Linux and VxWorks, that can configure in different ways
depending on your needs. We have the middleware, such as very high-
performance network stacks. We’ve got professional services that will tie all
these things together, and we’ve got world-class tools that will help you solve
the problems with multicore and virtualization.”
– Tomas Evensen, Chief Technology Officer, Wind River
9 | Checklist for Success with Multicore
![Page 10: Checklist for Success with Multicore · Make sure your team has access to the right training, services, and tech support to help you make the transition quickly and correctly. Ask,](https://reader034.fdocuments.us/reader034/viewer/2022050214/5f5ffd95f4db67574d78fa99/html5/thumbnails/10.jpg)
Wind River is the global leader in Device Software Optimization (DSO). We enable companies to develop, run, and manage device software faster, better, at lower cost, and more reliably. www.windriver.com
© 2010 Wind River Systems, Inc. The Wind River logo is a trademark of Wind River Systems, Inc., and Wind River and VxWorks are registered trademarks of Wind River Systems, Inc. Other marks used herein are the property of their respective owners. For more information, see www.windriver.com/company/terms/trademark.html. Rev. 01/2010
Multicore Success Checklist
Is your software platform truly optimized for multicore?
Is your platform scalable over the life cycle of your devices?
Are you taking full advantage of virtualization?
Is your software optimized for your hardware platform?
Do you have access to expert multicore support services?
#1
#2
#3
#4
#5