|
Team Number: 074 School Name: Los Alamos High School Area of Science: Computer Science Project Title: Parallel Processor Under Fire Project Abstract: http://mode.lanl.k12.nm.us/97.98/abstracts/074.html Interim Report: http://mode.lanl.k12.nm.us/97.98/interims/074.html Final Report: http://mode.lanl.k12.nm.us/97.98/finalreports/074.html
We meet once a week to discuss theory and code. We usually meet at lunch, and discuss programming over chess.
Most of the members in our team have specialized in one or more aspects of computers. Much of our early work has been learning in the areas of Unix, C++, and parallel processing.
Everyone now has a basic knowledge in all of these fields. We can each write basic C++ programs, and we are all competent in Unix.
Our project is to simulate a parallel processor capable of being damaged. The best analogy is a fighter plane with an on board computer. Regrettably, this fighter plane happens to be under fire from anti-aircraft guns. Our job is to design the computer system to be capable of withstanding damage by potentially explosive projectiles.
We will split our task into how each processor functions and how the networking protocol between them will function. We will not actually be building a computer; we will only simulate one.
A parallel processor is a series of processors that work together. In theory these processors will be able to handle a great number of jobs with reasonable expediency. Ours will also be able to handle an arbitrary number of processors. If one processor fails, the others have to be able to take up the slack.
We have decided to use dynamic allocation to distribute jobs, leaving most of the work to the theoretical OS.
Each processor will be attached to four other processors, plus their respective inputs and outputs. Processors will communicate by sending packets to each other via links. To keep up the speed of these connections, processors will periodically test the routes to every other processor.
Each of these processors will have a number of jobs to do. Processors will be assigned jobs according to their speed and functionality (We do not want to send jobs to a shot processor).
So far our project is continuing at a reasonable rate. We have nearly finalized our theory, and coding for the project is underway. We have all learned a lot so far, and aren't done yet. Morale and attendance are high, and we are making good headway.