From 5835bbc453b9c993e4c15299cc1c66b6a7e6f734 Mon Sep 17 00:00:00 2001 From: Mark Evenson Date: Thu, 1 Sep 2022 16:09:19 +0200 Subject: [PATCH] Script simulation invocation INCOMPLETE --- mevenson/simulation/glacier.asd | 7 +++++ mevenson/simulation/glacier.lisp | 44 ++++++++++++++++++++++++++++++ mevenson/simulation/simulation.org | 5 ++-- 3 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 mevenson/simulation/glacier.asd create mode 100644 mevenson/simulation/glacier.lisp diff --git a/mevenson/simulation/glacier.asd b/mevenson/simulation/glacier.asd new file mode 100644 index 0000000..31fbb6e --- /dev/null +++ b/mevenson/simulation/glacier.asd @@ -0,0 +1,7 @@ +(defsystem glacier + :version "0.0.1" + :depends-on (jsown) + :components ((:module source + :pathname "./" + :components ((:file "glacier"))))) + diff --git a/mevenson/simulation/glacier.lisp b/mevenson/simulation/glacier.lisp new file mode 100644 index 0000000..de8d872 --- /dev/null +++ b/mevenson/simulation/glacier.lisp @@ -0,0 +1,44 @@ +(defpackage glacier + (:use :cl) + (:export #:grind)) + +(in-package glacier) + +(defun json-parameters () + `($.consensus_settings.glacier.evidence_alpha + 4/5 + $.consensus_settings.glacier.evidence_alpha_2 + 2/5 + $.consensus_settings.glacier.look_ahead + 997 + $.consensus_settings.query.initial_query_size + 100 + $.consensus_settings.query_multiplier + 2 + $.consensus_settings.max_multiplier + 1 + $.byzantine_settings.total_size + ,(expt 10 4) + $.byzantine_settings.honest + 1 + $.distribution.yes + 1/2 + $.distribution.no + 1/2)) + +(defun grind () + (let* ((template + (probe-file "~/work/consensus-prototypes/etc/glacier.json")) + (json + (alexandria:read-file-into-string template)) + (result + (jsown:parse json))) + ;; TODO set the template based on the parameters + (values + (uiop:run-program '("./target/release-opt/consensus-simulations" + "--input-settings" "etc/glacier.json" + "--output-file" "var/glacier.output")) ;; name the output something sensible + result + template))) + + diff --git a/mevenson/simulation/simulation.org b/mevenson/simulation/simulation.org index c5e7fc8..dc38bf3 100644 --- a/mevenson/simulation/simulation.org +++ b/mevenson/simulation/simulation.org @@ -32,7 +32,7 @@ Simulate up to 10^4 nodes adding 10, 100, 1000? #+caption: use these on a base templateo | a1 | $.consensus_settings.glacier.evidence_alpha | -| a2 | $.consensus_settings | +| a2 | $.consensus_settings.glacier.evidence_alpha_2 | | l | $.consensus_settings.glacier.look_ahead | | k | $.consensus_settings.query.initial_query_size | | k_multiplier | $.consensus_settings.query_multiplier | @@ -40,7 +40,8 @@ Simulate up to 10^4 nodes adding 10, 100, 1000? | n | $.byzantine_settings.total_size | | n_honest | $.byzantine_settings.honest | | initial yes | $.distribution.yes | -| intial no | $.distribution.no | +| intial no | $.distribution.no | +| | | ** TODO Double check that this is all we need.