Internet-Based Distributed Computing
CSEF · 2005 Mathematics & Software
Overview
Objectives/Goals Distributed computing is the process of using several computers (clients) to solve a complex task. The clients communicate with a central server, which coordinates all computations. In a distributed computing network, clients are rarely all the same speed. It isn't efficient to simply divide the task equally among the clients, as some clients will be significantly faster than others. A system called load balancing allows the faster clients to work more than the slower ones. The purpose of my project was to explore the relationship between overall performance and the number of clients in an internet-based distributed computing network, as well as investigate the need for proper load balancing. I hypothesized that the more computers participating, the greater overall performance will be. In addition, the effect of load balancing would be most prominent if the computers used vary greatly in speed. Methods/Materials My 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. Results 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. Conclusions/Discussion 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.
Summary statement
This 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.
Help received
Mr. Francis Lee, my advisor, guided me through the steps of creating a science fair project, and proofread my report.
Awards (1)
- Category Award
Competition history
- CSEF 2005
Resources
Related projects
CSEF · 2009
Honey Cluster Computing vs. Distributed Denial of Service Attacks
CSEF · 2010
Turbo Charging Computer with Mathematical Algorithms
ISEF · 2017
Optimizing Supercomputer Topologies: Developing Probabilistic Algorithms to Construct More Efficient Node Networks to Increase Supercomputer Speed
ISEF · 2014
SocialGrid: Utilising Power of Social Networks for Distributed Computing
ISEF · 2019
General Distributed Backtracking Framework for Solving Combinatorial Constraint Satisfaction Problems
CSEF · 2009
The Effect of Overclocking a Computer and the Use of Different Types of RAM on a Computer's Speed and Stability
CSEF · 2014
Cycle Speed: Testing Computer Processing Speed
ISEF · 2019
Computational Models and Algorithms for Dynamic Resource Distribution
Closest projects by meaning, across every fair and year in the corpus.
Browse more like this
Source: California Science & Engineering Fair public projects