Board Farms - A Precursor to Remotely Managed Factories?

Image Source: Prpl Foundation

I initially got interested in board farms because a client of mine, Softnautics, is working with several companies to build and develop the software infrastructure required to run such farms. As I started looking for reading material on the web, it wasn't easy to find a page that explains what a board farm is in simple terms. There exist a number of amazing sites like elinux.org that curate lists of products, software repositories and tech presentations intended for the power users. My intention here is to only provide an introduction to this topic and not delve into the details. Readers that have a deeper interest can explore other resources further.

First a bit of history. Here's an intro from the Prpl Foundation

Mike Anderson here, an Engineer at Qualcomm Atheros, Inc. We recently posted a new open source project to Github that I’m pretty excited about, called boardfarm.  It was created two years ago, and has been used daily to automatically flash new OpenWrt-based software and package files onto hardware, run basic sanity tests, and save results.  It’s been a great help by catching kernel panics, memory leaks, networking bugs, and more.

When boardfarm is used along with continuous integration software, like the open source Jenkins, it becomes even more powerful because, for example, it can be triggered to run automatically every night to test new code.  This allows issues to be caught immediately.

The name boardfarm originally came about because we setup several routers on one table to create a “farm” of devices. A “boardfarm” is really just a stable test bench setup. There are plenty of closed-source networking test benches that easily cost tens of thousands of dollars. Those devices usually use Virtual Machines connect to the LAN & WAN of routers and run networking tests. We’ve created a powerful alternative to that test equipment based on open-source solutions.

Using console/ssh servers and network-controlled electrical outlets, we made all these devices available remotely, over the local network. That allowed developers and testers in totally different cities to connect to the same routers and devices to test and debug issues.

At a high level, a board farm is the software and hardware infrastructure needed to control the devices under test (DUTs). As a user, you must be able to how to configure the DUT, install a board support package (BSP), boot the board using the BSP, and run tests. You must also be able to control the power (voltage levels and current) supplied to the DUT, access the kernel serial console, control button presses and control connections between the host and the DUT. The best part? You can do this using a web browser. 

That said, board farms didn't really see their moment of glory till the Covid-19 pandemic descended upon us like a ton of bricks. It's easy to build software remotely, but how do you test whether it's working across a myriad of Arm processors used in a different systems that your company itself builds? The answer obviously is a board farm. With its origins in nerdy backroom science projects just a few years ago, it has definitely arrived now. With a workforce that spans the globe, most major corporations involved in hardware and systems development have to make boards available to all users, anywhere, all the time, for development, integration and testing. This does not work without the cloud - whether the DUTs live in someone else's data center or on your premises - the development of cloud infrastructure and the utilities needed to control computers remotely have most certainly been the real game changer.

I came across this board farm survey run by TimeSys, a company that provides and embedded board farm cloud. As WFH starts stabilizing around 30%, it's a good time to correlate this survey with the chart below:


Source: American Historical Time Use Survey

NASA after all has been controlling its spacecrafts remotely in deep space for a long time, but I just find it mind blowing that you can turn a board on or off from thousands of miles away, reflash it, and make it do things differently than what it was born with. I still remember the days when you couldn't even reliably cut software release CDs without introducing new bugs during every testing cycle. 

Yet to be known - how does AI fit into this? There certainly is a play - perhaps with fully automated, remote control factories, or something more dystopian. Only future will tell.

A few examples of companies that are using board farms:

NXP Networking Board Farm

  • Xilinx
  • Analog Devices 
  • Green Hills
  • Marvell
  • Texas Instruments
  • Arm
  • Intel
  • Apple
  • Liberty Global 
  • TongJin Technology
  • SFR & Altice
  • Nvidia
  • Innophase
  • Microsoft
  • Ampere
  • Ametek





Comments

Popular posts from this blog

The Truth About Semiconductor Services Company Acquisition Prices

New US Sanctions on Chinese AI/ML and Semiconductor Industry and its Impact on India