News forum

Assignment 4 Questions

 
Picture of Simon Razniewski
Assignment 4 Questions
by Simon Razniewski - Sunday, 1 May 2016, 12:02 PM
 

Q: I have a question about the final assignment, in which we have to create a md5 forcer and run it over some raspberry pi:

Is it possible to do a benchmark of our distributed algorithm? Because I finished to develop it and i have tested it on my PC, but since there will be a competition it would be nice to try it on a rasperry and obviously it would be better to test it on different machines (i tried the algorithm on the same machine where the server, the master and the slaves were running).

A: The Lab on 3.5./4.5. is meant for that purpose. The evaluation will only happen in the week after, on 10.5./11.5.

You can also take 1-2 RPIs home after these labs (depending on number of groups).

Picture of Simon Razniewski
Re: Assignment 4 Questions
by Simon Razniewski - Thursday, 12 May 2016, 10:23 AM
 

Based on requests, the classes are now in packages "server" and "client", respectively.

To compile them from the command line, one can call "javac server/*.java client/*.java" in the directory that contains the respective folders for both packages.

To run the classes from the command line, one can call "java server.Server/client.Client" from the parent directory.

Picture of Simon Razniewski
Re: Assignment 4 Questions
by Simon Razniewski - Thursday, 12 May 2016, 1:47 PM
 

Some common RMI issues

  • The package structure on the server side was changed now. All server classes reside in a
    "server" package. All client classes (for you most relevant: ClientCommInterface) reside in a "client" package.
  • There is a reported problem with implementing multiple interfaces using RMI. The chosen solution was to create a object inside that implements the other interface
  • There is a reported problem with using the same port for your local RMI-Registry (on your master node) as the one used on the lab teacher's server (1099). Try changing your port.
  • Make sure you use System.setProperty("java.rmi.server.hostname", YOUR_IP) at the beginning of both master and slave nodes, replacing YOUR_IP with the IP of the machine the code is running on!
  • A last solution is to move to TCP or UDP
  • Note also that the server code has changed, there are no more minus points for submitting a correct solution too late.