New challenges in the financial markets are being driven by changes in market structure, regulations and accounting rules like Basel III, EMIR, Dodd Frank, MiFID II, Solvency II, IFRS 13, IRFS 9, and FRTB. There is a rise in demand for vendors to deliver high performance solutions in order to satisfy the computational requirements of problems like XVA. This demand has pushed software providers to put technology at the forefront of the strategic roadmap and make significant optimisations.
vectorisation is a key tool for dramatically improving the performance of code running on modern CPUs. Vectorisation is the process of converting an algorithm from operating on a single value at a time to operating on a set of values at one time. Modern CPUs provide direct support for vector operations where a single instruction is applied to multiple data (SIMD).
For the past decade, Moore’s law has continued to prevail, but while chip makers have continued to pack more transistors into every square inch of silicon, the focus of innovation has moved away from greater clock speeds and towards multicore and manycore architectures.
As Herb Sutter famously observed in 2005, for developers this architectural shift meant the end of the “Free Lunch,” where existing software automatically ran faster with each new generation of hardware. Traditional applications based on a single serial thread of instructions no longer see performance gains from new hardware as CPU clock rates have flat-lined.
Since that time, a great deal of focus has been given to engineering applications that are capable of exploiting the growing number of CPU cores by running multi-threaded or grid-distributed calculations. This type of parallelism has become a routine part of designing performance critical software.
Recommended Whitepapers and Articles
Buy-Side Risk Analytics, Chartis RiskTech Quadrant
Microservices: The New Building Blocks of Financial Technology
The Evolution of Counterparty Credit Risk
Technology Trends in Asset Management