My science fair project this year, for the Synopsys Championship 2005 is going to be about Internet-based distributed computing. Here’s an excerpt from my research plan…
BACKGROUND. Distributed computing (DC) is the process of using multiple computers to approach a complex and lengthy task. Internet-based DC normally involves many client computers connected to a server that will coordinate the clients. The server breaks up the main task into many smaller, more manageable parts for each client to compute. When a client finishes, it sends the results back to the server. The server will recombine all the results when the task is complete. DC has many advantages over traditional linear computing, which does one thing at a time. The first and most obvious benefit is speed. Since DC splits up a large task, many computers can work on it at the same time. Additionally, using DC is much more reliable, because if one client crashes, another client will simply take over its part. A big obstacle in distributed computing is determining the size of the smaller parts of the task. If it�s too big then performance will suffer when a client that is calculating a part quits�it needs to be recalculated. If it�s too small then performance will also suffer because too much time is spent on the communication between the client and server. This is commonly known as communication overhead. QUESTION/PURPOSE. My science fair project will explore the relationship between overall performance, task granularity, the number of computers, communication overhead in internet-based DC. I would also like to show people how DC is applied to complete an actual task. HYPOTHESIS. I hypothesize that the more computers participating, the greater overall performance will be. Also, task granularity will have an optimal setting where communication overhead is lowest and the task is not too large. To show people how DC is applied to complete a task, I will use my software to render a 3D animation.
I’ve created a distributed computing framework, which I call Multispace, using Perl for the server and Visual Basic for the client. Right now, as a sample task, I have it calculating many, many points on a parabola. My results show that adding just one or two computers to the DC network increases performance greatly.
My presentation is going to be centered around an interactive Flash animation which will try to teach people how DC works. Each step is going to be accompanied by an animation and possibly light sound effects. I think this is a really good idea and will be an effective teaching tool to help other people discover what DC really is.
0 Responses to “Science fair project: Internet-Based Distributed Computing”