Using Open Source Designs to Create More Specialized Chips
The open source movement changed how companies build software. Facebook, Twitter, and Yahoo employees pitched in during the early days of the data-crunching software Hadoop. Even after the relationship between Apple and Google soured, the companies’ coders kept working together on an obscure but important piece of software called LLVM. Microsoft now uses and contributes to the Linux operating system, even though it competes with Windows.
The embrace of open source isn’t about altruism. Facebook started using Hadoop because there was no commercial off-the-shelf software that met the company’s needs as it grew. Because Hadoop is open source, Facebook could customize and extend it to solve its specific problems; sharing its changes allowed others to innovate further, making the software better for Facebook and all other users. Collaborating on freely available code enables companies and programmers to pool resources to solve common problems and avoid reinventing the wheel. Companies build competing products and services from these open source foundations that they might never have been able to build otherwise.
But the open source revolution has been slow to come to the hardware world. A number of open source gadgets and circuit boards have been released in recent years, but while it’s possible to run a laptop or server on nothing but open source software, the inner workings of our gadgets remain proprietary.
An open source chip architecture called RISC-V could soon help change that. Chip maker Nvidia and storage company Western Digital have both announced plans to use RISC-V chips in their core products, and dozens of other companies have joined the RISC-V Foundation, including Google, Tesla, and chip giants like IBM, Samsung, and Qualcomm. RISC-V isn’t the first open source chip architecture, but it’s unusual for such a project to attract much attention outside of academia.
David Patterson, a computer architecture pioneer and vice chair of the board of the RISC-V Foundation, hopes RISC-V will lead to the creation of faster, more efficient, and more secure chips. Chip makers could, for example, collaborate to solve sticky problems like Spectre, the nightmarish security flaw that affects virtually all computer and smartphone chips. “The problem with proprietary architectures is that you have to work for the company, whether that’s Intel, AMD, or Arm, if you want to improve on the designs,” Patterson says. “The Spectre problem is a difficult challenge in computer architecture, what we need is everyone working on it.”
RISC-V isn’t a design for a full chip. It’s what’s called an “instruction set architecture,” which Patterson describes as the “vocabulary” that hardware and software use to talk with each other. RISC-V is a common vocabulary that all chip makers can use when building their chips. It includes a core set of instructions and optional instructions that a chip maker can add, depending on the needs of a particular chip.
RISC, which is short for “reduced instruction set computing,” is the concept of using streamlined, minimal vocabularies in chip design. Patterson helped pioneer the concept at the University of California, Berkeley in the early 1980s, and his team coined the term. But early academic work on RISC didn’t define a complete instruction set. In 2010, a group of professors at Berkeley created their own RISC instruction set to use in class. That eventually evolved into an ongoing project that attracted the attention of the technology industry, so they put together the RISC Foundation to manage the project.
Patterson thinks RISC-V will be useful in creating more specialized types of chips, as opposed to the one-size-fits-all central processing units made by companies like Intel. Specialized chips aren’t new—Nvidia has been selling specialized graphics chips since the 1990s—but the idea has taken off in recent years as companies explore artificial intelligence and try to pack more computational power into everything from cars to barbecue grills. For example, Google uses its “Tensor Processing Units” (TPUs) in its data centers, and its Pixel 2 phone contains a custom chip called the Visual Core that powers the gadget’s camera.
Linux is a helpful comparison. The Linux kernel is the core of the operating system that translates the basic input from your keyboard, mouse, or touchscreen into something that software can understand. It is the heart of Red Hat Enterprise Linux as well as Google’s Android operating system for phones and its Chrome operating system for PCs. Those operating systems are used for different purposes, but using the same kernel saves Google and Red Hat from figuring out how to support a plethora of hardware on their own. Likewise, companies could build different types of chips using the the RISC-V instruction sets as a base.
Chip makers can already save time and adopt common foundations by licensing instruction sets and chip designs from companies like Arm and Synopsys, neither of which is a member of the RISC-V Foundation. And many do. Arm’s designs are used in the vast majority of smartphones, for example, and the makers of those chips pay to license the the company’s intellectual property. Since RISC-V is free and open source, companies can use it as the foundation for their own chips without paying a licensing fee.
But the point of RISC-V isn’t just to help companies save money on chip licenses, just as open source software is more than a way to avoid paying for licenses for Microsoft Windows or Oracle’s database software. The real benefit of RISC-V is that it could enable companies to build chips that better meet their needs. Western Digital CTO Martin Fink says the company is using RISC-V as the basis for customized instruction sets for different uses of its devices, such as playing videos or editing photographs.
Fink says RISC-V chips will complement rather than replace Arm and Synopsys chips in its products. There’s not a pressing need to create new chips where old designs will suffice. But because companies like Arm place limits on how much its customers can change its designs, Western Digital needed something more flexible.
Arm spokesman Phil Hughes says the company limits how other companies can change its designs to avoid fragmentation. Developers expect their applications to work correctly on any Arm device, and allowing companies to make changes that break compatibility would be bad for everyone. But he says RISC-V architectures may be useful when companies like Western Digital want a more customized solution.
Semiconductor industry analyst Linley Gwennap agrees that RISC-V makes most sense for these sorts of niche applications where a company needs a bespoke solution. But he says the RISC-V ecosystem lacks the support and testing that more established companies can provide. “The fact that RISC-V is free and opens source is great, but it doesn’t mean you get the full package of services you get from Arm or Synopsys,” he says.
That’s often an issue with open source software as well. Linux started as a hobby project for a single developer. But soon companies like Red Hat offered commercial support that made it viable for large corporations. Likewise, companies like Cloudera, Hortonworks, and Mapr emerged to support Hadoop. For RISC-V, a company called SiFive, founded by Berkeley professor and RISC-V project lead Krste Asanović, aims to fill that gap. The company designs and sells RISC-V chips, and offers licenses and support to other companies.
And even if RISC-V never really takes off, it does show one thing. Chip makers are learning to share.