• No results found

Using PC and NUC Cluster for IR Sensitivity Calculation

6.10 CB Theoretical Value IR Sensitivity Analysis

6.10.1 Using PC and NUC Cluster for IR Sensitivity Calculation

Table 6.25 lists the calculation times for each calculation node using the PC cluster, and Table 6.26 lists the calculation times using varying step size using a single NUC computer. Table 6.27 presents the distributed calculation times using PC cluster with imbalanced and balanced load conditions, and Table 6.28 lists the distributed calculation times using the NUC computer cluster with load balanced condition.

Table 6.25: Calculation time for each calculation node for IR sensitivity calculation using PC cluster

Calculation Node

Calculation Time (sec)

Binomial Trinomial

VBA VBS EXE VBA VBS EXE

WST69 35 67 11 82 105 13 WST35 37 67 12 85 106 13 WST47 43 76 16 104 123 18 WST44 47 84 18 115 137 21 WST96 61 108 26 140 178 30 WST83 62 109 26 142 180 30 WST85 63 111 26 148 191 31 WST48 66 115 27 159 192 31 WST45 66 115 27 161 192 36 WST46 67 125 28 164 202 36 WST54 71 131 29 172 217 42

Table 6.26: Calculation time using varying step size for IR sensitivity calculation using a single NUC computer

Step Size Calculation Time (sec)

Binomial Trinomial

VBA VBS EXE VBA VBS EXE

100 9 9 3 14 16 6 200 26 36 10 49 52 11 300 53 81 18 107 112 24 400 89 142 33 185 197 38 500 133 223 50 288 305 57 600 190 320 70 414 437 81 700 250 434 96 562 592 109 800 325 567 124 733 773 141 900 405 717 157 925 1,000 177 1000 496 884 194 1,159 1,202 218

158

Table 6.27: Distributed calculation time for IR sensitivity calculation using PC cluster with imbalanced and balanced load conditions

Calculation Node

Calculation Time (sec)

Imbalanced Balanced

Binomial Trinomial Binomial Trinomial VBA VBS EXE VBA VBS EXE VBA VBS EXE VBA VBS EXE

WST69 3.3 6.3 1.0 7.7 9.8 1.2 4.8 9.2 1.9 11.8 15.1 2.2 WST35 3.5 6.3 1.1 8.0 9.9 1.2 4.9 8.8 1.8 11.2 13.9 2.1 WST47 4.0 7.1 1.5 9.8 11.5 1.7 4.8 8.6 1.8 11.7 13.8 2.1 WST44 4.4 7.9 1.7 10.8 12.8 2.0 4.7 8.9 1.8 11.5 14.6 2.1 WST96 5.7 10.1 2.4 13.1 16.7 2.8 5.0 8.8 1.8 11.4 14.5 2.1 WST83 5.8 10.2 2.4 13.3 16.9 2.8 4.7 8.9 1.8 11.5 14.6 2.1 WST85 5.5 9.7 2.3 13 16.7 2.7 4.7 8.3 1.8 11.1 14.3 2.1 WST48 5.8 10.1 2.4 13.9 16.8 2.7 5.0 8.6 1.9 10.9 14.4 2.1 WST45 5.8 10.1 2.4 14.1 16.8 3.2 5.0 8.6 1.9 11.1 14.4 2.3 WST46 5.9 10.9 2.5 14.4 17.7 3.2 4.6 8.6 1.8 11.3 13.9 2.3 WST54 6.2 11.5 2.5 15.1 19.0 3.7 4.9 9.0 1.8 11.8 13.6 2.1

Table 6.28: Calculation time profile for IR sensitivity calculation using NUC cluster under load-balanced condition

Calculation Node

Calculation Time (sec)

Binomial Trinomial

VBA VBS EXE VBA VBS EXE

NUC01 13.37 22.48 5.05 29.10 30.74 5.76 NUC02 13.33 22.38 5.01 28.85 30.72 5.78 NUC03 13.31 22.62 5.05 29.19 30.60 5.71 NUC04 13.43 22.39 5.04 29.05 30.76 5.72 NUC05 13.41 22.31 5.03 29.08 30.77 5.71 NUC06 13.38 22.37 5.01 29.01 30.64 5.71 NUC07 13.33 22.50 5.07 29.06 30.51 5.77 NUC08 13.33 22.50 5.07 29.11 30.63 5.78 NUC09 13.39 22.58 5.07 28.84 30.52 5.77 NUC10 13.35 22.48 5.06 28.97 30.58 5.75

