Group: Dan Bentley Project Proposal: I want to examine stream architectures through cellular automata. I believe that they provide a useful example of what applications for the SSS will look like. Specifically, I plan to: 1) Implement a simple implementation of the Game of Life in Brook 2) Implement the game using more complex code 3) Using this infrastructure, implement other cellular automata, including ones which have an irregular grid structure. 4) Solve the general problem of irregular grids on the SSS in terms of language and/or architecture. All of these are milestones. 4 may not be completed. Why this is useful: 1) (statement with which Professor Dally might disagree/not be interested in) I think that certain applications can be recast into the stream model easily, and may even be more natural in this model. 2) Documentation. I would document this process and, if wanted, write up an introduction to the general idea of the modeling computation. For instance, C and Unix might be just other obscure ideas if not for the excellent documentation of Brian Kernighan to explain the Zen-Buddhist nature of these revolutionary ideas. 3) Simplicity. Cellular Automata are similar to problems being considered because they are iterative, and have communication on each iteration between some set of linked elements. However, the processing is simple enough that the numerical calculation will not get in the way of the understanding. Thus, it would be an ideal first stream application. 4) Optimization. Cellular automata are hard to optimize because they do so little computation. It is, then, a worst-case approximation of the problems being considered. If one can optimize cellular automata, one can optimize anything. Thus, it can be a useful benchmark. In short, Streaming architectures are blazingly fast, but also intriguing ways of considering problems. I'd like to emphasize the latter because I'm not as good at the fast part. -Dan