This project is in C Unix based environment.
I need a CLIENT which can interact with 1, 2, 4 and 8 SERVERS respectively.
I have to measure the speed up we get from using the above number of SERVERs respectively. (A graph with increase in performance.)
The CLIENT generates a list of 64-bit Random numbers. This list, when sent to one SERVER, is sent entirely. The CLIENT also calculates the sum of squares of the hamming distance between each of the random numbers in the list.
When sending to multiple servers, it is split accordingly, to distribute the load.
When the SERVER receive the list, it generates a new random number, using a RNG(same as CLIENT, but with different seeds)
This new random number is plugged into each position in the list, and sum of squares is calculated each time again. This sum of squares is stored in another array.
The minimum such sum(from the array) is compared with the sum received from the client.
If the minimum sum is lesser than the CLIENT's sum, the new minimum sum, along with the new random number, and its position in the random array, is sent back to the CLIENT.
The CLIENT then updates its array. If there are more than one SERVER, then the CLIENT will send this new random number, along with its position, and the new sum to all the servers again.
If there is only one SERVER, the CLIENT sends it back to the same SERVER.
This process continues till we can optimize the sum of squares of hamming distance.
At the end of this process, the minimum hamming distance in the random array should be around 22- 25
I need the source code for this project. The winner of the bid will be provided with further instructions and some demo files.
Please be sure that you are competent enough to do this program, as this program is a bit more difficult than it appears.
Finally, please try to limit your bid to 80-100$.