Table 6.29 to Table 6.32 lists the average calculations time analysis for both PC and NUC clusters using all four scenarios’ calculations. Test results have shown considerable calculation time improvements across all the scenario calculations when the load balanced distributed processing method is used compared with the serial calculation method.

159

Table 6.29: Average calculation time analysis for CB theoretical value calculation

Method

Average Calculation Time (sec)

Binomial Trinomial

VBA VBS EXE VBA VBS EXE

Serial PC 23.36 33.91 8.18 48.73 55.64 9.09

Imbalanced PC 2.08 3.00 0.72 4.27 4.89 0.80

Balanced PC 2.00 2.93 0.62 4.08 4.81 0.70

Serial NUC 53.00 76.00 20.00 99.00 138.00 23.00

Balanced NUC 5.33 7.62 2.01 9.95 13.88 2.31

Table 6.30: Average calculation time analysis for IV calculation

Method

Average Calculation Time (sec)

Binomial Trinomial

VBA VBS EXE VBA VBS EXE

Serial PC 93.82 50.55 15.18 93.82 122.00 28.73

Imbalanced PC 8.25 4.48 1.35 8.25 10.78 2.52

Balanced PC 8.01 4.21 1.23 8.01 10.28 2.39

Serial NUC 134.00 229.00 34.00 216.00 480.00 57.00

Balanced NUC 13.48 23.00 3.42 21.73 48.18 5.74

Table 6.31: Average calculation time analysis for IV sensitivity calculation

Method

Average Calculation Time (sec)

Binomial Trinomial

VBA VBS EXE VBA VBS EXE

Serial PC 57.27 101.55 22.64 134.36 167.00 29.09

Imbalanced PC 5.06 8.96 0.80 11.87 14.68 2.00

Balanced PC 4.89 8.84 0.70 11.47 14.30 1.87

Serial NUC 133.00 226.00 50.00 294.00 311.00 57.00

Balanced NUC 13.38 22.71 5.03 29.52 31.27 5.73

Table 6.32: Average calculation time analysis for IR sensitivity calculation

Method

Average Calculation Time (sec)

Binomial Trinomial

VBA VBS EXE VBA VBS EXE

Serial PC 56.18 100.73 22.36 133.82 165.73 27.36

Imbalanced PC 5.08 9.11 2.02 12.11 14.96 2.47

Balanced PC 4.83 8.75 1.83 11.39 14.28 2.15

Serial NUC 133.00 223.00 50.00 288.00 305.00 57.00

160

6.11 Chapter Summary

The main goal of implementing the dedicated calculation grid is to facilitate the research and development team and the quantitative analysts and researchers to test and simulate different compute-intensive internally developed financial models and trading scenarios in real time. Currently, this process is performed by using a single workstation or a server, and in certain cases, the full analysis takes many hours to a few days to complete. Hence, some of the analysis is carried out as a batch process during nights and weekends, and in addition, sampling frequency is reduced to improve the calculation time. By implementing the dedicated calculation cluster grid for compute-intensive calculations, the test results have shown considerable improvement in reducing the overall calculation time. The tests and simulations that were carried out on the dedicated calculation clusters are similar to the scenario analysis carried out by the researchers and quantitative analysts, but on a reduced scale with small sets of test data. The test result has proved that implementing the dedicated calculation cluster with appropriate application- and hardware-specific load balancing algorithms greatly improves the calculation efficiency for many of the bespoke mathematical models used in the company. Hence, this chapter has demonstrated the original contribution to the design of specific dedicated calculation clusters to improve the calculation efficiency of particular type of compute-intensive applications.

The advantage of the dedicated calculation cluster grid is that unlike the workstation cluster that utilises the user workstations, it can be fully utilised 24x7. The dedicated calculation grid is isolated from user access and fully dedicated for certain applications that require extensive testing before being used in the live-trading environment. The test have shown that the NUC cluster has many advantages compared with the PC cluster; even though the NUC computers are less powerful than the PCs used in the PC cluster, the NUC computer has various advantages such as low power consumption, smaller size, and lower cost. However, the PC cluster is useful for testing different types of load-balancing algorithms due to its nonlinear hardware configurations, but the PC cluster is not suitable for continuous use in production environments due to its

161

