The resources that technology uses in the production and operation of embedded systems and devices are coming under increased scrutiny. Whether it is an intelligent industrial robot, an autonomous driving vehicle, a smart imaging equipment, or an advanced surgical support robot: consumption and sustainability are issues that embedded device manufacturers need to address. In particular, as more and more applications become “software driven”, embedded software has a greater role in many aspects of optimization, including improved sustainability. Therefore, choices made in software technology and engineering can help reduce the energy use and improve the efficiency of a system, hence contribute to lessen the environmental impact of the product over its entire lifespan.
Energy efficiency
An ever greater proportion of functions are now software-based. This, consequently, means there is more code to run, with bigger processors and more memory resources often needed to support it. This all adds to the overall power budget. By utilizing a real-time operating system (RTOS), all of the software functions can be managed in a way that minimizes power consumption (with sleep and fast wakeup modes enabling functions to remain dormant when they are not required, for instance). For this to work, a reliable RTOS is needed – one that is scaled appropriately. It should be tailored for the specific target hardware too (so there is no excess). In addition, it needs to be configured properly, thereby allowing the energy saving features incorporated to be used with full effectiveness.
Aggregation and consolidation
Modern multicore RTOSs allow the efficient use of multicore/manycore processors, which results in the aggregation and consolidation of various separate control units into a few controllers. Having less computing units contributes to reduce the overall energy consumption of the system. It also results in less hardware manufacturing and usage (less chips, less cases, less connecting and wiring, etc.). All of which have a positive environmental impact on the production side.
Optimized throughput performance on multicore
On multicore hardware, software must be parallelized to the existing number of cores. By improving parallelism and thus the multicore system performance, less CPUs are needed for better results and lower power consumption.
Optimized programming language
Computer programs are compiled and translated into instructions that are placed in memory and executed by a CPU. The amount of electricity consumed by this process depends on many factors, including what programming language was used to write the program and how well the program was written. Interestingly, programming languages that limit elegant and intuitive expression, seem to be more environmentally friendly. C, Rust and C++ are the most efficient technologies (when accounting for execution time, energy consumption, peak memory usage, etc.).
Low memory footprint
Memory usage influence energy consumption. Using a low memory footprint RTOS helps reduce energy use, and it therefore improves system sustainability.
Green software engineering
Some product features and requirements need to be carefully considered in light of what they mean to the overall environmental impact. Environmental elements of software like energy efficiency or data size can be calculated and metrics obtained. Software in embedded systems doesn’t exactly have room for bloat (and the less bloated it is the less resources it uses, the smaller the processor and memory it needs). Therefore, good product ownership practices, including ruthless feature selection, must be applied during the engineering cycle. Many small changes in software can add up and have a big environmental impact in the end. Every watt saved on an embedded system can make a real difference when we’re talking thousands or even millions of devices.
Greater sustainability with eSOL OS
As we have seen, software can definitely make a difference in the environmental impact of an embedded product. An impactful decision lies in the selection of the Operating System. eSOL’s eMCOS high-performance, scalable RTOS platform represents an ideal software solution to develop sustainable software-defined embedded systems. Its multikernel modern design enables ultimate performance and optimized parallelization on multicore hardware, and contributes to computing aggregation and consolidation. eSOL’s eMCOS benefits from a small footprint as well as the supported programming languages – including C, C++ and Rust – that also help minimize memory and energy usage. Last but not least, based on their automotive, industrial and consumer background and experience in real-time embedded development, eSOL’s consultants can offer recommendations on the best possible usage of eSOL software products, and suggest different approaches to ensure that the most optimal software design decisions are made for better product sustainability.
Laurent Mares,
Vice President Sales, International
About Laurent: With over 30 years of experience in international sales, marketing and services management of complex solutions across multiple industries, Laurent has developed an intimate and passionate knowledge of the embedded technology markets. He occupied sales and marketing management positions with the likes of Krono-Safe, PTC, Atego, Aonix and Thales Computers (now part of Kontron), where he lead sales and operations for Europe and Asia/Pacific, and went on to join eSOL in September 2019 as Vice President of International Sales. |