Skip to content

Latest commit

 

History

History
62 lines (43 loc) · 2.95 KB

README.md

File metadata and controls

62 lines (43 loc) · 2.95 KB

Santa performance measures

Wercker Build Widget

This repo hold scripts related to measuring memory and run time performance of SANTA, a forward-in-time viral evolution simulator.

#Methodology

Multiple SANTA simulations are configured with a range of population sizes and genome lengths. Memory footprint and elapsed wallclock time are collected for each simulation and the results are plotted below. All simulations are configured to run for 10,000 generations under neutral selection without fitness constriants, and without actually sampling any of the simulated sequences.

The graphs below show that genome length is not correlated with total elapsed run time. Unsurprisingly total run time is almost exclusively determined by population size.


Basic usage

To gather statistics and build plots that explore SANTA memory and runtime performance,

	$ scons -j 10
	$ bin/parseresults.py -o results.csv $(find output -type f -name santa.out) >results.csv
	$ plot_results.r

Warning: No attempt has been made to make this code portable to environments outside the Hutch.

Running the simulations under various combinations of population size and sequence length will take many hours to complete. Two optimizations are included to hopefully make this process faster. The SConstruct file uses the srun command from the [SLURM](http://slurm.schedmd.com/) cluster management package to launch jobs on the Hutch center cluster resources. Also, because the heavy lifting is offloaded to the cluster, we use -j N to launch multiple simulations in parallel.

Plots generated by the commands above will be left in bypopulation.png and byseqlen.png in the current directory.

web-aware plots and continuous integration

bin/plot_bokeh.py is a script that will plot the collected statistics and produce an HMTL file that can be viewed in your web browser. The resulting plots can be panned, scaled, and zoomed. See the completed bokeh plots here.

wercker.yml is a configuration file for the Wercker continuous integration platform. This configuration file allows Wercker to build the interactive Bokeh plots and deploy them to the project github pages Wercker will automatically rebuild this project whenever this github repo is updated. The data for the plots is taken from the results.csv file in this repo.

Click on the build badge above to see the current status of the automated Wercker build.