12 min read

Single Root I/O Virtualization (SR-IOV) -Pt 2- LynxOS-178 10G network benchmarkS

By Tim Loveless | Principal Solutions Architect on Mar 16, 2021 12:33:11 PM

_______________

Single Root I/O Virtualization (SR-IOV) virtualizes network interface cards (NICs) to allow a single NIC to present itself as dozens of virtual NICs to a hypervisor. It is a hardware standard, part of the PCI-SIG (Peripheral Component Interconnect - Special Interest Group) and is heavily used in data centers. It is a key software defined networking (SDN) component that allows data centers to efficiently host internet servers as virtual machines (VMs). SR-IOV provides a pool of hardware virtualized NICs that a cloud computing platform such as OpenStack dynamically assigns to VMs as they are launched. This infrastructure uses Linux orchestration platforms and mainly Linux based enterprise guest OSs.

In our first blog post on the topic (Part I), we saw that the Intel® Atom® C3858 (Denverton) Processor has 4 built-in X550 NICs that present 256 virtual NICs. LynxSecure was used to build a system with 5 Buildroot Linux guests, 4 of which used virtual SR-IOV NICS. This article (Part II), takes the next step and illustrates how to build a system with 3 LynxOS-178 RTOS guests and a Buildroot Linux. LynxSecure is used to assign 14 SR-IOV NICs to the guests before we run benchmarks to measure the overhead of SR-IOV virtual networking. These are high performance 10G bit/sec NICs, so the benchmarks are also an interesting comparison of Linux vs LynxOS-178 networking performance for UDP and TCP at various packet sizes.

Topics: Multicore Safety MCP embedded systems hardware development Single-root IO Virtualization hypervisors virtualization software certifications Virtual Machines 10G Benchmark
10 min read

Who Needs a Hypervisor?

By Tim Loveless | Principal Solutions Architect on Feb 25, 2021 12:59:58 PM

_______________

The standard benefits of a hypervisor are well known and often touted. Every RTOS has its hypervisor and they do genuinely help embedded designers to:

  1. Partition multicore processors into virtual machines; an elegant way to consolidate OSs
  2. Isolate guests; to improve security and safety
  3. Oversubscribe high performance multicore processors; use time slicing to host more OSes than cores
Topics: Multicore Safety CAST-32A Certification MCP embedded systems hardware development hardware interference software certifications DO-178
11 min read

What is Cache Coloring and How Does it Work?

By Tim Loveless | Principal Solutions Architect on Feb 5, 2021 11:52:40 AM

_______________

There are substantial challenges in building secure and safe systems on multicore processors (MCPs). Last level cache contention is undoubtedly the largest source of multicore interference, and a significant challenge for real-time systems. Here we discuss a proposed solution, called cache coloring. Opinions on cache coloring are mixed, sometimes extreme, and the implementation can be difficult and risky. This article aims to demystify cache coloring by clarifying exactly how it works. We hope that the example using a real Intel processor and accurate diagrams allows you to grasp cache coloring without getting lost in lines, sets and ways.

Topics: Multicore Safety TC-16/51 CAST-32A Certification MCP embedded systems hardware development hardware interference software certifications DO-178
6 min read

On reference architectures

By LYNX Software Technologies on Jan 8, 2021 11:57:36 AM

What is a reference architecture?

The term “architecture” seems to be in ever increasing use in its technological context. As an extrapolation from the construction term that Frank Lloyd Wright would have been familiar with, its definition as the “overall design of a computing system and the logical and physical interrelationships between its components” is intuitively obvious. The fact that the architecture specifies the hardware, software, access methods and protocols used throughout the system comes as a surprise to no-one.

Topics: Multicore Systems Architecture architecture CVEs embedded systems development Open Group Open Standards separation kernel hypervisors virtualization Reference Architecture
25 min read

Challenges Building Safe Multicore Systems

By Tim Loveless | Principal Solutions Architect on Jun 15, 2020 8:12:09 AM

_______________

Topics: Multicore Safety TC-16/51 CAST-32A Certification MCP embedded systems hardware development hardware interference software certifications DO-178
20 min read

What Are the Most Popular Real-Time Operating Systems?

By Ian Ferguson | VP Marketing on Nov 14, 2019 10:49:00 AM

WHO ARE WE?

Lynx Software Technologies has built and supported real-time operating systems (RTOSes) since 1988. We have witnessed hardware and embedded software technologies evolve and have supported our customers through the design, development, integration, certification, deployment, and support of software systems across mission-critical applications in AVIONICS, INDUSTRIAL, AUTOMOTIVE, UNMANNED SYSTEMS, DEFENSE, SECURE LAPTOPS, CRITICAL INFRASTRUCTURE, and other markets.

Topics: Multicore linux rtos embedded systems development real-time
20 min read

Do You Need a Real-Time Operating System?

By Chris Barlow | Technical Product Manager on Nov 11, 2019 10:29:00 AM

_______________

Do Real-Time Operating Systems (RTOSes) consistently provide the most effective platform for realizing your embedded software system design?  Most RTOS vendors seem to think so, frequently citing RTOS benefits while rarely discussing the disadvantages.  Too often, the question "Do You Need an RTOS?" is interpreted, "Which RTOS Do You Need?"

Topics: Multicore Systems Architecture rtos embedded systems development real-time
9 min read

Embedded Best Practices at Arm Tech-con

By James Deutch | Principal Field Applications Engineer on Oct 17, 2019 2:13:00 PM

_______________

Lynx participated in this year’s Arm TechCon with a booth in the expo hall, where we demoed Lynx MOSA.ic and its components — LynxSecure®, Buildroot Linux, LynxOS-178®, and Lynx Simple Applications (which are bare-metal apps).  It was great to see people walk down the hallways and stop in the aisle to examine the Automotive demo and Industrial demos.

The concepts behind the demos apply across multiple industries and use cases; we simply chose to highlight these concepts in the context of these two markets for the purpose of putting together the demos.  For more information on the Automotive demo, you can read Chris Barlow's blog post.  Below you can see a close-up of the architectural graphic shown on the notebook’s screen:

Topics: Demo Multicore Safety MCP Least Privilege Systems Architecture Arm Tech Con Security Trusted Codebase embedded systems partitioning privilege escalation development real-time Technical Blog
16 min read

How to Choose a Real-Time Operating System

By Tim Loveless | Principal Solutions Architect on Oct 14, 2019 10:32:00 AM

_______________

Choosing an RTOS is not as simple as choosing a car.  We know about cars; we know their strengths and weaknesses and we intuitively understand compromises like performance vs practicality or luxury vs price.  We see all kinds of vehicles on the road, so the range of available cars is obvious. When choosing an RTOS, the middle ground is crowded—dozens of general-purpose RTOSes with broadly similar characteristics compete.  They all have a scheduler, services, libraries, middleware, technical support, and graphical tools. Any one of them could genuinely do a good job and so choosing between them is a mixture of quantitative metrics (like features and price) and qualitative measures (like past-experience, personal-preference, and reputation). 

Topics: Multi-core Avionics Lynx MOSA.ic™ Multicore Safety MCP Systems Architecture Security linux embedded linux rtos embedded systems development real-time
12 min read

What is the Cost of a Board Support Package?

By Tim Loveless | Principal Solutions Architect on Oct 1, 2019 10:35:00 AM

_______________

Topics: Multicore Certification MCP embedded systems TCO hardware development BSPs board support costs