Cosmosis

Team Members

Progress

Assignment 1

For our assignment 1, we are looking into finding and N-body simulator. All of us in the group have agreed to find 1 each, and after profiling them, we will choose the most inefficient one to parrallelize.

Alex

I have found a Java applet that uses a brute force method for an N-Body simulator. As a result of brute forcing all of the calculations, it is extremely slow.

Example Profiles

When run with 1000 bodies:

When run with 2500 bodies:

When run with 10000 bodies:

All of these profiles where ran for about 4 to 5 minutes each. It seems that when the body count is low (1000) the program spends most of its time in the addforces() function, which is a user defined function within one of the source files. However, when the body count gets higher, it seems that the program slows down so much from having to draw all of the bodies, it spends most of its time in the Java definedfillOval() function, rather than the addforces() function. I'm not entirely sure if we would be able to parrallelize that function, since it is in a library. It may be possible to simply define a function that does the same thing and put it in the program.

Coming Soon

An applet that uses the same Body class, but has an improved algorithm. I will profile it and see if that one may be better suited to our needs.