Program FPGAs with Go!
Reconfigure.io brings the power of hardware-acceleration technology to the cloud ecosystem
FPGAs in the data center
FPGAs are pushing into data centres, bringing the potential for massive performance gains across AI applications. But, the skills to program and reprogram these chips are hard to come by, and aren’t part of the current DevOps and data science skills set…
Reconfigure.io tools enable existing teams to realise the potential of software defined chips.
With Reconfigure.io, teams use their existing skills to deliver hardware accelerators into data centres within software timeframes.
Case study: Finance
Traditional server technology can’t keep up with the requirements of changing regulations and the demands of peak-time trading.
Accelerated trading
For brokers and banks, latency is now deterministic; a race to reduce latency in hardware accelerated trading systems has begun. FPGAs provide the solution for low latency, data heavy use cases, but there are problems to overcome: FPGAs are hard to program, and quick changes to chip designs can be costly if engineering is outsourced.
Financial institutions are using hardware acceleration to enhance their electronic trading infrastructure to achieve best performance across all aspects of business: from risk checking trades to ingesting data from international markets. Next,
Drivers
FPGA accelerated trading in capital markets
Trading during peak periods provides the best opportunities for profits, but also the largest risk of potential losses. The quantity of data that trading systems must consume and process during peak periods surges to a level where CPU-based systems slow and become ineffective.
MifID II brings with it new requirements for openness in reporting, monitoring and controlling transaction data to ensure best execution compliance. Having a tech infrastructure capable of obtaining and using data correctly is key. Regulations now require brokers to have controls in place to monitor and cancel or stop clients trading if required. Such systems need to be a fast as possible to reduce the impact to a client’s trading strategy.
Background
Over the past 10 years these drivers created a technology arms race and an early adoption of FPGA solutions that dramatically reduce processing latency and make latency deterministic. These factors are critical in delivering predictable and successful electronic trading systems.
Following the 2010 flash-crash, deployment of FPGA systems plateaued, but we are now seeing a renewed interest and demand for this technology from buy-side and sell-side trading participants. This is also evidenced by recent strategic acquisitions, such as Altera being bought by Intel, and Metamako by Arista.
A platform for software defined chips
FPGAs are the solution to the issues faced in high-frequency trading: market volatility and regulations around reporting and transaction management, but there are some problems to overcome first …
FPGAs are hard: Delivering native FPGA solutions is hard and costly, it requires teams of highly specialised engineers, long development cycles, and time to market is slow – typically 2-3 years.
Solutions tend to be rigid where new features cannot be added easily. For these reasons FPGA technology is currently not accessible to firms who lack these rare skills and significant R&D resources.
The solution: Next generation tools
This renewed interest in FPGAs as a solution to AI and big data sets brings new opportunities…
Reconfigure.io pushes the usability and flexibility of FPGAs in line with traditional server technology. Now DevOps teams currently working within financial institutions can deliver FPGA-accelerated systems in-house.
Some features of the Reconfigure.io platform
Performance
We provide a development platform DevOps teams will be comfortable with from the start, allowing developers to start creating custom accelerators straight away.
Agile
Our service allows developers to create Software Defined Chip designs at a speed compatible with modern software practices: CI&CD, Agile etc.
Ownership
Our platform allows businesses to use their existing skill-base to deliver leading edge solutions, and because in-house teams create the designs, you own the engineering.
Platform
Our platform includes a powerful build and optimisation service, easy to use command line interface, and familiar workflow.
Community
We’re building an open, supportive community to help us give guidance and inspiration to our users and prospective customers.
Resources
Our Go libraries provide a growing set of FPGA-targeted functionality for developers to incorporate into their designs.
The benefits of FPGAs
Familiar Tooling
Code in a high level language and deploy using our platform. No specialist skills required! Our tooling is inspired by software development and open source methodologies so fits in perfectly with the way you already work: CI&CD, Agile etc.
Cost
Hardware consolidation and acceleration through the use of parallel computing, without the need for specialist engineering skills all deliver cost savings. Designs and redesigns can be handled by in-house teams.
Reprogrammability
Our chips can be reprogrammed as often as you like, so your applications can evolve along with your project’s changing requirements. Changes to hardware designs can now fit with software project management timeframes.
Performance
With our platform, existing DevOps, data science and software engineering teams can realise 100x performance gains over CPU-based solutions – 100x faster, 100x lower latency, 100x more efficient in energy and size.
Reconfigure.io is for …
Software developers
Develop concurrent, project-specific applications in Go, and use our service to build and deploy to FPGA instances, all with no hardware design skills or experience. Performance improvements have long been achieved using faster CPUs and multi-core processing. However, big data associated with AI, Finance, IoT, media etc. requires something beyond what traditional CPUs can deliver. We believe low-latency and concurrency, through the use of FPGAs, is the answer.
Hardware developers
Creating project-specific hardware applications using traditional tools involves the time-consuming process of generating large amounts of low-level code. With Reconfigure.io you can take advantage of the easy to use high-level Go language to program and reprogram FPGAs using our simple command-line tooling and cloud management system.
Systems architects
Speed up data analytics and throughput for your business. Your existing software development team can use Reconfigure.io to create designs to fit your specific requirements. These applications will use the convenience and parallel capabilities of software defined chips to drastically increase throughput while minimizing latency and power/space requirement
Why do we use Go?
The Go language has a number of features that are ideally suited to writing code in which many functions run in parallel:
Goroutines can run concurrently with each other. Channels are pipelines through which goroutines can communicate and synchronize their operation. Select statements help organize the process of switching between channels and give programmers the ability to control when parallel operations can run.
Our Partners
Learn how these organisations are using reconfigure
Sign up, it’s free!
Tell us a bit about you and your set-up, and choose an account type to suit your project.
Join our mailing list
Add yourself to our mailing list to receive news and updates from Reconfigure.io.