Orginally from http://www.clustertech.com/products/ct-fl.jsp
The BGM Libor Market Model is widely used for the pricing of interest rate derivatives such as caps, floors and swaptions.
In this example we use a java based BGM model has three factors which correspond to parallel shift, pivoting and butterfly movements of a forward curve. Under this model, each forward rate is modelled by a lognormal process. The volatility vector function is also defined in our implementation. From these parameters we generate numerous interest-rate paths for Monte Carlo simulation.
Benchmark:
CPU testing environment
Intel(R) Xeon(R) CPU E5520 @ 2.27GHz
Compiled with Intel Compiler ver. 11, with flags -O3 –xT (hence, auto-vectorization is enabled)
Single-threaded and multi-threaded versions with 8 threads are run and benchmarked against
GPU testing environment
NVIDIA GT200 with Tesla C1060 GPU.
Our CPU implementation is also highly optimized to yield a fair result on the speedup factor. The performances of CPU single-threaded, CPU multi-threaded (8 threads), and GPU version were tested by generating various number of paths:
For years, Java has provided a model for designing blackboard systems known as JavaSpaces. More recently, distributed caching has become popular and can provide similar capabilities to those of JavaSpaces. Let's examine two popular distributed caching approaches for our blackboard system:
In this entry we provide some details regarding a some previous work on a high scalable high performance system that used a JavaSpaces implementation.
For some time Java has provided a model for designing Blackboard Pattern systems known as JavaSpaces.
In this entry we discuss a Javaspaces implementation. In part II we also consider more recently, distributed caching has become popular and can provide similar capabilities