Tech Talk

Tech Talk



Sustainability and Software


Manuel Caballero

Senior Software Architect

Image

Background

As part of his “Sound Purpose” strategy, HARMAN’s President and CEO Michael Mauser elevated Sustainability to be one of the seven strategic pillars of the business. What that means for us in R&D is that sustainability is more than just an afterthought, it’s an inherent part of everything we do all the way from product concepts through to building, testing, deploying and supporting products throughout their active lifetimes. As a team, we review all major engineering decisions we make and benchmark them against the rigorous key performance indicators the business maintains for all business activities. It truly is a team effort; everyone is a stakeholder when it comes to sustainability.

Why do this?

Even though it may seem a lot of work to consider sustainability right down to individual technical design details, when considered holistically, it makes sense however you look at it. We all want the best for the environment but what we also find is our customers appreciate it, it’s good for our products and it’s good for business.

How can software affect sustainability?

On the surface of it, it almost seems implausible that software can make a significant difference to a product’s sustainability. After all, many aspects of sustainability relate to the raw materials used, how they are manufactured and how they are disposed of at the end of the product’s useful life. Software doesn’t have raw materials, it’s not manufactured and has no disposal footprint (e.g. landfill or incineration), so why would we consider sustainability when we design software?


Image

The answer to this apparent paradox is that products now feature increasing amounts of software. Many products from 20-30 years ago would feature little or no software but now, there can be vast amounts of software in a product. The apparent paradox remains though, how can this affect sustainability? The answer is intelligent use of power and extended product lifetime.

The power used by an electronic product directly relates to its in-life sustainability as put simply, more power consumption equates to more emissions as the power has to be generated and distributed. As technology advances, there is an opportunity to use software to intelligently control how power is consumed by a device – far more so than designs of yesteryear which were simply on or off. The lifetime of a product is determined by the usefulness of a product to a customer. In the rest of this article, I’ll describe how software can reduce power consumption and extend the useful lifetime of a product.


Making a difference

When we design a product, we review how we can improve the efficiency of a product. Here, I will define efficiency as the performance of a product balanced against its environmental footprint - generally, how much power it uses.

Our hardware engineers have done this for many years but in recent times, we have appreciated just how much software can contribute to efficiency. We use some basic tenets to guide individual design decisions for software sustainability:

  • Using the modern, efficient processors to run the software. Of course, a processor is a hardware device but it exists to run software so our team has to agree which processor is the best option and power efficiency is considered for the hardware (the processor) and how it is used (by the software).
  • Helping customers operate the product in the most efficient way such as offering options for performance levels when a device is operating or while it is in standby. We make it easier for customers to make the right choices when it comes to efficient operation of their devices. By default, most of our products ship configured for the most efficient standby power level by default.
  • Software upgradeability offers the ability to considerably extend the useful lifetime of a product. In a world where technology advances at an increasing pace, it can be very easy for a product to slide into obsolescence even though it is in perfect working order. Obsolescence is directly related to sustainability as the handling of products at the end of their useful life has a significant impact due to disposal. Whilst great strides have been made in recycling of electronic equipment, the amount landfilled or incinerated remains a critical sustainability issue. The impact of manufacturing also needs to be considered. As many of our products are connected devices connected to the Internet, devices can be upgraded easily using Over the Air (OTA) updates. Even products that are not connected such as amplifiers, these can be easily updated by customers using a USB stick.

Image

What we do already

We consider many aspects of software efficiency during product design but I will highlight examples of some key efficiencies we have already achieved in current product developments.

Do more with less

One rather obvious way to save power is to do less. By thinking carefully about system design, we can move functionality around in a system so that fewer resources are consumed. One recent example is migrating a digital crossover filter from a large multi-core processor to a much smaller one used for system control. The algorithms run far more efficiently on the smaller processor and this makes a measurable reduction in the unit power consumption for very little additional development effort.

Use advanced hardware features in microcontrollers

Modern microcontrollers have features that can make the design more efficient if the feature is used correctly. One example is DMA (Direct Memory Access). With DMA, we can move audio through the system with far less software intervention. The less we use the microcontroller core (which runs the software) the less power the system uses.

Modern processors also offer advanced power management features which allow various parts of the system to be placed in standby or even shut down completely when not in use for the task in hand. One example of this we designed into our new ARCAM products is to copy code from external Flash memory to internal microcontroller memory and run it from there. In addition to saving power there are other advantages including faster performance and a significant improvement in radio frequency emissions which results in a measurably improved sound quality.

Using these features requires slightly more effort in the design and development stages but the efficiencies gained are significant.

Network standby

As mentioned earlier, many of our audio products are online devices. Customers expect their online products to be responsive and don’t appreciate a product that takes tens of seconds or more to be ready to use when required. We put considerable effort into ensuring our designs use the least amount of power when in standby and all our connected products offer users a choice of standby modes so customers can choose the balance between responsiveness and power consumption to suit their preferences. Achieving this is a complex design topic and our developers work closely to ensure all our products meet or exceed all regional requirements.


Image

What does the future hold?

The future of software sustainability is exciting and there is a lot of innovation going on in this space.

  • Whilst tempered by the increasing complexity of products, microcontrollers are getting more efficient and their potential to allow increased software efficiency is also enhanced.
  • One particularly promising technology for software sustainability is to build sustainability into the compilers used to convert source code (the code written by a developer) into machine code that is run (‘executed’) on the microcontroller. There is a lot of research going on in this area and the result will be that some aspects of sustainable software are handled automatically by the compiler so that less effort is required during development to achieve increased efficiencies.
  • Using Artificial Intelligence (AI) to allow a product to learn more about how it is used and adapt itself to use less power. One example of this would be a unit to learn a customer’s usage patterns over time and adjust the standby power level so that the unit achieves peak responsiveness based on those usage patterns.