On Agile Hardware Development

Alexey Akhunov
Feb 10 · 5 min read

This is continuation of my research started in this post, specifically the claim 3, “Hardware design shops are getting better at what they do”.

Yesterday evening, I read an article in ACM Communications magazine, called “A New Golden Age for Computer Architecture” by John L. Hennessy and David A. Patterson (yes, it is the same Patterson as in Fisher, Lynch, Patterson in FLP-impossibility that is often quoted by consensus algorithm researchers).

Here is the video of the talk (given by David Patterson on 13th of June 2018) that goes over the same points as the article, and more. I will go over the main points that I think are relevant in the context of cryptocurrency mining and other application of specialised hardware in blockchain/cryptocurrency industry (STARK prover hardware, elliptic curve units, finite field arithmetic units, etc.):

Google TPU

Around 36:05 in the video.

TPU — Tensor Processor Unit, developed by Google and announced in 2016

Google announced TPU (Tensor Processor Unit) in 2016, which is currently the most famous example of DSA (Domain Specific Architecture). For machine learning, TPUs were announced to be 10x faster than completion, and it is now used by billions of people. It also sparked a lot of interest in DSA and tons of activity like creations of startups and acquisitions. Clock speed is lower than CPUs or GPUs, matrix multiply units use systolic architecture, there are no hierarchical memory caches, it has more on-chip memory than GPUs. Performance per watt is 83x better than CPU, and 29x better than GPU.

New architects/designers are needed

Around 38:52 in the video.

Up to now it has been that the Instruction Set specs were binary compatible. Now we need new type of “vertical” designers who understand applications, DSLs (Domain Specific Languages), compilers, hardware architecture, and the implementations. Because hardware spec can be flexible too.

Open architectures

Around 39:28 in the video.

When they started with RISC-V at Berkley, they wanted to use x86 & ARM instruction set architectures, but they were both complicated and had IP issues. They instead decided to create a “clean-slate” architecture in 3 months, and released frozen spec in 4 years (yes, it took a bit longer than planned).

Now everyone can use RISC-V (and people already do) as an Open Architecture.

Now RISC-V Foundation counts more than 100 members (and growing), and companies like NVidia and Western Digital are switching their controller chips to RISC-V.

The goal of Open Architecture is “Create industry-standard open ISAs (Instruction Set Architectures) for all computing devices — Linux for processors”.

Agile Hardware Development

Around 47:12 in the video.

New CAD (Computer Aided Design) enables software development techniques to make small hardware development teams productive via abstraction & reuse.

A slide from David Paterson’s presentation about stages of Agile Hardware Development

Couple of things I did not appreciate until I read the article and listened to the video:

All these things reduce the cost (and will continue to reduce it even further) for hardware design.

Golden Age of Hardware Architecture is upon us

According to J.Hennessy and D.Patterson, the Golden Age is coming!

Hardware architects will now need to optimise energy and performance without better transistors.

If J. Hennessy and D. Patterson are right, then we need to be much more used to the idea that hardware design will become more sophisticated, open, and competitive, and trying to fight this trend is conterproductive.

Interesting questions and answers

Conclusion

A lot of thinking, arguments and intuition about hardware that still prevail in the public domain are based on the last 50 years of history where the trends like Moore’s law, Dennard scaling, and microminiaturisation of transistors were on-going. As most of these effects cease to apply, we find ourselves in the new world, the “Golden Age of Hardware Architecture”, which requires new thinking, and understanding that the improved architecture will now become the most important tool for advancements in specialised hardware.

How does it relate to Ethereum and ProgPOW, for example? I think there is still a misplaced belief that it is very hard or impossible to beat GPUs on ProgPOW with a specialised hardware, based on a different architecture. Google TPU is an example where modifying architecture (without modifying parts like memory) gives 29x advantage over GPUs. GPUs as they currently stand, are still way too general-purpose.