The optimized code in kdb+ utilizes the processor specific instructions available at run-time: testing saw very significant speed increases when running calculations using Intel’s Advanced Vector Extensions (AVX) and SSE instructions, available on Intel’s latest generation of Sandy Bridge family of processors.
The growing volumes of derivatives and trading volumes in FX and equity markets, as well as regulatory requirements, all result in institutions having to store and analyse vast quantities of data. The simplified storage in v3.0 makes the design and implementation of large systems much less complex. While kdb+ has always been able to handle far more than 2 billion records, this has been made much simpler in the new release.
Kx chief strategist, Simon Garland, explains: “This enhancement in v3.0 simplifies the design and implementation of large systems which have to handle more than a trillion records, allowing for a more elegant architecture.”
The addition of UUIDs as a basic data type means that distributed systems are now easier to write. UUIDs can be used to uniquely identify distinct records and are a valuable tool for managing distributed systems. In highly complex systems, which are spread across different regions and continents, UUIDs make distributed processing more efficient and system design more straightforward. At the same time, storing and processing transaction IDs, such as order and confirmation IDs, is easier and more efficient.
Garland continues: “Managing multiple servers across different countries and continents can be a challenge and requires some complex programming. UUIDs make this much more straightforward, as individual records can be uniquely identified; combined with the speed enhancements in v3.0 and ease of handling hundreds of billions of records, more efficient systems can be designed. This is an important step forward, especially in the face of ever-growing data volumes.”
Another new feature in kdb+ v3.0 is the introduction of support for WebSockets, which allow for a direct, bi-directional, full-duplex connection between a browser and an application. This is a much more efficient approach than HTTP/AJAX, offering greater scalability and much faster processing. It is particularly useful for high-performance browser-based applications, for example applications visualising real-time data.
Daryan Dehghanpisheh, global director, Financial Services Team at Intel, says: “The increased complexity of the markets and continued race towards automation, across more asset classes and venues, mean that the enormous growth of data will continue. The new version of kdb+ running on the latest Intel processors, such as the Intel Xeon Processor™ server platforms – which are optimized to support AVX instructions, to further increase overall performance – provides market participants and technologists with new capabilities, levels of performance and flexibility. The result is a powerful tool in the hunt for Alpha, while ensuring maximum stability and reliability.”