Resource:
The need for speed
14 June 2007
John Powers describes the role of distributed computing in addressing the requirements of financial services companies
While numerous fields, from manufacturing to biotechnology, have experienced huge increases in computing requirements, financial services stands out as the field with the most immediate link between computing horsepower and profitability. Superior pricing analysis and risk management, delivered faster than the competition, leads to superior trades.
In the heart of every asset management company is someone with a better idea of what makes a good investment, and what makes a good trade. Turning those ideas into actionable algorithms while managing exposure to risk is a core technology challenge for thousands of firms today. This challenge increases exponentially as the number of assets traded grows, as the volume of trading grows, as the volume of accessible market information grows, and as the latency between analysis and trading shrinks.
Distributed computing For at least the past decade, financial services companies have turned to distributed computing to combine the power of many computers to increase the performance of critical applications. High-performance computing with clusters and grids has been an important initiative at many leading firms. These first-generation distributed computing systems have been quite difficult to deploy and use. In particular, it has been very difficult to adapt applications to grids and clusters, requiring development approaches that recall the days of low-productivity procedural programming.
For high-value applications, the benefits of increased performance are so great that they outweigh the costs and suffering involved in adapting applications to these platforms, and a few financial services companies have reported successful grid projects. Some of these grids have grown to many thousands of compute nodes. However, no financial services grid project has yet reached the promised potential, and the primary reason is the difficulty in adapting applications to the grid.
It gets worse. The problems with adapting applications to a cluster or grid are now beginning to appear even at the level of applications written for a single machine. While demand for computing power is increasing rapidly, the supply of computing power is changing rapidly. For the past four decades, increased computing power came primarily from increased clock speed on a single chip. Around 2005, this trend came to an abrupt end. Increasing power requirements and consequent heat challenges have lead chip manufacturers to stop increasing clock speeds (and in some cases, reduce them), focusing instead on packing more processors (or cores) on a single chip. Dual core and quad core chips are now mainstream, and Intel has demonstrated working prototypes of an 80-core chip. Within a few years, we can expect hundreds or thousands of cores on a single chip.
The result of this change is that while the total processing power of a single chip continues to increase at approximately the same rate as for the past four decades (doubling every 12-18 months), accessing that power now requires applications that are aware of multiple processors. This is a huge change. In the past, a program written two or three years earlier would just automatically run faster when installed on a new computer. Last year, for the first time, a program written two or three years ago installed on a new computer might very well run more slowly. Only applications written specifically to take advantage of multiple cores would run faster.
So the big trends – from the datacenter all the way to the desktop – point to more cores per chip, more chips per machine, and more machines per grid.
Financial developer skill sets As the need for distributed computing has increased, and the difficulty of adapting applications to first-generation distributed computing products has become evident, demand for developers trained in obscure distributed computing paradigms has outstripped the supply. One recent estimate is that a programmer trained in implementing applications on commercial grid products costs about ₤1000 per day in London. This is purely a function of the needless complexity embedded in distributed computing programming models required to date.
Mainstream developers of financial analysis applications are skilled in object-oriented programming techniques. Over the past several years, Microsoft has done a great job of improving the development environment and tools via .NET and Visual Studio. The transition from object-oriented enterprise programming in the familiar Microsoft tools to parallel programming for most grid offerings is a high hurdle indeed.
Now what? The clear need in today's market is for distributed computing solutions that take advantage of the skillsets already in place in the financial developer community. More cost-effective than retraining hundreds of thousands of developers to learn exotic and low-productivity parallel programming techniques is to create distributed computing tools and techniques that leverage the object-oriented development paradigm already familiar to mainstream financial developers.
Microsoft and its partners have the unique advantage of a huge developer base already trained in .NET and Visual Studio. Digipede Technologies has focused on bringing the benefits of distributed computing to mainstream enterprise developers through the familiar object-oriented paradigm in the familiar Microsoft tools.
In working with some of the world's largest financial services companies, customers tell us that the value in such solutions is in simplicity, not merely scalability. These banks, asset managers, hedge funds, and insurance companies can now achieve the benefits of distributed computing without the wholesale retraining of their entire development staff. As importantly, they can roll out new strategies and investment products, and begin trading new asset classes, in days or weeks instead of months or years.
The strategy Microsoft and its partners are executing today brings the benefits of high-performance grid computing to mainstream financial developers. The future is distributed – embrace it!
John Powers is preseident of Digipede Technologies
Add a comment