#!/bin/bash # You can set $DUORAM_STORAGE to a directory on the host to avoid # writing large amounts of data into the docker. It's best if this is on # a fast storage medium (or even a ramdisk). (This functionality is # actually unused for the USENIX Security artifact.) if [ "$DUORAM_STORAGE" != "" ]; then mkdir -p ${DUORAM_STORAGE}/party{0,1,2} S0ARG="-v ${DUORAM_STORAGE}/party0:/root/duoram/duoram-online/preprocflags" S1ARG="-v ${DUORAM_STORAGE}/party1:/root/duoram/duoram-online/preprocflags" S2ARG="-v ${DUORAM_STORAGE}/party2:/root/duoram/duoram-online/preprocflags" fi # The SYS_NICE capability allows you to use numactl to pin processes to # NUMA nodes and/or individual cores docker run -d --cap-add SYS_NICE --rm --name duoram_p0 -h duoram_p0 $S0ARG -t duoram docker run -d --cap-add SYS_NICE --rm --name duoram_p1 -h duoram_p1 $S1ARG -t duoram docker run -d --cap-add SYS_NICE --rm --name duoram_p2 -h duoram_p2 $S2ARG -t duoram echo "All dockers launched"