Distributed SSL Encryption Processing

by Aaron Budjen



Enciphering and Deciphering information requires significant processing time. Sharing the processing among several computers can reduce the amount of time required. The key objective of this project is to determine the number of computers necessary to process a certain amount of data in a desired amount of time.


Given one computer at 66MHZ, what is the time necessary to process x number of characters?


Number of characters Time required (seconds)

9 15.9

18 30.6

36 58.5

72 117.8

144 234.6

288 467.3

576 936.1


By LU Decomposition, the relative equation is:


y = 1.622863 * (number of characters) * (66 MHZ) + .8356895


General equation:


y = 107.10896 * (number of characters) / (number of MHZ) + .8356895








Given two computers working simultaneously at 66MHZ, what is the time necessary to process x number of characters?


Number of characters Time required (seconds)

9 8.9

18 16.3

36 30.7

72 59.1

144 117.4

288 234.1

576 469.8


By LU Decomposition, the relative equation is:


y = .8125156 * (number of characters) * (66 MHZ) + 1.056376


General equation:


y = 53.626 * (number of characters) / (number of MHZ) + 1.056376
















Extrapolating from the equation for one node at 1GHz. The following table can be derived


y = .10710896 * (number of characters) + .8356895


Number of nodes Time required (seconds)

1 62.5

2 31.3

3 20.8

4 15.6

5 12.5

6 10.4

7 8.9







Conclusions


1. The number of nodes involved in the computation is exponentially related to the time required to process.


2. Heuristics can be applied to use only a minimum number of nodes when significant increases in speed will not be acquired. This can be valuable when making many requests of the distributed system.