Application Evaluation

Exp 1. Traditional DMT system in an undecidable environment.

Basic experiment steps

  • Setup an application with a fixed configuration.

  • Turn on DMT system with Round-Robin scheduling algorithm with a reasonable delay threshold.

  • Run the application many times under the configuration and obtain schedule for each run.

  • Analyze the schedule variation. (may apply partial order analaysis based on the log files)

    • How many differnet schedules

    • How much portion is the difference

  • If the variation is limited, track corresponding lines of code to determine the root cause.

Application Configurations

Berkeley DB Replication

In Berkeley DB replication system, there will be at most one master node. Others will be client nodes. If the master node fails, the clients will trigger an election that will finally reach consensus if agreed on at least (n / 2 + 1) nodes. An immediate inference is that we need at least 3 nodes to trigger a successfull leader election. Basically, only the master node is allowed to write data and client nodes only have read access. In special cases, for example more than one node are setup as master node, things might become complicated.

From the above features, the basic configuration of Berkeley is as following.

  1. Three nodes are setup at the beginning. Two of them are clients and the other one is master.

  2. Run 20 random database writes on the master nodes. (any read on client?)

  3. Fail the master node, there triggers the election.

  4. Run 20 random database writes on the new master nodes. (any read on client?)

Aget: multithreaded HTTP download accelerator

Version number 0.4.1

Aget works in the following way. It first divides the entire task into many small pieces, then a number of worker threads are created to handle the small work pieces. Each worker thread keeps trying to fetch a subtask from the task pool and process the subtask until the task pool is empty. In the case of Aget, most of the network operations are expected to return in a reasonable delay. The only exception is a listener thread waiting for signal (i.e. Ctrl + C).

Aget configuration is very simple. We apply Aget to download a pdf file (i.e. demeter.pdf) with 4 threads. It turns out the schedule is fixed after scheduled with RR algorithm.

YFS: Yet Another Filesystem

An education distributed filesystem develoepd by MIT and Jingyang. Refer to this page .