Thank you to all our customers, partners, family and friends for continuing the journey with us in 2020. We can't wait to get started on... More
April 17, 2020—
The Era of Domain Specific Processors
Enter the era of domain specific processors – that empower the future of infrastructure.
By: Vipin Jain
This article by Pensando Chief Technology Officer Vipin Jain was originally posted at the Forbes Technology Council
A processor for doing better AI, a processor for making cars safer, a processor to build a better cloud, a processor to build better databases, a processor for doing IOT services, a processor to do massive analytics, and many more to come. Enter the era of domain specific processors – that empower the future of infrastructure.
The number of available domain specific processors will continue to grow enabling new use cases, improving security, and achieving efficiency of unprecedented proportions. In this blog, we discuss the fundamental reasons for this transformation and the benefits expected from the new undercurrents.
There are three reasons that suggest we are at an inflection point.
First, as Moore’s law reaches saturation, general purpose processors are not matching the insatiable need for compute for a variety of use cases. Domain specific processors help alleviate this need by building the primitives for the domain e.g. an instruction-set to do faster matrix multiplication, or native primitives to perform text search in nanoseconds.
Second, the emerging use cases that can’t be satisfied using status quo processors either because of capabilities or the power/cost profiles. For example, doing image recognition is a requirement in today’s cars, something that was an exotic feature a few years ago. Another example is the ability to analyze traffic for detecting anomalies, which today is prohibitively costly.
Third, increased technology adoption enables volume production to help bring down costs. For example, the volume of cars that need to be smarter is very high. Similarly, the rise in public cloud adoption, increases the volume of data center build-outs and related manufacturing efficiencies making it very attractive to build a domain specific processor.
It might seem like these ideas have been attempted before, but in reality the driving factors for them to be successful were not really there. For example
- They served niche use cases such as GPUs
- The technology was not made available to a wider audience i.e. the technology was not software consumable
Software is still going to eat the world
Indeed we talk about building silicon but that doesn’t change the reason why software is equally important for the future of how compute resources are consumed for various use cases. Many components of the software which today is run on general purpose processors can be adapted to run on domain specific processors. The usability model will be equally easy with domain specific processors. And yes those python modules and Java/Go packages will continue to be made available to help with wider adoption and democratization of technology.
The simplicity of programmable abstractions is what made processors so popular for decades.
A domain specific processor is different from fixed ASIC functions and FPGAs in two ways. First, it is easy to learn and write a program to run on the domain specific processor with high level language constructs i.e. this enables a wider community of developers, therefore giving freedom to innovate to a larger audience. Second, a domain specific processor is faster and more efficient than an FPGA but slower than a fixed function ASIC.
Overall, a domain specific processor is a cheap, yet flexible way to perform computation and process information for a given domain in a democratized way.
The Domain of Message Processing
In the future applications will be distributed across multiple systems that rely on the network packet/message exchange to achieve a task. Therefore the need exists to have a foundational infrastructure that can run distributed applications with high performance, low cost, and yet very securely. The processors built for message processing can perform network, storage, security, or telemetry for edge devices. The edge being IOT, 5G or compute systems within a private/public cloud. Users can be expected to add or improve infrastructure services, such as cloud virtualization, network security, encryption, network routing, stateful load balancing, run TCP stacks, do URL parsing, collect and aggregate metrics, wiretap traffic, probing, tracing, implement quality-of-service, traffic scheduling, fairness enforcement, data compression, traffic engineering, and many more functions that haven’t crossed our minds yet. The processor can provide various functions simultaneously at wire speeds while maintaining superior scale.
Of course, the processor for the message processing domain needs to be built from the ground up, with a fresh perspective about the primitives and an instruction-set that can satisfy the use cases for the domain. Subsequently an assembler and compiler must be developed to be able to easily leverage the processor’s capabilities.
Domain specific processors will prevail and thrive in the upcoming decade to enable a variety of new use cases while improving security and efficiency. As the demand for cloud computing and edge cloud grow, the building blocks for cloud computing will need to evolve to newer heights to look at building message/packet processors.
About The Author: Vipin Jain has been part of many successful Silicon Valley startups with engineering and management roles. He is cofounder and CTO at Pensando Systems.
About Pensando: Pensando means thinking in Italian, and the company alludes to a new way of thinking!