high power consumption, requirement for larger space, and higher rate of failure. Meanwhile, the NUC cluster be expanded and improved by adding more calculation nodes in the future for long-term research and development in the company. Both clusters are undergoing continuous improvement to fine-tune their performance for various calculation scenarios, and more tests and simulations are being performed on these clusters. A number of changes have been made to the distributed processing controller software and calculation node’s controller software to include a dedicated calculation grid cluster, and in addition, there have been a few changes made to the SQL server database to incorporate the cluster nodes within the distributed processing control system. However, further improvements required to the distributed processing controller software and to the SQL server database to incorporate different types of calculation cluster configurations. Meanwhile, the message passing between calculation nodes and the distributed processing controller is similar to the technique used in workstation cluster that explained in Chapter 4 with a few modifications and proved to be adequately support the communications requirements for coarse-grain process-based calculations. Further analysis of both PC and NUC clusters using captured data is presented in Chapter 8 where the results and discussions are presented in detail.

162

7

Hybrid Processing Using Multiple Calculation Clusters

7.1

Introduction

This chapter describes the original design and implementation of distributed processing using multiple physical computing devices and logical CPU cores as calculation nodes to form a hybrid type of calculation cluster to perform a combination of distributed processing and parallel processing. This is the fourth phase of the investigation that explained in section 1.4 in Chapter 1. This method is one of the approaches to investigate the feasibility of hybrid processing to create multiple calculation clusters using available processing devices within the company. These calculation clusters can be configured to work as a single cluster or a combination of clusters as groups depending on the applications used, and are able to be utilised as a single cluster with data decomposition-based processing, multiple clusters with functional decomposition-based processing, or a combination of both depending on the requirements. The main purpose of the hybrid type of distributed processing investigation is to design high-throughput distributed processing cluster systems that utilise all the available processing devices within the company such as servers, workstations, PCs, and single-board small form factor computers in the main office as intelligent processing devices to facilitate the complex and time-consuming calculations. In addition, the goal is to be able to incorporate the disaster recovery (DR) site’s hardware and software to be integrated as part of the distributed processing system that facilitates compute-intensive applications to be executed within manageable time scales and to maximise the processing capacity.

The clusters are designed based on consolidating various processing devices into an intelligent calculation cluster that can be used for various operations with high throughput and utilises an adaptive and self-tuning control mechanism that continuously fine-tunes the cluster’s performance to permit it to function autonomously. The hybrid cluster is designed in such a way that it can be modified whenever required with minimum impact to the business. In addition, implementing

163

different methods and techniques improves the efficiency of the distributed processing cluster using a combination of distributed processing and parallel processing with CPU-core-level program executions and static and dynamic load balancing techniques employing multi-core processors. For testing the hybrid cluster performance, some of the currently used applications are employed, and these applications are developed using Windows-based programming languages. Hence, the testing is performed to evaluate the suitability and usability of these applications within the distributed system that have multiple hybrid types of clusters.

Different types of distributed processing approaches are applied to the existing systems to solve complex and compute-intensive calculations, and some tests are performed to evaluate the data processing capabilities of the distributed processing systems that use a combination of workstations, servers, and SQL servers. Two applications used to test the performance improvements by using distributed calculation methods: the dispersion trading system that uses the market volatility to trade certain derivative instruments and the AH trading system that uses security- pricing discrepancies within different exchanges. Both systems are computationally intensive and require continuous calculations with high accuracy for executing live trades during the volatile market conditions. Hence, combinations of distributed processing methods are tested and the results show considerable improvements in calculation time. The tests are performed using prototype systems with real-time data feeds from financial data feed (FDF) providers. However, due to the complex nature of the trading involved in these types of live-trading systems, it requires further rigorous testing under stressed conditions to ensure that the proposed distributed systems are capable of withstanding the highly volatile market conditions.

A number of changes have been made to the distributed process management software to include different processing devices as calculation nodes. In addition, the required modifications are made to the distributed processing controller SQL database to support the database-level changes needed to incorporate the hardware and software as a single distributed processing unit or logically segregated multiple calculation

164

clusters. Further investigations are carried out for implementing dedicated calculation clusters using small form factor multi-core and many-core computers with lower power consumption and smaller size with low heat dissipation characteristics. Alongside that development, small-scale dedicated calculation grid-type clusters are implemented to facilitate the research and development team and quantitative researchers to test and simulate financial models and trading scenarios in real time. A number of tests and simulations are carried out on different types of processing clusters as a single cluster and also as a combination of clusters to evaluate their calculation performance with and without load balancing. In addition, the testing also provides detailed information regarding various parameters that are used for comparing the cluster performances and their advantages and disadvantages under different conditions. The test results show that using multiple clusters with varying configurations coordinated as a hybrid distributed processing cluster has many advantages for complex and compute-intensive applications. Furthermore, it is possible to implement these types of clusters for real-time trading applications.