The Ring Demo

ring - test the performance of Horus.

SYNOPSIS

ring [-cldh] [-n nmembers] [-s msgsize] [-r nrounds] [-k nmsgs_per_round] [-t protocol] [-R debug_rounds] [-f priority] [-S local_msgsize]

DESCRIPTION

Ring tests the performance of Horus. It starts a group with the specified number of members and runs the following scenario for the specified number of rounds: each member sends the specified number of messages of the specified size to all other members and wait for messages from other members.

In the COORDINATOR_ONLY mode, only the coordinator sends the specified number of messages. Other members sends only one message per round for synchronization purpose.

Ring measures the time for the entire run and computes various figures averaged over multiple rounds. Latency, throughput, and bandwidth can be measured by specifying the following set of parameters:

	             msgs/round      message size
	-----------------------------------------
	latency      1               1
	throughput   large           1
	bandwidth    1               large
To designate a member as the coordinator, start it with one of command options n, s, k, or r specified. Starting a new coordinator overwrites any existing name server entry for the ring group, and effectively starts a new run of testing.

A typical usage for a coordinator: ring [-n#] [-s#] [-r#] [-k#] [-t protocol]
A typical usage for a non coordinator: ring [-t protocol]

As with any Horus application, a directory server (dirsver) must be started before starting any ring process.

OPTIONS

FILES

horus/src/hutil/ring.c

AUTHOR

Robbert van Renesse

BUGS

Changing the priority of threads may drastically change the behavior of the program.