Home

Awesome

PyStruct

A Framework for Parallel Bayesian Network Structure Learning

This is the brain child of 3 college students at Montana State University for a semestor long project for Reasoning under Uncertainty a course taught by Dr. John Sheppard. Feel free to contact any of us for details on the usage and implementation in regards to this algorithm and be sure to check out our paper for more details.

Testing Runbook

python -m cProfile src <dataset name>

Used to test memory impacts and potential pain points when analyzing various datasets.

Cluster Runbook

Server

python net <dataset to run>

Use the <dataset to run> to provide a space separated list of datasets for the system to use. Note: kill can be used to forcefully killed the clients on the cluster.

Client

python src <dataset to run>

To run a single threaded implementation, pass the name of one of the datasets. Otherwise, if no datasets are passed, the client will enter a listening state and attempt to contact the server in hopes for a job

Manager (NOT COMPLETE)

python . (start|stop|update|check|restart)

This can be used to repeatidly update the clients when using the dancer shell configuration.

dsh -f machines.list -r ssh -Mc -- '<command here>ā€™

Use this to execute the commands on each client at the same time. To see further cluster configuration options, please view my scraped together external documentation for details.

Credits