TMy experiment used six of my home computers. One acted as a server, while five others were clients. I designed and created my own distributed computing client and server software. I made two algorithms--one which divides the task equally, and one which incorporates advanced load balancing. For each algorithm, I had the network complete the task with only one client, and then added more clients, one by one. Each client recorded its time to complete its sub-task, and the server recorded the time it took to complete the entire task.
Without load balancing, the network slowed down considerably when a slow client was added. With load balancing, however, adding a slower client would still benefit overall performance.
I found that adding more clients to an efficiently designed distributed computing network increases performance. Efficient networks need to incorporate load balancing. Without it, performance is bounded by the slowest client, i.e. slow clients will bog down the entire network. When load balancing is added, all clients work for about the same amount of time, with the faster clients doing more than the slower ones. The net effect is that overall performance will always increase. My results show that distributed computing, when implemented correctly, is an effective system that can utilize massive reserves of computing power to approach complex problems. This confirms my initial hypothesis.
This Mathematical project was to investigate how to efficiently design an internet-based distributed computing network, in which adding more clients will result in a performance increase..
Science Fair Project done By David C. Liu