Challenges

We have a few challenges for you. Strictly speaking, there are not necessary to do, but you will learn more if you try more, so give them a shot if you have time. We have a lot of computational power here at the school: how much of it can you use?

Challenge 1

Extend our simple.c program (or simple.java, as you wish) to calculate a more interesting function, perhaps one that takes x and y as input, and calculates z. Make it so that each calculation takes at least two minutes. Ideally, you would have a hard to calculate function, but you can use a sleep if necessary.

Challenge: How many function evaluations can you calculate by the end of the summer school? How many hours of computation can you use?

What is the best way to organize your calculation? Should you simply submit many jobs? Create a DAG with no dependencies? Create a DAG with, say, 100 calculation nodes and 1 node for collating results? Would you rather use Master-Worker?

Challenge 2

Unfortunately, the search for knowledge doesn't lend itself to using extra computational power because the computational work is in the web service, which is a bit hard to distribute. (But if you want to distribute it, there is another good challenge.) That said, you might be able to use DAGMan to help you coordinate the searches that your clients do. For instance, you could have a DAG that runs a bunch of clients, with a final node that collates the results. The clients might run locally (in the scheduler universe) or you might distribute them in our local Condor pool. Which would be better?

Challenge 3

Do you have any extra computation that needs to be done? Real work, from your life outside this summer school? If so, try it out on our Condor pool. Can't think of something? How about one of the existing distributed computing programs like distributed.net, SETI@home, or others that you know. We prefer that you do your own work rather than one of these projects, but they are options.

Next: Catch Up