Moodle course web site

Assignment 5:
Ameliorate communication latency & exploit multi-core hosts

Purpose

The purpose of this programming assignment is to:

Specification

Branch & Bound

Tsp

Implement a lower bound for the Tsp that is stronger than just the cost of a partial tour. For example, implement the lower bound that uses the 2 shortest edges incident on each city. Implement your lower bound so that, as the partial tour increases, the lower bound is strengthened (increases).

Sat

Using the shared object, "cancel" outstanding Sat tasks after a satisfying assignment is found. That is, this is accomplished via the api, not via the system infrastructure.

Ameliorate communication latency

Instrument your system so that each of the following enhancements can be turned on or off.

Space-runnable tasks

Provide an api and infrastructure enhancement that enables selected tasks to be run on the Space. Apply the api so that the composition tasks for each application, and only those types of tasks, are executed on the Space.

Task caching

Provide an api and/or infrastructure enhancement that enables tasks to be cached on compute servers.

Task prefetching

Provide an api and/or infrastructure enhancement that enables tasks to be prefetched to compute servers: A task is, or tasks are, requested while Computer[s] run task[s].

Exploit multi-core processors when used as compute servers

JVMs increasingly exploit multiple processors by mapping different threads to different processors. The java.lang.Runtime method public int availableProcessors() returns the number of processors available to the Java virtual machine. On each compute server, start that number of Threads, each of which runs tasks.

Instrument your system so that this enhancement can be turned on or off.

Applications

The client

Define a client that:



 cappello@cs.ucsb.edu 2009.05.13