From b8f00a7950d4aecb9cd4c5acbdd1da404ae26863 Mon Sep 17 00:00:00 2001 From: Edward Chen Date: Fri, 29 Jul 2022 11:34:05 -0400 Subject: [PATCH] db join 50x50 test case --- .gitignore | 1 + scripts/aby_tests/c_test_aby.py | 54 +++---- scripts/aby_tests/test_inputs/db_join_50.txt | 3 + scripts/build_mpc_c_test.zsh | 146 +++++++++---------- 4 files changed, 105 insertions(+), 99 deletions(-) create mode 100644 scripts/aby_tests/test_inputs/db_join_50.txt diff --git a/.gitignore b/.gitignore index f14795a6..cd5e88bc 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ __pycache__ scripts/aby_tests/tests /flamegraph*.svg .vscode/ +*.pem diff --git a/scripts/aby_tests/c_test_aby.py b/scripts/aby_tests/c_test_aby.py index e2c6c6fb..87097790 100755 --- a/scripts/aby_tests/c_test_aby.py +++ b/scripts/aby_tests/c_test_aby.py @@ -4,32 +4,34 @@ from util import run_tests from test_suite import * if __name__ == "__main__": - tests = arithmetic_tests + \ - arithmetic_boolean_tests + \ - nary_arithmetic_tests + \ - bitwise_tests + \ - boolean_tests + \ - nary_boolean_tests + \ - const_arith_tests + \ - const_bool_tests + \ - ite_tests + \ - shift_tests + \ - div_tests + \ - mod_tests + \ - array_tests + \ - c_array_tests + \ - function_tests + \ - struct_tests + \ - matrix_tests + \ - ptr_tests + \ - c_misc_tests + \ - biomatch_tests + \ - kmeans_tests_2 + \ - gauss_tests + \ - db_tests + \ - mnist_tests + \ - cryptonets_tests + \ - histogram_tests + # tests = arithmetic_tests + \ + # arithmetic_boolean_tests + \ + # nary_arithmetic_tests + \ + # bitwise_tests + \ + # boolean_tests + \ + # nary_boolean_tests + \ + # const_arith_tests + \ + # const_bool_tests + \ + # ite_tests + \ + # shift_tests + \ + # div_tests + \ + # mod_tests + \ + # array_tests + \ + # c_array_tests + \ + # function_tests + \ + # struct_tests + \ + # matrix_tests + \ + # ptr_tests + \ + # c_misc_tests + \ + # biomatch_tests + \ + # kmeans_tests_2 + \ + # gauss_tests + \ + # db_tests + \ + # mnist_tests + \ + # cryptonets_tests + \ + # histogram_tests + + tests = db_tests # TODO: add support unsigned + int promotion # unsigned_arithmetic_tests + \ diff --git a/scripts/aby_tests/test_inputs/db_join_50.txt b/scripts/aby_tests/test_inputs/db_join_50.txt new file mode 100644 index 00000000..ed87845a --- /dev/null +++ b/scripts/aby_tests/test_inputs/db_join_50.txt @@ -0,0 +1,3 @@ +a 0 1 2 3 4 5 6 7 8 9 +b 0 1 2 3 4 5 6 7 8 9 +res 10 10 5 \ No newline at end of file diff --git a/scripts/build_mpc_c_test.zsh b/scripts/build_mpc_c_test.zsh index e3dfabcd..206df6aa 100755 --- a/scripts/build_mpc_c_test.zsh +++ b/scripts/build_mpc_c_test.zsh @@ -36,98 +36,98 @@ function mpc_test_bool { RUST_BACKTRACE=1 measure_time $BIN --parties $parties $cpath mpc --cost-model "hycc" --selection-scheme "b" } -# build mpc arithmetic tests -mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_add.c -mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_sub.c -mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_mult.c -mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_mult_add_pub.c -mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_mod.c -# mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_add_unsigned.c +# # build mpc arithmetic tests +# mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_add.c +# mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_sub.c +# mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_mult.c +# mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_mult_add_pub.c +# mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_mod.c +# # mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_add_unsigned.c -mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_int_equals.c -mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_int_greater_than.c -mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_int_greater_equals.c -mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_int_less_than.c -mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_int_less_equals.c +# mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_int_equals.c +# mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_int_greater_than.c +# mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_int_greater_equals.c +# mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_int_less_than.c +# mpc_test 2 ./examples/C/mpc/unit_tests/arithmetic_tests/2pc_int_less_equals.c -# build nary arithmetic tests -mpc_test 2 ./examples/C/mpc/unit_tests/nary_arithmetic_tests/2pc_nary_arithmetic_add.c +# # build nary arithmetic tests +# mpc_test 2 ./examples/C/mpc/unit_tests/nary_arithmetic_tests/2pc_nary_arithmetic_add.c -# build bitwise tests -mpc_test 2 ./examples/C/mpc/unit_tests/bitwise_tests/2pc_bitwise_and.c -mpc_test 2 ./examples/C/mpc/unit_tests/bitwise_tests/2pc_bitwise_or.c -mpc_test 2 ./examples/C/mpc/unit_tests/bitwise_tests/2pc_bitwise_xor.c +# # build bitwise tests +# mpc_test 2 ./examples/C/mpc/unit_tests/bitwise_tests/2pc_bitwise_and.c +# mpc_test 2 ./examples/C/mpc/unit_tests/bitwise_tests/2pc_bitwise_or.c +# mpc_test 2 ./examples/C/mpc/unit_tests/bitwise_tests/2pc_bitwise_xor.c -# build boolean tests -mpc_test 2 ./examples/C/mpc/unit_tests/boolean_tests/2pc_boolean_and.c -mpc_test 2 ./examples/C/mpc/unit_tests/boolean_tests/2pc_boolean_or.c -mpc_test 2 ./examples/C/mpc/unit_tests/boolean_tests/2pc_boolean_equals.c +# # build boolean tests +# mpc_test 2 ./examples/C/mpc/unit_tests/boolean_tests/2pc_boolean_and.c +# mpc_test 2 ./examples/C/mpc/unit_tests/boolean_tests/2pc_boolean_or.c +# mpc_test 2 ./examples/C/mpc/unit_tests/boolean_tests/2pc_boolean_equals.c -# build nary boolean tests -mpc_test 2 ./examples/C/mpc/unit_tests/nary_boolean_tests/2pc_nary_boolean_and.c +# # build nary boolean tests +# mpc_test 2 ./examples/C/mpc/unit_tests/nary_boolean_tests/2pc_nary_boolean_and.c -# build const tests -mpc_test 2 ./examples/C/mpc/unit_tests/const_tests/2pc_const_arith.c -mpc_test 2 ./examples/C/mpc/unit_tests/const_tests/2pc_const_bool.c +# # build const tests +# mpc_test 2 ./examples/C/mpc/unit_tests/const_tests/2pc_const_arith.c +# mpc_test 2 ./examples/C/mpc/unit_tests/const_tests/2pc_const_bool.c -# build if statement tests -mpc_test 2 ./examples/C/mpc/unit_tests/ite_tests/2pc_ite_ret_bool.c -mpc_test 2 ./examples/C/mpc/unit_tests/ite_tests/2pc_ite_ret_int.c -mpc_test 2 ./examples/C/mpc/unit_tests/ite_tests/2pc_ite_only_if.c +# # build if statement tests +# mpc_test 2 ./examples/C/mpc/unit_tests/ite_tests/2pc_ite_ret_bool.c +# mpc_test 2 ./examples/C/mpc/unit_tests/ite_tests/2pc_ite_ret_int.c +# mpc_test 2 ./examples/C/mpc/unit_tests/ite_tests/2pc_ite_only_if.c -# build shift tests -mpc_test 2 ./examples/C/mpc/unit_tests/shift_tests/2pc_lhs.c -mpc_test 2 ./examples/C/mpc/unit_tests/shift_tests/2pc_rhs.c +# # build shift tests +# mpc_test 2 ./examples/C/mpc/unit_tests/shift_tests/2pc_lhs.c +# mpc_test 2 ./examples/C/mpc/unit_tests/shift_tests/2pc_rhs.c -# build div tests -mpc_test 2 ./examples/C/mpc/unit_tests/div_tests/2pc_div.c +# # build div tests +# mpc_test 2 ./examples/C/mpc/unit_tests/div_tests/2pc_div.c -# build array tests -mpc_test 2 ./examples/C/mpc/unit_tests/array_tests/2pc_array_sum.c -mpc_test 2 ./examples/C/mpc/unit_tests/array_tests/2pc_array_index.c -mpc_test 2 ./examples/C/mpc/unit_tests/array_tests/2pc_array_index_2.c +# # build array tests +# mpc_test 2 ./examples/C/mpc/unit_tests/array_tests/2pc_array_sum.c +# mpc_test 2 ./examples/C/mpc/unit_tests/array_tests/2pc_array_index.c +# mpc_test 2 ./examples/C/mpc/unit_tests/array_tests/2pc_array_index_2.c -# build circ/compiler array tests -mpc_test 2 ./examples/C/mpc/unit_tests/c_array_tests/2pc_array.c -mpc_test 2 ./examples/C/mpc/unit_tests/c_array_tests/2pc_array_1.c -mpc_test 2 ./examples/C/mpc/unit_tests/c_array_tests/2pc_array_2.c -mpc_test 2 ./examples/C/mpc/unit_tests/c_array_tests/2pc_array_3.c -mpc_test 2 ./examples/C/mpc/unit_tests/c_array_tests/2pc_array_sum_c.c +# # build circ/compiler array tests +# mpc_test 2 ./examples/C/mpc/unit_tests/c_array_tests/2pc_array.c +# mpc_test 2 ./examples/C/mpc/unit_tests/c_array_tests/2pc_array_1.c +# mpc_test 2 ./examples/C/mpc/unit_tests/c_array_tests/2pc_array_2.c +# mpc_test 2 ./examples/C/mpc/unit_tests/c_array_tests/2pc_array_3.c +# mpc_test 2 ./examples/C/mpc/unit_tests/c_array_tests/2pc_array_sum_c.c -# build function tests -mpc_test 2 ./examples/C/mpc/unit_tests/function_tests/2pc_function_add.c +# # build function tests +# mpc_test 2 ./examples/C/mpc/unit_tests/function_tests/2pc_function_add.c -# build struct tests -mpc_test 2 ./examples/C/mpc/unit_tests/struct_tests/2pc_struct_add.c -mpc_test 2 ./examples/C/mpc/unit_tests/struct_tests/2pc_struct_array_add.c -mpc_test 2 ./examples/C/mpc/unit_tests/struct_tests/ret_struct.c +# # build struct tests +# mpc_test 2 ./examples/C/mpc/unit_tests/struct_tests/2pc_struct_add.c +# mpc_test 2 ./examples/C/mpc/unit_tests/struct_tests/2pc_struct_array_add.c +# mpc_test 2 ./examples/C/mpc/unit_tests/struct_tests/ret_struct.c -# build matrix tests -mpc_test 2 ./examples/C/mpc/unit_tests/matrix_tests/2pc_matrix_add.c -mpc_test 2 ./examples/C/mpc/unit_tests/matrix_tests/2pc_matrix_assign_add.c -mpc_test 2 ./examples/C/mpc/unit_tests/matrix_tests/2pc_matrix_ptr_add.c +# # build matrix tests +# mpc_test 2 ./examples/C/mpc/unit_tests/matrix_tests/2pc_matrix_add.c +# mpc_test 2 ./examples/C/mpc/unit_tests/matrix_tests/2pc_matrix_assign_add.c +# mpc_test 2 ./examples/C/mpc/unit_tests/matrix_tests/2pc_matrix_ptr_add.c -# build ptr tests -mpc_test 2 ./examples/C/mpc/unit_tests/ptr_tests/2pc_ptr_add.c -mpc_test 2 ./examples/C/mpc/unit_tests/ptr_tests/2pc_ptr_arith.c +# # build ptr tests +# mpc_test 2 ./examples/C/mpc/unit_tests/ptr_tests/2pc_ptr_add.c +# mpc_test 2 ./examples/C/mpc/unit_tests/ptr_tests/2pc_ptr_arith.c -# build misc tests -mpc_test 2 ./examples/C/mpc/unit_tests/misc_tests/2pc_millionaires.c -mpc_test 2 ./examples/C/mpc/unit_tests/misc_tests/2pc_multi_var.c +# # build misc tests +# mpc_test 2 ./examples/C/mpc/unit_tests/misc_tests/2pc_millionaires.c +# mpc_test 2 ./examples/C/mpc/unit_tests/misc_tests/2pc_multi_var.c -# build hycc benchmarks -mpc_test 2 ./examples/C/mpc/benchmarks/biomatch/2pc_biomatch.c -mpc_test 2 ./examples/C/mpc/benchmarks/biomatch/biomatch.c -mpc_test 2 ./examples/C/mpc/benchmarks/kmeans/2pc_kmeans_.c -mpc_test 2 ./examples/C/mpc/benchmarks/gauss/2pc_gauss_inline.c +# # build hycc benchmarks +# mpc_test 2 ./examples/C/mpc/benchmarks/biomatch/2pc_biomatch.c +# mpc_test 2 ./examples/C/mpc/benchmarks/biomatch/biomatch.c +# mpc_test 2 ./examples/C/mpc/benchmarks/kmeans/2pc_kmeans_.c +# mpc_test 2 ./examples/C/mpc/benchmarks/gauss/2pc_gauss_inline.c mpc_test 2 ./examples/C/mpc/benchmarks/db/db_join.c -mpc_test 2 ./examples/C/mpc/benchmarks/db/db_join2.c -mpc_test 2 ./examples/C/mpc/benchmarks/db/db_merge.c -mpc_test 2 ./examples/C/mpc/benchmarks/mnist/mnist.c -mpc_test_2 2 ./examples/C/mpc/benchmarks/cryptonets/cryptonets.c +# mpc_test 2 ./examples/C/mpc/benchmarks/db/db_join2.c +# mpc_test 2 ./examples/C/mpc/benchmarks/db/db_merge.c +# mpc_test 2 ./examples/C/mpc/benchmarks/mnist/mnist.c +# mpc_test_2 2 ./examples/C/mpc/benchmarks/cryptonets/cryptonets.c -# build OPA benchmarks -mpc_test_2 2 ./examples/C/mpc/benchmarks/histogram/histogram.c +# # build OPA benchmarks +# mpc_test_2 2 ./examples/C/mpc/benchmarks/histogram/histogram.c