Conrad loves audacious hacks, and inspiring people to train their coding muscles. He sees trading systems as a fantastic proving ground for cutting edge technologies, with natural competition and access to resources.
Before trading he worked on low-latency streaming servers for audio/video at CSIRO, Pixar, Wikimedia and Renesas Japan. He studied at Kyoto University, developing a love of Haskell and respect for type theory.
YOW! 2016 Brisbane
FPGA Microservices: Ultra-Low Latency with Off-The-Shelf Hardware
TALK – VIEW SLIDES
How fast can we possibly make microservices?
You can have sub-microsecond wire-to-wire response times using off-the-shelf hardware and familiar languages. I’ll show you how to put the technology in place, but that’s the easy part. Why on earth would you want to do this, and how could you possibly stay agile?
An FPGA-powered network adapter can have a response packet on the wire before the server operating system has dispatched the incoming packet, and well before a high-level web stack has even heard about it.
To do this, you need to use hardware design for part of your microservice; you’ll use a programming language that allows intricately parallel expressions. I’ll show you how to do this using Haskell to compile to VHDL, then we’ll tackle the scary parts:
- How do I test and deploy this?
- Can I keep my continuous refactoring and continuous delivery?
We’ll walk through building a toy microservice, and see how to test and update it. We’ll talk about how this fits into the broader architecture of your service, and (crucially) how to convince the people around you to enjoy the challenge.
FGPA, Microservices, Haskell, Hardware Design, Test, Deploy. Continuous Integration