The goal of this assignment is to practice concurrent and distributed programming using the SALSA programming language.
You are to analyze three-dimensional data from the Sloan Digital Sky Survey, in particular, stars in our MilkyWay galaxy, for future human space colonization. Your program needs to compute the following:
More information on Milky Way visualization can be found in the associated MilkyWay@Home forum.
You are given a stars text file
with the first line giving the total number of stars in the file
followed by one line per star representing each star's three dimensions
X Y Z. Please remove duplicate entries in your program. Your output should look as follows:
d1 // minimal pairwise distance s11 s12 s13 s14 ... d2 // maximal pairwise distance s21 s22 s23 s24 ... d3 // minimum maximal distance s31 s32 s33 s34 ... d4 // maximum minimal distance s41 s42 s43 s44 ... d5 // minimal average distance s51 s52 ...where
d_idenotes a distance and
s_ijdenotes a three dimensional star coordinate.
Using SALSA, write an actor-based solution to the space colonization problem.
Write an extension of your distributed space colonization solution so that actors can move to find better computational resources.
Due Date: April 29, 2011.
|Received Time||Grade Modification|
|before Thursday, April 28, 11:59PM||+10%|
|before Friday, April 29, 11:59PM||no modification (on time)|
|before Saturday, April 30, 11:59PM||-10%|
|before Monday, May 2, 11:59PM||-25%|
|after Tuesday, May 3, 12:00AM||not accepted|
Grading: The assignment will be graded mostly on correctness, but code clarity / readability will also be a factor (comment, comment, comment!). See the professor or TAs, if you have ideas for other extensions for this assignment and would like extra credit for implementing them.
Submission Requirements: Please submit a ZIP file with your code, including a README file. In the README file, place the names of each group member (up to two). Your README file should also have a list of specific features / bugs in your solution. Your ZIP file should be named with your RPILMS user name(s) as the filename, either userid1.zip or userid1_userid2.zip. Only submit one assignment per pair via RPILMS.