├── .gitignore ├── LICENSE ├── benchmarks ├── latency_sync │ ├── create_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── CreateBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── delete_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── DeleteBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── read_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── ReadBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ └── write_bench │ │ ├── client │ │ └── src │ │ │ ├── WriteBench.java │ │ │ └── util │ │ │ ├── BenchmarkCallback.java │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh ├── lfile_sync │ ├── create_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── CreateBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── create_bench_max │ │ ├── client │ │ │ └── src │ │ │ │ ├── CreateBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── delete_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── DeleteBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── read_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── ReadBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ └── write_bench │ │ ├── client │ │ └── src │ │ │ ├── WriteBench.java │ │ │ └── util │ │ │ ├── BenchmarkCallback.java │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh ├── lfile_sync_rand_1fnb │ ├── create_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── CreateBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── create_bench_max │ │ ├── client │ │ │ └── src │ │ │ │ ├── CreateBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── read_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── ReadBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ └── write_bench │ │ ├── client │ │ └── src │ │ │ ├── WriteBench.java │ │ │ └── util │ │ │ ├── BenchmarkCallback.java │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh ├── lfile_sync_rand_nf1b │ ├── create_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── CreateBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── create_bench_max │ │ ├── client │ │ │ └── src │ │ │ │ ├── CreateBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── read_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── ReadBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ └── write_bench │ │ ├── client │ │ └── src │ │ │ ├── WriteBench.java │ │ │ └── util │ │ │ ├── BenchmarkCallback.java │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh ├── load_async │ ├── create_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── CreateBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── delete_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── DeleteBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── read_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── ReadBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ └── write_bench │ │ ├── client │ │ └── src │ │ │ ├── WriteBench.java │ │ │ └── util │ │ │ ├── BenchmarkCallback.java │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh ├── multi_user_async │ ├── create_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── CreateBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── delete_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── DeleteBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── read_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── ReadBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ └── write_bench │ │ ├── client │ │ └── src │ │ │ ├── WriteBench.java │ │ │ └── util │ │ │ ├── BenchmarkCallback.java │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh ├── multi_user_sync │ ├── create_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── CreateBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── read_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── ReadBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ └── write_bench │ │ ├── client │ │ └── src │ │ │ ├── WriteBench.java │ │ │ └── util │ │ │ ├── BenchmarkCallback.java │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh ├── pfile_async │ ├── create_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── CreateBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── read_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── ReadBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ └── write_bench │ │ ├── client │ │ └── src │ │ │ ├── WriteBench.java │ │ │ └── util │ │ │ ├── BenchmarkCallback.java │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh ├── pfile_async_block │ ├── create_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── CreateBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── read_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── ReadBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ └── write_bench │ │ ├── client │ │ └── src │ │ │ ├── WriteBench.java │ │ │ └── util │ │ │ ├── BenchmarkCallback.java │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh ├── pfile_async_multiuser │ ├── create_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── CreateBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── read_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── ReadBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ └── write_bench │ │ ├── client │ │ └── src │ │ │ ├── WriteBench.java │ │ │ └── util │ │ │ ├── BenchmarkCallback.java │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh ├── pidfile_async │ ├── create_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── CreateBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── read_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── ReadBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ └── write_bench │ │ ├── client │ │ └── src │ │ │ ├── WriteBench.java │ │ │ └── util │ │ │ ├── BenchmarkCallback.java │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh ├── queries │ └── sumquery │ │ ├── client │ │ └── src │ │ │ ├── SumQueryBench.java │ │ │ └── util │ │ │ ├── BenchmarkCallback.java │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh ├── single_user_async │ ├── create_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── CreateBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── empty_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── EmptyBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── read_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── ReadBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ └── write_bench │ │ ├── client │ │ └── src │ │ │ ├── WriteBench.java │ │ │ └── util │ │ │ ├── BenchmarkCallback.java │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh ├── single_user_sync │ ├── create_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── CreateBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ ├── empty_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── EmptyBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ └── run_client.sh │ ├── read_bench │ │ ├── client │ │ │ └── src │ │ │ │ ├── ReadBench.java │ │ │ │ └── util │ │ │ │ ├── BenchmarkCallback.java │ │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh │ └── write_bench │ │ ├── client │ │ └── src │ │ │ ├── WriteBench.java │ │ │ └── util │ │ │ ├── BenchmarkCallback.java │ │ │ └── BenchmarkStats.java │ │ ├── compile.sh │ │ └── run_client.sh └── single_user_sync_big │ ├── create_bench │ ├── client │ │ └── src │ │ │ ├── CreateBench.java │ │ │ └── util │ │ │ ├── BenchmarkCallback.java │ │ │ └── BenchmarkStats.java │ ├── compile.sh │ └── run_client.sh │ ├── read_bench │ ├── client │ │ └── src │ │ │ ├── ReadBench.java │ │ │ └── util │ │ │ ├── BenchmarkCallback.java │ │ │ └── BenchmarkStats.java │ ├── compile.sh │ └── run_client.sh │ └── write_bench │ ├── client │ └── src │ │ ├── WriteBench.java │ │ └── util │ │ ├── BenchmarkCallback.java │ │ └── BenchmarkStats.java │ ├── compile.sh │ └── run_client.sh ├── clients ├── CreateFiles │ ├── CreateFiles.java │ ├── compile.sh │ └── run_client.sh ├── CreateUsers │ ├── CreateUsers.java │ ├── compile.sh │ └── run_client.sh ├── PartitionInfoInit │ ├── PartitionInfoInit.java │ ├── compile.sh │ └── run_client.sh └── daemon │ ├── client │ └── src │ │ ├── Daemon.java │ │ └── util │ │ ├── BenchmarkCallback.java │ │ └── BenchmarkStats.java │ ├── compile.sh │ └── run_client.sh ├── dependencies └── commons-cli-1.4 │ ├── CONTRIBUTING.md │ ├── LICENSE.txt │ ├── NOTICE.txt │ ├── README.md │ ├── RELEASE-NOTES.txt │ └── apidocs │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── org │ └── apache │ │ └── commons │ │ └── cli │ │ ├── AlreadySelectedException.html │ │ ├── AmbiguousOptionException.html │ │ ├── BasicParser.html │ │ ├── CommandLine.Builder.html │ │ ├── CommandLine.html │ │ ├── CommandLineParser.html │ │ ├── DefaultParser.html │ │ ├── GnuParser.html │ │ ├── HelpFormatter.html │ │ ├── MissingArgumentException.html │ │ ├── MissingOptionException.html │ │ ├── Option.Builder.html │ │ ├── Option.html │ │ ├── OptionBuilder.html │ │ ├── OptionGroup.html │ │ ├── Options.html │ │ ├── ParseException.html │ │ ├── Parser.html │ │ ├── PatternOptionBuilder.html │ │ ├── PosixParser.html │ │ ├── TypeHandler.html │ │ ├── UnrecognizedOptionException.html │ │ ├── class-use │ │ ├── AlreadySelectedException.html │ │ ├── AmbiguousOptionException.html │ │ ├── BasicParser.html │ │ ├── CommandLine.Builder.html │ │ ├── CommandLine.html │ │ ├── CommandLineParser.html │ │ ├── DefaultParser.html │ │ ├── GnuParser.html │ │ ├── HelpFormatter.html │ │ ├── MissingArgumentException.html │ │ ├── MissingOptionException.html │ │ ├── Option.Builder.html │ │ ├── Option.html │ │ ├── OptionBuilder.html │ │ ├── OptionGroup.html │ │ ├── Options.html │ │ ├── ParseException.html │ │ ├── Parser.html │ │ ├── PatternOptionBuilder.html │ │ ├── PosixParser.html │ │ ├── TypeHandler.html │ │ └── UnrecognizedOptionException.html │ │ ├── package-frame.html │ │ ├── package-summary.html │ │ ├── package-tree.html │ │ └── package-use.html │ ├── overview-tree.html │ ├── package-list │ ├── script.js │ ├── serialized-form.html │ └── stylesheet.css ├── lnx_fs_test ├── .gitignore ├── Makefile ├── aggragate_general.py ├── client_spawner.cpp ├── crdel_test.sh ├── create_files.sh ├── delete_files.sh ├── ls_files.cpp ├── read_files.cpp ├── read_files_many.cpp ├── read_many_test.sh ├── read_test.sh ├── write_files.cpp ├── write_files_many.cpp ├── write_files_once.cpp ├── write_many_test.sh └── write_test.sh ├── scripts ├── benchmarks_latency │ ├── benchmark_create.sh │ ├── benchmark_read.sh │ ├── benchmark_write.sh │ ├── tester_cr.sh │ ├── tester_rd_1K.sh │ └── tester_wr_64K.sh ├── benchmarks_lfile_randblk │ ├── benchmark_create.sh │ ├── benchmark_read.sh │ ├── benchmark_write.sh │ ├── benchmark_write_init.sh │ ├── spawner │ ├── tester_read.sh │ └── tester_write.sh ├── benchmarks_lfile_randfl │ ├── benchmark_create.sh │ ├── benchmark_read.sh │ ├── benchmark_write.sh │ ├── benchmark_write_init.sh │ ├── spawner │ ├── tester_read.sh │ └── tester_write.sh ├── benchmarks_lfile_sync │ ├── benchmark_create.sh │ ├── benchmark_create_max.sh │ ├── benchmark_delete.sh │ ├── benchmark_read.sh │ ├── benchmark_write.sh │ ├── spawner │ ├── tester_421_read.sh │ ├── tester_421_write.sh │ ├── tester_422_read.sh │ ├── tester_422_write.sh │ ├── tester_cr_del.sh │ └── tester_cr_del_single.sh ├── benchmarks_load │ ├── multi_benchmark_create.sh │ ├── multi_benchmark_read.sh │ ├── multi_benchmark_write.sh │ └── spawner ├── benchmarks_multi_async │ ├── multi_benchmark_create.sh │ ├── multi_benchmark_delete.sh │ ├── multi_benchmark_read.sh │ ├── multi_benchmark_write.sh │ └── spawner ├── benchmarks_multi_sync │ ├── multi_benchmark_create.sh │ ├── multi_benchmark_read.sh │ └── multi_benchmark_write.sh ├── benchmarks_pfile_async │ ├── benchmark_create.sh │ ├── benchmark_read.sh │ ├── benchmark_write.sh │ ├── spawner │ ├── tester_read.sh │ ├── tester_read_lcl.sh │ ├── tester_write.sh │ └── tester_write_lcl.sh ├── benchmarks_pfile_muser │ ├── benchmark_create.sh │ ├── benchmark_read.sh │ ├── benchmark_write.sh │ ├── range_spawner │ ├── tester_read.sh │ └── tester_write.sh ├── benchmarks_single_async │ ├── benchmark_create.sh │ ├── benchmark_read.sh │ └── benchmark_write.sh ├── benchmarks_single_sync │ ├── benchmark_create.sh │ ├── benchmark_read.sh │ ├── benchmark_write.sh │ ├── spawner │ └── spawner_single ├── benchmarks_single_sync_big │ ├── benchmark_create.sh │ ├── benchmark_read.sh │ ├── benchmark_write.sh │ ├── run_bench.sh │ └── spawner ├── benchmarks_sumquery │ ├── benchmark_create.sh │ └── benchmark_write.sh ├── daemon │ ├── daemon.sh │ └── spawner ├── initialize_multi.sh ├── load_schema.sh ├── start_multi.sh ├── thread_spawners │ ├── client_spawner.cpp │ ├── client_spawner_range.cpp │ └── daemon_spawner.cpp └── update_stored_procedures.sh ├── sql ├── create_tables.sql └── update_procedures.sql ├── stored_procedures ├── ChangeDir │ └── ChangeDir.java ├── CheckStorage │ └── CheckStorage.java ├── CountBytes │ └── CountBytes.java ├── CountFiles │ └── CountFiles.java ├── CountLargerThan │ └── CountLargerThan.java ├── CountLargestK │ └── CountLargestK.java ├── Create │ └── Create.java ├── CreateAt │ └── CreateAt.java ├── CreateBlock │ └── CreateBlock.java ├── CreateBlockAt │ └── CreateBlockAt.java ├── CreateDir │ └── CreateDir.java ├── CreateP │ └── CreateP.java ├── CreateUser │ └── CreateUser.java ├── Delete │ └── Delete.java ├── GetPartitionInfo │ └── GetPartitionInfo.java ├── GetPartitionRange │ └── GetPartitionRange.java ├── GetUserPartition │ └── GetUserPartition.java ├── List │ └── List.java ├── PartitionInfoInsert │ └── PartitionInfoInsert.java ├── PartitionInfoSelect │ └── PartitionInfoSelect.java ├── PartitionInfoUpdate │ └── PartitionInfoUpdate.java ├── PopulateWithBuffer │ └── PopulateWithBuffer.java ├── PopulateWithSize │ └── PopulateWithSize.java ├── Read │ └── Read.java ├── Read1FileNBlocks │ └── Read1FileNBlocks.java ├── ReadNFiles1Block │ └── ReadNFiles1Block.java ├── SendToDisk │ └── SendToDisk.java ├── SumLargerThan │ └── SumLargerThan.java ├── Write1FileNBlocks │ └── Write1FileNBlocks.java └── WriteNFiles1Block │ └── WriteNFiles1Block.java └── testing ├── deployment_n10.xml ├── deployment_n2.xml ├── deployment_n2s.xml ├── deployment_n3.xml ├── deployment_n4.xml ├── deployment_n6.xml ├── deployment_n8.xml ├── deployment_p20.xml ├── deployment_p40.xml └── scripts ├── aggragate_general.py └── aggragate_multiclient.py /.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | log 3 | logs 4 | ext4_test/stats/* 5 | tmpfs_test/stats/* 6 | testing/voltdbroot/* 7 | testing/stats/* 8 | .DS_Store 9 | tmp 10 | hs_err_pid* 11 | .mtj.tmp/ 12 | *.class 13 | *.jar 14 | *.war 15 | *.ear 16 | *.nar 17 | *.o 18 | *~ -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 DBOS-project 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /benchmarks/latency_sync/create_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/latency_sync/create_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.create.CreateBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/latency_sync/delete_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/latency_sync/delete_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.delete.DeleteBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/latency_sync/read_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/latency_sync/read_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.read.ReadBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/latency_sync/write_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/latency_sync/write_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.write.WriteBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync/create_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync/create_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.create.CreateBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync/create_bench_max/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync/create_bench_max/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.create.CreateBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync/delete_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync/delete_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.delete.DeleteBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync/read_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync/read_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.read.ReadBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync/write_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync/write_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.write.WriteBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync_rand_1fnb/create_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync_rand_1fnb/create_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.create.CreateBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync_rand_1fnb/create_bench_max/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync_rand_1fnb/create_bench_max/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.create.CreateBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync_rand_1fnb/read_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync_rand_1fnb/read_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.read.ReadBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync_rand_1fnb/write_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync_rand_1fnb/write_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.write.WriteBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync_rand_nf1b/create_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync_rand_nf1b/create_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.create.CreateBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync_rand_nf1b/create_bench_max/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync_rand_nf1b/create_bench_max/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.create.CreateBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync_rand_nf1b/read_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync_rand_nf1b/read_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.read.ReadBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync_rand_nf1b/write_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/lfile_sync_rand_nf1b/write_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.write.WriteBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/load_async/create_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/load_async/create_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.create.CreateBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/load_async/delete_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/load_async/delete_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.delete.DeleteBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/load_async/read_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/load_async/read_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.read.ReadBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/load_async/write_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/load_async/write_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.write.WriteBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/multi_user_async/create_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/multi_user_async/create_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.create.CreateBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/multi_user_async/delete_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/multi_user_async/delete_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.delete.DeleteBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/multi_user_async/read_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/multi_user_async/read_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.read.ReadBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/multi_user_async/write_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/multi_user_async/write_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.write.WriteBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/multi_user_sync/create_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/multi_user_sync/create_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.create.CreateBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/multi_user_sync/read_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/multi_user_sync/read_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.read.ReadBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/multi_user_sync/write_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/multi_user_sync/write_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.write.WriteBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/pfile_async/create_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/pfile_async/create_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.create.CreateBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/pfile_async/read_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/pfile_async/read_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.read.ReadBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/pfile_async/write_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/pfile_async/write_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.write.WriteBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/pfile_async_block/create_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/pfile_async_block/create_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.create.CreateBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/pfile_async_block/read_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/pfile_async_block/read_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.read.ReadBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/pfile_async_block/write_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/pfile_async_block/write_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.write.WriteBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/pfile_async_multiuser/create_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/pfile_async_multiuser/create_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.create.CreateBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/pfile_async_multiuser/read_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/pfile_async_multiuser/read_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.read.ReadBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/pfile_async_multiuser/write_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/pfile_async_multiuser/write_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.write.WriteBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/pidfile_async/create_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/pidfile_async/create_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.create.CreateBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/pidfile_async/read_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/pidfile_async/read_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.read.ReadBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/pidfile_async/write_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/pidfile_async/write_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.write.WriteBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/queries/sumquery/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/queries/sumquery/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.sumquery.SumQueryBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/single_user_async/create_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/single_user_async/create_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.create.CreateBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/single_user_async/empty_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/single_user_async/empty_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | CP="$CLASSPATH:/home/gridsan/askiad/DBOS_shared/askiad/VoltDB/voltdb/*" 4 | CP="$CP:/home/gridsan/askiad/homebin/commons-cli-1.4/*" 5 | 6 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 7 | cd ${SCRIPT_DIR} 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | 20 | java -cp "$CP:client/client.jar" org.voltdb.empty.EmptyBench $* 21 | fi 22 | -------------------------------------------------------------------------------- /benchmarks/single_user_async/read_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/single_user_async/read_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.read.ReadBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/single_user_async/write_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/single_user_async/write_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.write.WriteBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/single_user_sync/create_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/single_user_sync/create_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.create.CreateBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/single_user_sync/empty_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:$SCRIPT_DIR/../../../../../VoltDB/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | 20 | java -cp "$CP:client/client.jar" org.voltdb.empty.EmptyBench $* 21 | fi 22 | -------------------------------------------------------------------------------- /benchmarks/single_user_sync/read_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/single_user_sync/read_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.read.ReadBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/single_user_sync/write_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/single_user_sync/write_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.write.WriteBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/single_user_sync_big/create_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/single_user_sync_big/create_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | java -cp "$CP:client/client.jar" org.voltdb.create.CreateBench $* 9 | 10 | -------------------------------------------------------------------------------- /benchmarks/single_user_sync_big/read_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/single_user_sync_big/read_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.read.ReadBench $* 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/single_user_sync_big/write_bench/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /benchmarks/single_user_sync_big/write_bench/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp "$CP:client/client.jar" org.voltdb.write.WriteBench $* 10 | 11 | -------------------------------------------------------------------------------- /clients/CreateFiles/CreateFiles.java: -------------------------------------------------------------------------------- 1 | import org.apache.commons.cli.*; 2 | 3 | import org.voltdb.VoltTable; 4 | import org.voltdb.client.Client; 5 | import org.voltdb.client.ClientFactory; 6 | import org.voltdb.client.ProcCallException; 7 | 8 | public class CreateFiles { 9 | 10 | private Client _client; 11 | private String _username; 12 | private int _filecnt; 13 | private int _sites; 14 | 15 | public CreateFiles (String hostlist, String username, int filecnt, int totalsites) 16 | throws Exception { 17 | 18 | _username = username; 19 | _filecnt = filecnt; 20 | _sites = totalsites; 21 | 22 | // create client 23 | _client = ClientFactory.createClient(); 24 | 25 | // connect to each server listed (separated by commas) in the first argument 26 | String[] serverArray = hostlist.split(","); 27 | for (String server : serverArray) 28 | _client.createConnection(server); 29 | } 30 | 31 | public void create () throws Exception { 32 | for (int i=0; i<_filecnt; i++) { 33 | _client.callProcedure("CreateAt", 34 | i % _sites, 35 | _username, 36 | "file" + String.valueOf(i) 37 | ); 38 | } 39 | } 40 | 41 | public static void main(String[] args) throws Exception { 42 | // parse args flags 43 | CommandLineParser parser = new DefaultParser(); 44 | Options options = new Options(); 45 | options.addOption("h", "hostlist", true, "host servers list, e.g. localhost"); 46 | options.addOption("u", "username", true, "file owner"); 47 | options.addOption("f", "filecnt", true, "number of files to create"); 48 | options.addOption("p", "totalsites", true, "number of total system sites/partitions"); 49 | CommandLine cmd = parser.parse(options, args); 50 | 51 | String hostlist = "localhost"; 52 | if (cmd.hasOption("hostlist")) 53 | hostlist = cmd.getOptionValue("hostlist"); 54 | 55 | String username = "user"; 56 | if (cmd.hasOption("username")) 57 | username = cmd.getOptionValue("username"); 58 | 59 | int filecnt = 1; 60 | if (cmd.hasOption("filecnt")) 61 | filecnt = Integer.parseInt(cmd.getOptionValue("filecnt")); 62 | 63 | int totalsites = 40; 64 | if (cmd.hasOption("totalsites")) 65 | totalsites = Integer.parseInt(cmd.getOptionValue("totalsites")); 66 | 67 | CreateFiles file_creator = new CreateFiles(hostlist, username, filecnt, totalsites); 68 | file_creator.create(); 69 | } 70 | } 71 | 72 | -------------------------------------------------------------------------------- /clients/CreateFiles/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC="CreateFiles" 10 | 11 | javac -cp $CP "$SRC.java" 12 | jar cvf "$SRC.jar" "$SRC.class" 13 | 14 | -------------------------------------------------------------------------------- /clients/CreateFiles/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # 4 | # usage: 5 | # ./run_client.sh [flags] 6 | # flags: -h hostlist -u username -f filecnt -p totalsites 7 | 8 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 9 | cd ${SCRIPT_DIR} 10 | 11 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 12 | CP="$CP:$SCRIPT_DIR/../../dependencies/commons-cli-1.4/*" 13 | 14 | java -cp $CP CreateFiles $* 15 | -------------------------------------------------------------------------------- /clients/CreateUsers/CreateUsers.java: -------------------------------------------------------------------------------- 1 | import org.apache.commons.cli.*; 2 | 3 | import org.voltdb.VoltTable; 4 | import org.voltdb.client.Client; 5 | import org.voltdb.client.ClientFactory; 6 | import org.voltdb.client.ProcCallException; 7 | 8 | public class CreateUsers { 9 | 10 | private Client _client; 11 | private int _usercnt; 12 | private int _sites; 13 | 14 | public CreateUsers (String hostlist, int usercnt, int totalsites) 15 | throws Exception { 16 | 17 | _usercnt = usercnt; 18 | _sites = totalsites; 19 | 20 | // create client 21 | _client = ClientFactory.createClient(); 22 | 23 | // connect to each server listed (separated by commas) in the first argument 24 | String[] serverArray = hostlist.split(","); 25 | for (String server : serverArray) 26 | _client.createConnection(server); 27 | } 28 | 29 | public void create () throws Exception { 30 | VoltTable partition_map = _client.callProcedure("GetPartitionInfo").getResults()[0]; 31 | while (partition_map.advanceRow()) { 32 | int p_key = (int) partition_map.getLong(0); 33 | int p_id = (int) partition_map.getLong(1); 34 | 35 | int user_num = p_id; 36 | while (user_num < _usercnt) { 37 | create_one(p_key, user_num); 38 | user_num += _sites; 39 | } 40 | } 41 | } 42 | 43 | public void create_one (int partition, int i) throws Exception { 44 | _client.callProcedure("CreateUser", 45 | partition, 46 | "user" + String.valueOf(i) 47 | ); 48 | } 49 | 50 | public static void main(String[] args) throws Exception { 51 | // parse args flags 52 | CommandLineParser parser = new DefaultParser(); 53 | Options options = new Options(); 54 | options.addOption("h", "hostlist", true, "host servers list, e.g. localhost"); 55 | options.addOption("u", "usercnt", true, "number of users to create"); 56 | options.addOption("p", "totalsites", true, "number of total system sites/partitions"); 57 | CommandLine cmd = parser.parse(options, args); 58 | 59 | String hostlist = "localhost"; 60 | if (cmd.hasOption("hostlist")) 61 | hostlist = cmd.getOptionValue("hostlist"); 62 | 63 | int usercnt = 1; 64 | if (cmd.hasOption("usercnt")) 65 | usercnt = Integer.parseInt(cmd.getOptionValue("usercnt")); 66 | 67 | int totalsites = 40; 68 | if (cmd.hasOption("totalsites")) 69 | totalsites = Integer.parseInt(cmd.getOptionValue("totalsites")); 70 | 71 | CreateUsers user_creator = new CreateUsers(hostlist, usercnt, totalsites); 72 | user_creator.create(); 73 | } 74 | } 75 | 76 | -------------------------------------------------------------------------------- /clients/CreateUsers/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC="CreateUsers" 10 | 11 | javac -cp $CP "$SRC.java" 12 | jar cvf "$SRC.jar" "$SRC.class" 13 | 14 | -------------------------------------------------------------------------------- /clients/CreateUsers/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # 4 | # usage: 5 | # ./run_client.sh [flags] 6 | # flags: -h hostlist -u usercnt -p totalsites 7 | 8 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 9 | cd ${SCRIPT_DIR} 10 | 11 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 12 | CP="$CP:$SCRIPT_DIR/../../dependencies/commons-cli-1.4/*" 13 | 14 | java -cp $CP CreateUsers $* 15 | -------------------------------------------------------------------------------- /clients/PartitionInfoInit/PartitionInfoInit.java: -------------------------------------------------------------------------------- 1 | import org.apache.commons.cli.*; 2 | 3 | import org.voltdb.VoltTable; 4 | import org.voltdb.client.Client; 5 | import org.voltdb.client.ClientFactory; 6 | import org.voltdb.client.ProcCallException; 7 | 8 | public class PartitionInfoInit { 9 | 10 | private Client _client; 11 | 12 | public PartitionInfoInit (String hostlist) throws Exception { 13 | // create client 14 | _client = ClientFactory.createClient(); 15 | 16 | // connect to each server listed (separated by commas) in the first argument 17 | String[] serverArray = hostlist.split(","); 18 | for (String server : serverArray) 19 | _client.createConnection(server); 20 | } 21 | 22 | public void populate () throws Exception { 23 | VoltTable partition_map = _client.callProcedure("@GetPartitionKeys", 24 | "integer").getResults()[0]; 25 | while (partition_map.advanceRow()) { 26 | int p_id = (int) partition_map.getLong(0); 27 | int p_key = (int) partition_map.getLong(1); 28 | 29 | _client.callProcedure("PartitionInfoInsert", 30 | p_key, p_id, -1, ""); 31 | } 32 | 33 | String query = "SELECT partition_id, host_id, hostname" + 34 | " from statistics(table, 0) where table_name = 'FILE';"; 35 | VoltTable host_map = _client.callProcedure("@QueryStats", 36 | query).getResults()[0]; 37 | while(host_map.advanceRow()) { 38 | int p_id = (int) host_map.getLong(0); 39 | int host_id = (int) host_map.getLong(1); 40 | String host_name = host_map.getString(2); 41 | 42 | _client.callProcedure("PartitionInfoUpdate", 43 | p_id, host_id, host_name); 44 | } 45 | } 46 | 47 | public static void main(String[] args) throws Exception { 48 | // parse args flags 49 | CommandLineParser parser = new DefaultParser(); 50 | Options options = new Options(); 51 | options.addOption("h", "hostlist", true, "host servers list, e.g. localhost"); 52 | CommandLine cmd = parser.parse(options, args); 53 | 54 | String hostlist = "localhost"; 55 | if (cmd.hasOption("hostlist")) 56 | hostlist = cmd.getOptionValue("hostlist"); 57 | 58 | PartitionInfoInit pinfo = new PartitionInfoInit(hostlist); 59 | pinfo.populate(); 60 | } 61 | } 62 | 63 | -------------------------------------------------------------------------------- /clients/PartitionInfoInit/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC="PartitionInfoInit" 10 | 11 | javac -cp $CP "$SRC.java" 12 | jar cvf "$SRC.jar" "$SRC.class" 13 | 14 | -------------------------------------------------------------------------------- /clients/PartitionInfoInit/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../dependencies/commons-cli-1.4/*" 8 | 9 | java -cp $CP PartitionInfoInit $* 10 | -------------------------------------------------------------------------------- /clients/daemon/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../dependencies/commons-cli-1.4/*" 8 | 9 | SRC=`find client/src -name "*.java"` 10 | 11 | if [ ! -z "$SRC" ]; then 12 | mkdir -p client/obj 13 | javac -cp $CP -d client/obj $SRC 14 | # stop if compilation fails 15 | if [ $? != 0 ]; then exit; fi 16 | 17 | jar cf client/client.jar -C client/obj . 18 | rm -rf client/obj 19 | fi 20 | -------------------------------------------------------------------------------- /clients/daemon/run_client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR} 5 | 6 | CP="$CLASSPATH:/home/gridsan/groups/DBOS/shared/VoltDB/voltdb-ent-9.3.2/voltdb/*" 7 | CP="$CP:$SCRIPT_DIR/../../dependencies/commons-cli-1.4/*" 8 | java -cp "$CP:client/client.jar" org.voltdb.daemon.Daemon $* 9 | 10 | -------------------------------------------------------------------------------- /dependencies/commons-cli-1.4/NOTICE.txt: -------------------------------------------------------------------------------- 1 | Apache Commons CLI 2 | Copyright 2001-2017 The Apache Software Foundation 3 | 4 | This product includes software developed at 5 | The Apache Software Foundation (http://www.apache.org/). 6 | -------------------------------------------------------------------------------- /dependencies/commons-cli-1.4/apidocs/allclasses-noframe.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | All Classes (Apache Commons CLI 1.4 API) 8 | 9 | 10 | 11 | 12 |

All Classes

13 |
14 | 38 |
39 | 40 | 41 | -------------------------------------------------------------------------------- /dependencies/commons-cli-1.4/apidocs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Apache Commons CLI 1.4 API 8 | 61 | 62 | 63 | 64 | 65 | 66 | <noscript> 67 | <div>JavaScript is disabled on your browser.</div> 68 | </noscript> 69 | <h2>Frame Alert</h2> 70 | <p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="org/apache/commons/cli/package-summary.html">Non-frame version</a>.</p> 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /dependencies/commons-cli-1.4/apidocs/package-list: -------------------------------------------------------------------------------- 1 | org.apache.commons.cli 2 | -------------------------------------------------------------------------------- /dependencies/commons-cli-1.4/apidocs/script.js: -------------------------------------------------------------------------------- 1 | function show(type) 2 | { 3 | count = 0; 4 | for (var key in methods) { 5 | var row = document.getElementById(key); 6 | if ((methods[key] & type) != 0) { 7 | row.style.display = ''; 8 | row.className = (count++ % 2) ? rowColor : altColor; 9 | } 10 | else 11 | row.style.display = 'none'; 12 | } 13 | updateTabs(type); 14 | } 15 | 16 | function updateTabs(type) 17 | { 18 | for (var value in tabs) { 19 | var sNode = document.getElementById(tabs[value][0]); 20 | var spanNode = sNode.firstChild; 21 | if (value == type) { 22 | sNode.className = activeTableTab; 23 | spanNode.innerHTML = tabs[value][1]; 24 | } 25 | else { 26 | sNode.className = tableTab; 27 | spanNode.innerHTML = "" + tabs[value][1] + ""; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /lnx_fs_test/.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.swp 3 | stats/ 4 | spawner 5 | read_files_many 6 | read_files 7 | write_files 8 | write_files_many 9 | write_files_once 10 | ls_files 11 | -------------------------------------------------------------------------------- /lnx_fs_test/Makefile: -------------------------------------------------------------------------------- 1 | CC=g++ 2 | CFLAGS=-std=c++11 3 | PFLAGS=-pthread 4 | 5 | all: spawner write_files write_files_many read_files read_files_many write_files_once ls_files 6 | 7 | spawner: client_spawner.o client_spawner.cpp 8 | $(CC) $(CFLAGS) $(PFLAGS) -o spawner client_spawner.cpp 9 | 10 | ls_files: ls_files.o ls_files.cpp 11 | $(CC) $(CFLAGS) -o ls_files ls_files.o 12 | 13 | write_files: write_files.o write_files.cpp 14 | $(CC) $(CFLAGS) -o write_files write_files.o 15 | 16 | write_files_many: write_files_many.o write_files_many.cpp 17 | $(CC) $(CFLAGS) -o write_files_many write_files_many.o 18 | 19 | write_files_once: write_files_once.o write_files_once.cpp 20 | $(CC) $(CFLAGS) -o write_files_once write_files_once.o 21 | 22 | read_files: read_files.o read_files.cpp 23 | $(CC) $(CFLAGS) -o read_files read_files.o 24 | 25 | read_files_heavy: read_files_many.o read_files_many.cpp 26 | $(CC) $(CFLAGS) -o read_files_many read_files_many.o 27 | 28 | .PHONY: clean 29 | clean: 30 | rm *.o 31 | rm write_files write_files_many read_files read_files_many write_files_once ls_files 32 | -------------------------------------------------------------------------------- /lnx_fs_test/aggragate_general.py: -------------------------------------------------------------------------------- 1 | from itertools import product as prod 2 | import sys 3 | 4 | prefix = sys.argv[1] 5 | user_cnt = int(sys.argv[2]) 6 | user_min = int(sys.argv[3]) 7 | user_max = user_min + user_cnt 8 | 9 | print("%s aggregation for users %d to %d" %(prefix, user_min, user_max)) 10 | 11 | data = [] 12 | for user_num in range(user_min, user_max): 13 | file_name = "./stats/"+ prefix+"_"+str(user_num)+".out" 14 | with open(file_name, 'r') as f: 15 | for l in f: 16 | if l.startswith("throughput"): 17 | tokens = l.split() 18 | num = float(tokens[1].replace(',','')) 19 | data.append(num) 20 | 21 | print(data) 22 | print(len(data)) 23 | print(sum(data)/len(data)) 24 | print(sum(data)) 25 | print(4*sum(data)) 26 | 27 | -------------------------------------------------------------------------------- /lnx_fs_test/client_spawner.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | using namespace std; 7 | 8 | /* 9 | * compile with g++ -o -std=c++11 -pthread client_spawner.cpp 10 | * usage: ./spawner [flags] 11 | * 12 | * example: ./spawner create 2 10 arg1 arg2 13 | * executes 2 threads: 14 | * ./benchmark 10 arg1 arg2 (pass thread is as first argument to benchmark) 15 | * ./benchmark 11 arg1 arg2 (pass thread is as first argument to benchmark) 16 | */ 17 | 18 | void start_client(string bench, string args, int user_num) { 19 | string cmd = "./" + bench + " " + to_string(user_num) + " " + args; 20 | system(cmd.c_str()); 21 | } 22 | 23 | int main(int argc, char** argv) { 24 | string bench = argv[1]; 25 | int user_cnt = atoi(argv[2]); 26 | int user_min = atoi(argv[3]); 27 | 28 | string args = ""; 29 | int arg_cnt = 4; 30 | while (arg_cnt < argc) { 31 | args += argv[arg_cnt++]; 32 | args += " "; 33 | } 34 | 35 | vector clients; 36 | for (int i = 0; i < user_cnt; i++) 37 | clients.push_back(thread(start_client, bench, args, user_min + i)); 38 | 39 | for (thread & client : clients) 40 | client.join(); 41 | 42 | return 0; 43 | } 44 | -------------------------------------------------------------------------------- /lnx_fs_test/crdel_test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | time ./spawner create_files.sh 40 0 10000 _cr_1 4 | time ./spawner delete_files.sh 40 0 10000 _dl_1 5 | time ./spawner create_files.sh 40 0 10000 _cr_2 6 | time ./spawner delete_files.sh 40 0 10000 _dl_2 7 | time ./spawner create_files.sh 40 0 10000 _cr_3 8 | time ./spawner delete_files.sh 40 0 10000 _dl_3 9 | time ./spawner create_files.sh 40 0 10000 _cr_4 10 | time ./spawner delete_files.sh 40 0 10000 _dl_4 11 | time ./spawner create_files.sh 40 0 10000 _cr_5 12 | time ./spawner delete_files.sh 40 0 10000 _dl_5 13 | 14 | -------------------------------------------------------------------------------- /lnx_fs_test/create_files.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #set -ex 3 | 4 | # 5 | # usage: 6 | # (skip flags for simplicity) 7 | # ./create_files 8 | # 9 | 10 | dir="dir$1" 11 | n=$[$2-1] 12 | 13 | cd $TARGET 14 | mkdir -p $dir 15 | cd $dir 16 | 17 | for i in $(seq 0 $n); do 18 | touch "file$i" 19 | done 20 | 21 | -------------------------------------------------------------------------------- /lnx_fs_test/delete_files.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #set -ex 3 | 4 | # 5 | # usage: 6 | # (skip flags for simplicity) 7 | # ./create_files 8 | # 9 | 10 | dir="dir$1" 11 | n=$[$2-1] 12 | 13 | cd $TARGET 14 | cd $dir 15 | 16 | for i in $(seq 0 $n); do 17 | rm "file$i" 18 | done 19 | 20 | -------------------------------------------------------------------------------- /lnx_fs_test/ls_files.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | using namespace std; 13 | 14 | /* 15 | * usage: 16 | * ./ls_files [-p] 17 | * 18 | * One can find their user id by running $ id 19 | */ 20 | 21 | void listFilesRecursively(string path); 22 | 23 | int size; 24 | int uid; 25 | bool print = false; 26 | 27 | int main(int argc, char **argv) { 28 | if (argc < 3) { 29 | cout << "Usage: ./ls_file [-p]" << endl; 30 | return -1; 31 | } 32 | 33 | // Return files greater than . 34 | size = atoi(argv[1]); 35 | 36 | // Return files with userid . 37 | uid = atoi(argv[2]); 38 | 39 | // If -p is provided, print output. 40 | if (argc > 3) 41 | print = true; 42 | 43 | // Directory root 44 | string target_dir = getenv("TARGET"); 45 | 46 | // measure total time only 47 | auto start = chrono::high_resolution_clock::now(); 48 | listFilesRecursively(target_dir); 49 | auto stop = chrono::high_resolution_clock::now(); 50 | cout << (stop - start).count() / 1e6 << " msec" << endl; 51 | 52 | return 0; 53 | } 54 | 55 | long GetFileSize(std::string filename) 56 | { 57 | struct stat stat_buf; 58 | int rc = stat(filename.c_str(), &stat_buf); 59 | return rc == 0 ? stat_buf.st_size : -1; 60 | } 61 | 62 | /** 63 | * Lists all files and sub-directories recursively 64 | * considering path as base path. 65 | */ 66 | void listFilesRecursively(string basePath) 67 | { 68 | string path; 69 | struct dirent *dp; 70 | DIR *dir = opendir(basePath.c_str()); 71 | 72 | // Unable to open directory stream 73 | if (!dir) 74 | return; 75 | 76 | while ((dp = readdir(dir)) != NULL) 77 | { 78 | if (strcmp(dp->d_name, ".") != 0 && strcmp(dp->d_name, "..") != 0) 79 | { 80 | string file_path = string(basePath) + '/' + string(dp->d_name); 81 | 82 | // Stat the file to get info. 83 | struct stat info; 84 | stat(file_path.c_str(), &info); 85 | int file_size = info.st_size; 86 | int file_uid = info.st_uid; 87 | if (file_size > size && uid == file_uid && print) { 88 | cout << file_path << " " << file_size << endl; 89 | } 90 | // Construct new path from our base path 91 | path = basePath + "/" + string(dp->d_name); 92 | 93 | listFilesRecursively(path); 94 | } 95 | } 96 | 97 | closedir(dir); 98 | } 99 | -------------------------------------------------------------------------------- /lnx_fs_test/read_files.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | using namespace std; 11 | 12 | /* 13 | * usage: 14 | * ./read_files 15 | */ 16 | 17 | int main (int argc, char **argv) { 18 | if (argc != 8) { 19 | printf("[Error] usage:\n./read_files b\n"); 20 | return -1; 21 | } 22 | 23 | const string dir_id = argv[1]; 24 | const int file_cnt = atoi(argv[2]); 25 | const int block_size = atoi(argv[3]); 26 | const int block_cnt = atoi(argv[4]); 27 | const int total_blocks = atoi(argv[5]); 28 | const int time_sec = atoi(argv[6]); 29 | const string suffix = argv[7]; 30 | long long unsigned txs = 0; 31 | 32 | chrono::duration elapsed; 33 | ofstream stats; 34 | string sfname = "./stats/lnx" + suffix + dir_id + ".out"; 35 | stats.open(sfname.c_str()); 36 | 37 | // create data buffer to write 38 | char *buffer = new char[block_size]; 39 | memset(buffer, '1', block_size); 40 | 41 | // Mount point 42 | const string tmpdir = getenv("TARGET"); 43 | 44 | // measure read/write time only 45 | auto start = chrono::high_resolution_clock::now(); 46 | 47 | // transactions 48 | for (;;) { 49 | // Open a random file. 50 | int file_id = rand() % file_cnt; 51 | shared_ptr file(new fstream); 52 | string fname = tmpdir + "/dir" + dir_id + "/file" + to_string(file_id); 53 | file->open(fname.c_str()); 54 | 55 | for (int i=0; i < block_cnt; i++) { 56 | // Randomly select a block. 57 | int block_id = rand() % total_blocks; 58 | file->seekg(block_id * block_size); 59 | file->read(buffer, block_size); 60 | } 61 | txs++; 62 | 63 | // Close file. 64 | file->close(); 65 | 66 | if (txs % (file_cnt) == 0) { 67 | auto stop = chrono::high_resolution_clock::now(); 68 | elapsed = stop - start; 69 | if (elapsed.count() > time_sec) 70 | break; 71 | } 72 | } 73 | 74 | stats << "transactions: " << txs << endl; 75 | stats << "elapsed time: " << elapsed.count() << endl; 76 | stats << "throughput " << 1.0*txs / (1.0*elapsed.count()) << endl; 77 | stats.close(); 78 | 79 | return 0; 80 | } 81 | -------------------------------------------------------------------------------- /lnx_fs_test/read_files_many.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | using namespace std; 11 | 12 | /* 13 | * usage: 14 | * ./read_files 15 | */ 16 | 17 | int main (int argc, char **argv) { 18 | if (argc != 8) { 19 | printf("[Error] usage:\n./read_files b\n"); 20 | return -1; 21 | } 22 | 23 | const string dir_id = argv[1]; 24 | const int file_cnt = atoi(argv[2]); 25 | const int block_size = atoi(argv[3]); 26 | const int files_per_operation = atoi(argv[4]); 27 | const int total_blocks = atoi(argv[5]); 28 | const int time_sec = atoi(argv[6]); 29 | const string suffix = argv[7]; 30 | long long unsigned txs = 0; 31 | 32 | chrono::duration elapsed; 33 | ofstream stats; 34 | string sfname = "./stats/lnx" + suffix + dir_id + ".out"; 35 | stats.open(sfname.c_str()); 36 | 37 | // create data buffer to write 38 | char *buffer = new char[block_size]; 39 | memset(buffer, '1', block_size); 40 | 41 | // Mount point 42 | const string tmpdir = getenv("TARGET"); 43 | 44 | // measure read/write time only 45 | auto start = chrono::high_resolution_clock::now(); 46 | 47 | // transactions 48 | for (;;) { 49 | for (int i=0; i < files_per_operation; i++) { 50 | // Open a random file. 51 | int file_id = rand() % file_cnt; 52 | shared_ptr file(new fstream); 53 | string fname = tmpdir + "/dir" + dir_id + "/file" + to_string(file_id); 54 | file->open(fname.c_str()); 55 | 56 | // Randomly select a block. 57 | int block_id = rand() % total_blocks; 58 | file->seekg(block_id * block_size); 59 | file->read(buffer, block_size); 60 | 61 | // Close file. 62 | file->close(); 63 | } 64 | txs++; 65 | 66 | if (txs % (file_cnt) == 0) { 67 | auto stop = chrono::high_resolution_clock::now(); 68 | elapsed = stop - start; 69 | if (elapsed.count() > time_sec) 70 | break; 71 | } 72 | } 73 | 74 | stats << "transactions: " << txs << endl; 75 | stats << "elapsed time: " << elapsed.count() << endl; 76 | stats << "throughput " << 1.0*txs / (1.0*elapsed.count()) << endl; 77 | stats.close(); 78 | 79 | return 0; 80 | } 81 | -------------------------------------------------------------------------------- /lnx_fs_test/read_many_test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./spawner create_files.sh 40 0 100 4 | ./spawner write_files_once 40 0 100 262144 5 | ./spawner read_files_many 40 0 100 2048 20 128 10 _read_many_1_ 6 | ./spawner read_files_many 40 0 100 2048 20 128 10 _read_many_2_ 7 | ./spawner read_files_many 40 0 100 2048 20 128 10 _read_many_3_ 8 | ./spawner read_files_many 40 0 100 2048 20 128 10 _read_many_4_ 9 | ./spawner read_files_many 40 0 100 2048 20 128 10 _read_many_5_ 10 | -------------------------------------------------------------------------------- /lnx_fs_test/read_test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./spawner create_files.sh 40 0 100 4 | ./spawner write_files_once 40 0 100 262144 5 | ./spawner read_files 40 0 100 2048 20 128 10 _read_1_ 6 | ./spawner read_files 40 0 100 2048 20 128 10 _read_2_ 7 | ./spawner read_files 40 0 100 2048 20 128 10 _read_3_ 8 | ./spawner read_files 40 0 100 2048 20 128 10 _read_4_ 9 | ./spawner read_files 40 0 100 2048 20 128 10 _read_5_ 10 | -------------------------------------------------------------------------------- /lnx_fs_test/write_files.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | using namespace std; 11 | 12 | /* 13 | * usage: 14 | * ./write_files 15 | */ 16 | 17 | int main (int argc, char **argv) { 18 | if (argc != 8) { 19 | printf("[Error] usage:\n./write_files b\n"); 20 | return -1; 21 | } 22 | 23 | const string dir_id = argv[1]; 24 | const int file_cnt = atoi(argv[2]); 25 | const int block_size = atoi(argv[3]); 26 | const int block_cnt = atoi(argv[4]); 27 | const int total_blocks = atoi(argv[5]); 28 | const int time_sec = atoi(argv[6]); 29 | const string suffix = argv[7]; 30 | long long unsigned txs = 0; 31 | 32 | chrono::duration elapsed; 33 | ofstream stats; 34 | string sfname = "./stats/lnx" + suffix + dir_id + ".out"; 35 | stats.open(sfname.c_str()); 36 | 37 | // create data buffer to write 38 | char *buffer = new char[block_size]; 39 | memset(buffer, '1', block_size); 40 | 41 | // Mount point 42 | const string tmpdir = getenv("TARGET"); 43 | 44 | // measure read/write time only 45 | auto start = chrono::high_resolution_clock::now(); 46 | 47 | // transactions 48 | for (;;) { 49 | // Open a random file. 50 | int file_id = rand() % file_cnt; 51 | shared_ptr file(new fstream); 52 | string fname = tmpdir + "/dir" + dir_id + "/file" + to_string(file_id); 53 | file->open(fname.c_str()); 54 | 55 | for (int i=0; i < block_cnt; i++) { 56 | // Modify what we write. 57 | int change_index = rand() % block_size; 58 | buffer[change_index]++; 59 | 60 | // Randomly select a block. 61 | int block_id = rand() % total_blocks; 62 | file->seekp(block_id * block_size); 63 | file->write(buffer, block_size); 64 | } 65 | txs++; 66 | 67 | // Close file. 68 | file->close(); 69 | 70 | if (txs % (file_cnt) == 0) { 71 | auto stop = chrono::high_resolution_clock::now(); 72 | elapsed = stop - start; 73 | if (elapsed.count() > time_sec) 74 | break; 75 | } 76 | } 77 | 78 | stats << "transactions: " << txs << endl; 79 | stats << "elapsed time: " << elapsed.count() << endl; 80 | stats << "throughput " << 1.0*txs / (1.0*elapsed.count()) << endl; 81 | stats.close(); 82 | 83 | return 0; 84 | } 85 | -------------------------------------------------------------------------------- /lnx_fs_test/write_files_many.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | using namespace std; 11 | 12 | /* 13 | * usage: 14 | * ./read_files 15 | */ 16 | 17 | int main (int argc, char **argv) { 18 | if (argc != 8) { 19 | printf("[Error] usage:\n./read_files b\n"); 20 | return -1; 21 | } 22 | 23 | const string dir_id = argv[1]; 24 | const int file_cnt = atoi(argv[2]); 25 | const int block_size = atoi(argv[3]); 26 | const int files_per_operation = atoi(argv[4]); 27 | const int total_blocks = atoi(argv[5]); 28 | const int time_sec = atoi(argv[6]); 29 | const string suffix = argv[7]; 30 | long long unsigned txs = 0; 31 | 32 | chrono::duration elapsed; 33 | ofstream stats; 34 | string sfname = "./stats/lnx" + suffix + dir_id + ".out"; 35 | stats.open(sfname.c_str()); 36 | 37 | // create data buffer to write 38 | char *buffer = new char[block_size]; 39 | memset(buffer, '1', block_size); 40 | 41 | // Mount point 42 | const string tmpdir = getenv("TARGET"); 43 | 44 | // measure read/write time only 45 | auto start = chrono::high_resolution_clock::now(); 46 | 47 | // transactions 48 | for (;;) { 49 | for (int i=0; i < files_per_operation; i++) { 50 | // Open a random file. 51 | int file_id = rand() % file_cnt; 52 | shared_ptr file(new fstream); 53 | string fname = tmpdir + "/dir" + dir_id + "/file" + to_string(file_id); 54 | file->open(fname.c_str()); 55 | 56 | // Modify what we write. 57 | int change_index = rand() % block_size; 58 | buffer[change_index]++; 59 | 60 | // Randomly select a block. 61 | int block_id = rand() % total_blocks; 62 | file->seekg(block_id * block_size); 63 | file->write(buffer, block_size); 64 | 65 | // Close file. 66 | file->close(); 67 | } 68 | txs++; 69 | 70 | if (txs % (file_cnt) == 0) { 71 | auto stop = chrono::high_resolution_clock::now(); 72 | elapsed = stop - start; 73 | if (elapsed.count() > time_sec) 74 | break; 75 | } 76 | } 77 | 78 | stats << "transactions: " << txs << endl; 79 | stats << "elapsed time: " << elapsed.count() << endl; 80 | stats << "throughput " << 1.0*txs / (1.0*elapsed.count()) << endl; 81 | stats.close(); 82 | 83 | return 0; 84 | } 85 | -------------------------------------------------------------------------------- /lnx_fs_test/write_files_once.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | using namespace std; 10 | 11 | /* 12 | * usage: 13 | * ./write_files_once 14 | */ 15 | 16 | int main (int argc, char **argv) { 17 | if (argc != 4) { 18 | printf("[Error] usage:\n./write_files \n"); 19 | return -1; 20 | } 21 | 22 | const string dir_id = argv[1]; 23 | const int file_cnt = atoi(argv[2]); 24 | const int byte_cnt = atoi(argv[3]); 25 | long long unsigned txs = 0; 26 | 27 | // create data buffer to write 28 | char *buffer = new char[byte_cnt]; 29 | memset(buffer, '1', byte_cnt); 30 | 31 | // ext4 mount point 32 | const string tmpdir = getenv("TARGET"); 33 | 34 | // Write all files once. 35 | vector> files; 36 | for (int i=0; i file(new ofstream); 38 | string fname = tmpdir + "/dir" + dir_id + "/file" + to_string(i); 39 | file->open(fname.c_str()); 40 | file->seekp(0); 41 | file->write(buffer, byte_cnt); 42 | file->close(); 43 | } 44 | 45 | return 0; 46 | } 47 | -------------------------------------------------------------------------------- /lnx_fs_test/write_many_test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./spawner create_files.sh 40 0 100 4 | ./spawner write_files_once 40 0 100 262144 5 | ./spawner write_files_many 40 0 100 2048 20 128 10 _write_many_1_ 6 | ./spawner write_files_many 40 0 100 2048 20 128 10 _write_many_2_ 7 | ./spawner write_files_many 40 0 100 2048 20 128 10 _write_many_3_ 8 | ./spawner write_files_many 40 0 100 2048 20 128 10 _write_many_4_ 9 | ./spawner write_files_many 40 0 100 2048 20 128 10 _write_many_5_ 10 | -------------------------------------------------------------------------------- /lnx_fs_test/write_test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./spawner create_files.sh 40 0 100 4 | ./spawner write_files_once 40 0 100 262144 5 | ./spawner write_files 40 0 100 2048 20 128 10 _write_1_ 6 | ./spawner write_files 40 0 100 2048 20 128 10 _write_2_ 7 | ./spawner write_files 40 0 100 2048 20 128 10 _write_3_ 8 | ./spawner write_files 40 0 100 2048 20 128 10 _write_4_ 9 | ./spawner write_files 40 0 100 2048 20 128 10 _write_5_ 10 | -------------------------------------------------------------------------------- /scripts/benchmarks_latency/benchmark_create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_create.sh [flags] 7 | # flags: -h hostname -u username -t filecnt 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/latency_sync 14 | benchmarks="create_bench" 15 | 16 | # create files and populate them with 1MB data 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_latency/benchmark_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_read.sh [flags] 7 | # flags: -h hostname -u username -f filecnt -t transactions 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/latency_sync 14 | benchmarks="read_bench" 15 | 16 | # read files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_latency/benchmark_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_write.sh [flags] 7 | # flags: -h hostname -u username -f filecnt -t transactions -s filesize 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/latency_sync 14 | benchmarks="write_bench" 15 | 16 | # write files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_latency/tester_cr.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | txs=500000 5 | 6 | time ./benchmark_create.sh _$1_1 -h d-7-10-1,d-7-10-2 -u u1 -t $txs 7 | time ./benchmark_create.sh _$1_2 -h d-7-10-1,d-7-10-2 -u u2 -t $txs 8 | time ./benchmark_create.sh _$1_3 -h d-7-10-1,d-7-10-2 -u u3 -t $txs 9 | time ./benchmark_create.sh _$1_4 -h d-7-10-1,d-7-10-2 -u u4 -t $txs 10 | time ./benchmark_create.sh _$1_5 -h d-7-10-1,d-7-10-2 -u u5 -t $txs 11 | 12 | -------------------------------------------------------------------------------- /scripts/benchmarks_latency/tester_rd_1K.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | txs=500000 5 | 6 | time ./benchmark_read.sh _1_$1_1 -h d-7-10-1,d-7-10-2 -f 40 -t $txs 7 | time ./benchmark_read.sh _1_$1_2 -h d-7-10-1,d-7-10-2 -f 40 -t $txs 8 | time ./benchmark_read.sh _1_$1_3 -h d-7-10-1,d-7-10-2 -f 40 -t $txs 9 | time ./benchmark_read.sh _1_$1_4 -h d-7-10-1,d-7-10-2 -f 40 -t $txs 10 | time ./benchmark_read.sh _1_$1_5 -h d-7-10-1,d-7-10-2 -f 40 -t $txs 11 | 12 | -------------------------------------------------------------------------------- /scripts/benchmarks_latency/tester_wr_64K.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | txs=250000 5 | 6 | time ./benchmark_write.sh _64_$1_1 -h d-7-10-1,d-7-10-2 -f 40 -s 65536 -t $txs 7 | time ./benchmark_write.sh _64_$1_2 -h d-7-10-1,d-7-10-2 -f 40 -s 65536 -t $txs 8 | time ./benchmark_write.sh _64_$1_3 -h d-7-10-1,d-7-10-2 -f 40 -s 65536 -t $txs 9 | time ./benchmark_write.sh _64_$1_4 -h d-7-10-1,d-7-10-2 -f 40 -s 65536 -t $txs 10 | time ./benchmark_write.sh _64_$1_5 -h d-7-10-1,d-7-10-2 -f 40 -s 65536 -t $txs 11 | 12 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_randblk/benchmark_create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_create.sh [flags] 7 | # flags: -h hostname -f filecnt -b blockcnt -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/lfile_sync_rand_1fnb 14 | benchmarks="create_bench" 15 | 16 | for bench in $benchmarks; 17 | do 18 | cd $bench 19 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 20 | cd .. 21 | done 22 | 23 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_randblk/benchmark_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_read.sh [flags] 7 | # flags: -h hostname -t exec_time -f filecnt -b blockcnt -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/lfile_sync_rand_1fnb 14 | benchmarks="read_bench" 15 | 16 | # read files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_randblk/benchmark_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_write.sh [flags] 7 | # flags: -h hostname -t exec_time -f filecnt -b blockcnt -s filesize -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/lfile_sync_rand_1fnb 14 | benchmarks="write_bench" 15 | 16 | # write files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_randblk/benchmark_write_init.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_write.sh [flags] 7 | # flags: -h hostname -t exec_time -f filecnt -b blockcnt -s filesize -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/lfile_sync 14 | benchmarks="write_bench" 15 | 16 | # write files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_randblk/spawner: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DBOS-project/fs/df3ef3a222285ec10145f98b9ab4d3a697ca8194/scripts/benchmarks_lfile_randblk/spawner -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_randblk/tester_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | time ./spawner ./benchmark_read.sh _warmup 40 $1 -h localhost -f 100 -b 128 -r 20 -t 3 5 | time ./spawner ./benchmark_read.sh _1f5b_1 40 $1 -h localhost -f 100 -b 128 -r 20 -t 10 6 | time ./spawner ./benchmark_read.sh _1f5b_2 40 $1 -h localhost -f 100 -b 128 -r 20 -t 10 7 | time ./spawner ./benchmark_read.sh _1f5b_3 40 $1 -h localhost -f 100 -b 128 -r 20 -t 10 8 | time ./spawner ./benchmark_read.sh _1f5b_4 40 $1 -h localhost -f 100 -b 128 -r 20 -t 10 9 | time ./spawner ./benchmark_read.sh _1f5b_5 40 $1 -h localhost -f 100 -b 128 -r 20 -t 10 10 | 11 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_randblk/tester_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | time ./spawner ./benchmark_write.sh _warmup 40 $1 -h localhost -f 100 -b 128 -s 2048 -r 20 -t 3 4 | time ./spawner ./benchmark_write.sh _1f5b_1 40 $1 -h localhost -f 100 -b 128 -s 2048 -r 20 -t 10 5 | time ./spawner ./benchmark_write.sh _1f5b_2 40 $1 -h localhost -f 100 -b 128 -s 2048 -r 20 -t 10 6 | time ./spawner ./benchmark_write.sh _1f5b_3 40 $1 -h localhost -f 100 -b 128 -s 2048 -r 20 -t 10 7 | time ./spawner ./benchmark_write.sh _1f5b_4 40 $1 -h localhost -f 100 -b 128 -s 2048 -r 20 -t 10 8 | time ./spawner ./benchmark_write.sh _1f5b_5 40 $1 -h localhost -f 100 -b 128 -s 2048 -r 20 -t 10 9 | 10 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_randfl/benchmark_create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_create.sh [flags] 7 | # flags: -h hostname -f filecnt -b blockcnt -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/lfile_sync_rand_nf1b 14 | benchmarks="create_bench" 15 | 16 | for bench in $benchmarks; 17 | do 18 | cd $bench 19 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 20 | cd .. 21 | done 22 | 23 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_randfl/benchmark_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_read.sh [flags] 7 | # flags: -h hostname -t exec_time -f filecnt -b blockcnt -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/lfile_sync_rand_nf1b 14 | benchmarks="read_bench" 15 | 16 | # read files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_randfl/benchmark_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_write.sh [flags] 7 | # flags: -h hostname -t exec_time -f filecnt -b blockcnt -s filesize -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/lfile_sync_rand_nf1b 14 | benchmarks="write_bench" 15 | 16 | # write files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_randfl/benchmark_write_init.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_write.sh [flags] 7 | # flags: -h hostname -t exec_time -f filecnt -b blockcnt -s filesize -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/lfile_sync 14 | benchmarks="write_bench" 15 | 16 | # write files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_randfl/spawner: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DBOS-project/fs/df3ef3a222285ec10145f98b9ab4d3a697ca8194/scripts/benchmarks_lfile_randfl/spawner -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_randfl/tester_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | time ./spawner ./benchmark_read.sh _warmup 40 $1 -h localhost -f 100 -b 128 -r 20 -t 3 5 | time ./spawner ./benchmark_read.sh _20f1b_1 40 $1 -h localhost -f 100 -b 128 -r 20 -t 10 6 | time ./spawner ./benchmark_read.sh _20f1b_2 40 $1 -h localhost -f 100 -b 128 -r 20 -t 10 7 | time ./spawner ./benchmark_read.sh _20f1b_3 40 $1 -h localhost -f 100 -b 128 -r 20 -t 10 8 | time ./spawner ./benchmark_read.sh _20f1b_4 40 $1 -h localhost -f 100 -b 128 -r 20 -t 10 9 | time ./spawner ./benchmark_read.sh _20f1b_5 40 $1 -h localhost -f 100 -b 128 -r 20 -t 10 10 | 11 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_randfl/tester_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | time ./spawner ./benchmark_write.sh _warmup 40 $1 -h localhost -f 100 -b 128 -r 20 -s 2048 -t 3 4 | time ./spawner ./benchmark_write.sh _20f1b_1 40 $1 -h localhost -f 100 -b 128 -r 20 -s 2048 -t 10 5 | time ./spawner ./benchmark_write.sh _20f1b_2 40 $1 -h localhost -f 100 -b 128 -r 20 -s 2048 -t 10 6 | time ./spawner ./benchmark_write.sh _20f1b_3 40 $1 -h localhost -f 100 -b 128 -r 20 -s 2048 -t 10 7 | time ./spawner ./benchmark_write.sh _20f1b_4 40 $1 -h localhost -f 100 -b 128 -r 20 -s 2048 -t 10 8 | time ./spawner ./benchmark_write.sh _20f1b_5 40 $1 -h localhost -f 100 -b 128 -r 20 -s 2048 -t 10 9 | 10 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_sync/benchmark_create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_create.sh [flags] 7 | # flags: -h hostname -f filecnt -b blockcnt -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/lfile_sync 14 | benchmarks="create_bench" 15 | 16 | for bench in $benchmarks; 17 | do 18 | cd $bench 19 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 20 | cd .. 21 | done 22 | 23 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_sync/benchmark_create_max.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_create_max.sh [flags] 7 | # flags: -h hostname -t running_time -b blockcnt -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/lfile_sync 14 | benchmarks="create_bench_max" 15 | 16 | for bench in $benchmarks; 17 | do 18 | cd $bench 19 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 20 | cd .. 21 | done 22 | 23 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_sync/benchmark_delete.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_delete.sh [flags] 7 | # flags: -h hostname -f filecnt -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/lfile_sync 14 | benchmarks="delete_bench" 15 | 16 | for bench in $benchmarks; 17 | do 18 | cd $bench 19 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 20 | cd .. 21 | done 22 | 23 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_sync/benchmark_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_read.sh [flags] 7 | # flags: -h hostname -t transactions -f filecnt -b blockcnt -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/lfile_sync 14 | benchmarks="read_bench" 15 | 16 | # read files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_sync/benchmark_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_write.sh [flags] 7 | # flags: -h hostname -t transactions -f filecnt -b blockcnt -s filesize -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/lfile_sync 14 | benchmarks="write_bench" 15 | 16 | # write files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_sync/spawner: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DBOS-project/fs/df3ef3a222285ec10145f98b9ab4d3a697ca8194/scripts/benchmarks_lfile_sync/spawner -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_sync/tester_421_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | time ./spawner ./benchmark_read.sh _warmup 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 10 -b 10 -t 10 5 | time ./spawner ./benchmark_read.sh _421_1 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 10 -b 10 -t 100 6 | time ./spawner ./benchmark_read.sh _421_2 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 10 -b 10 -t 100 7 | time ./spawner ./benchmark_read.sh _421_3 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 10 -b 10 -t 100 8 | time ./spawner ./benchmark_read.sh _421_4 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 10 -b 10 -t 100 9 | time ./spawner ./benchmark_read.sh _421_5 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 10 -b 10 -t 100 10 | 11 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_sync/tester_421_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | ./spawner benchmark_create.sh _cr 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 10 -b 10 4 | time ./spawner ./benchmark_write.sh _warmup 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 10 -b 10 -s 16384 -t 10 5 | time ./spawner ./benchmark_write.sh _421_1 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 10 -b 10 -s 16384 -t 100 6 | time ./spawner ./benchmark_write.sh _421_2 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 10 -b 10 -s 16384 -t 100 7 | time ./spawner ./benchmark_write.sh _421_3 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 10 -b 10 -s 16384 -t 100 8 | time ./spawner ./benchmark_write.sh _421_4 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 10 -b 10 -s 16384 -t 100 9 | time ./spawner ./benchmark_write.sh _421_5 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 10 -b 10 -s 16384 -t 100 10 | 11 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_sync/tester_422_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | time ./spawner ./benchmark_read.sh _warmup 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 4000 -b 10 -t 10 5 | time ./spawner ./benchmark_read.sh _422_1 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 4000 -b 10 -t 100 6 | time ./spawner ./benchmark_read.sh _422_2 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 4000 -b 10 -t 100 7 | time ./spawner ./benchmark_read.sh _422_3 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 4000 -b 10 -t 100 8 | time ./spawner ./benchmark_read.sh _422_4 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 4000 -b 10 -t 100 9 | time ./spawner ./benchmark_read.sh _422_5 40 $1 -h d-12-15-2,d-9-3-2,d-12-8-2,d-9-4-2 -f 4000 -b 10 -t 100 10 | 11 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_sync/tester_422_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | time ./spawner ./benchmark_write.sh _warmup 40 $1 -h localhost -f 4000 -b 10 -s 65536 -t 10 5 | time ./spawner ./benchmark_write.sh _422_1 40 $1 -h localhost -f 4000 -b 10 -s 65536 -t 100 6 | time ./spawner ./benchmark_write.sh _422_2 40 $1 -h localhost -f 4000 -b 10 -s 65536 -t 100 7 | time ./spawner ./benchmark_write.sh _422_3 40 $1 -h localhost -f 4000 -b 10 -s 65536 -t 100 8 | time ./spawner ./benchmark_write.sh _422_4 40 $1 -h localhost -f 4000 -b 10 -s 65536 -t 100 9 | time ./spawner ./benchmark_write.sh _422_5 40 $1 -h localhost -f 4000 -b 10 -s 65536 -t 100 10 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_sync/tester_cr_del.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | time ./spawner benchmark_create.sh _crt_1 40 0 -h localhost -f $1 -b 1 5 | time ./spawner benchmark_delete.sh _del_1 40 0 -h localhost -f $1 6 | time ./spawner benchmark_create.sh _crt_2 40 0 -h localhost -f $1 -b 1 7 | time ./spawner benchmark_delete.sh _del_2 40 0 -h localhost -f $1 8 | time ./spawner benchmark_create.sh _crt_3 40 0 -h localhost -f $1 -b 1 9 | time ./spawner benchmark_delete.sh _del_3 40 0 -h localhost -f $1 10 | time ./spawner benchmark_create.sh _crt_4 40 0 -h localhost -f $1 -b 1 11 | time ./spawner benchmark_delete.sh _del_4 40 0 -h localhost -f $1 12 | time ./spawner benchmark_create.sh _crt_5 40 0 -h localhost -f $1 -b 1 13 | time ./spawner benchmark_delete.sh _del_5 40 0 -h localhost -f $1 14 | 15 | -------------------------------------------------------------------------------- /scripts/benchmarks_lfile_sync/tester_cr_del_single.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | time ./benchmark_create.sh _ppr_1 -h localhost -u user1 -f $1 -b 1 5 | time ./benchmark_delete.sh _ppr_1 -h localhost -u user1 -f $1 6 | time ./benchmark_create.sh _ppr_2 -h localhost -u user1 -f $1 -b 1 7 | time ./benchmark_delete.sh _ppr_2 -h localhost -u user1 -f $1 8 | time ./benchmark_create.sh _ppr_3 -h localhost -u user1 -f $1 -b 1 9 | time ./benchmark_delete.sh _ppr_3 -h localhost -u user1 -f $1 10 | time ./benchmark_create.sh _ppr_4 -h localhost -u user1 -f $1 -b 1 11 | time ./benchmark_delete.sh _ppr_4 -h localhost -u user1 -f $1 12 | time ./benchmark_create.sh _ppr_5 -h localhost -u user1 -f $1 -b 1 13 | time ./benchmark_delete.sh _ppr_5 -h localhost -u user1 -f $1 14 | 15 | -------------------------------------------------------------------------------- /scripts/benchmarks_load/multi_benchmark_create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./multi_benchmark_create.sh [flags] 7 | # flags: -h hostname, -u username -t filecnt 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/load_async 14 | benchmarks="create_bench" 15 | 16 | # create files and populate them with 1MB data 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/load_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_load/multi_benchmark_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./multi_benchmark_read.sh [flags] 7 | # flags: -h hostname, -u username -f filecnt, -m filemin -t transactions -p partcnt 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/load_async 14 | benchmarks="read_bench" 15 | 16 | # read files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/load_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_load/multi_benchmark_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./multi_benchmark_write.sh [flags] 7 | # flags: -h hostname, -u username -f filecnt, -m filemin -t transactions, -p partcnt -s filesize 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/load_async 14 | benchmarks="write_bench" 15 | 16 | # write files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/load_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_load/spawner: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DBOS-project/fs/df3ef3a222285ec10145f98b9ab4d3a697ca8194/scripts/benchmarks_load/spawner -------------------------------------------------------------------------------- /scripts/benchmarks_multi_async/multi_benchmark_create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./multi_benchmark_create.sh [flags] 7 | # flags: -h hostname, -u username -t filecnt 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/multi_user_async 14 | benchmarks="create_bench" 15 | 16 | # create files and populate them with 1MB data 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/multi_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_multi_async/multi_benchmark_delete.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./multi_benchmark_delete.sh [flags] 7 | # flags: -h hostname 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/multi_user_async 14 | benchmarks="delete_bench" 15 | 16 | # create files and populate them with 1MB data 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/multi_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_multi_async/multi_benchmark_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./multi_benchmark_read.sh [flags] 7 | # flags: -h hostname, -u username -f filecnt, -m filemin -t transactions -p partcnt 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/multi_user_async 14 | benchmarks="read_bench" 15 | 16 | # read files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/multi_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_multi_async/multi_benchmark_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./multi_benchmark_write.sh [flags] 7 | # flags: -h hostname, -u username -f filecnt, -m filemin -t transactions, -p partcnt -s filesize 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/multi_user_async 14 | benchmarks="write_bench" 15 | 16 | # write files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/multi_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_multi_async/spawner: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DBOS-project/fs/df3ef3a222285ec10145f98b9ab4d3a697ca8194/scripts/benchmarks_multi_async/spawner -------------------------------------------------------------------------------- /scripts/benchmarks_multi_sync/multi_benchmark_create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./multi_benchmark_create.sh [flags] 7 | # flags: -h hostname, -t filecnt 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/multi_user_sync 14 | benchmarks="create_bench" 15 | 16 | # create files and populate them with 1MB data 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/multi_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_multi_sync/multi_benchmark_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./multi_benchmark_read.sh [flags] 7 | # flags: -h hostname, -f filecnt, -t transactions 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/multi_user_sync 14 | benchmarks="read_bench" 15 | 16 | # read files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/multi_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_multi_sync/multi_benchmark_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./multi_benchmark_write.sh [flags] 7 | # flags: -h hostname, -f filecnt, -t transactions, -s filesize 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/multi_user_sync 14 | benchmarks="write_bench" 15 | 16 | # write files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/multi_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_pfile_async/benchmark_create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_create.sh [flags] 7 | # flags: -h hostname -f filecnt -b blockcnt -p firstpartition -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/pfile_async 14 | benchmarks="create_bench" 15 | 16 | for bench in $benchmarks; 17 | do 18 | cd $bench 19 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 20 | cd .. 21 | done 22 | 23 | -------------------------------------------------------------------------------- /scripts/benchmarks_pfile_async/benchmark_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_read.sh [flags] 7 | # flags: -h hostname -t transactions -f filecnt -b blockcnt -p firstpartition -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/pfile_async 14 | benchmarks="read_bench" 15 | 16 | for bench in $benchmarks; 17 | do 18 | cd $bench 19 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 20 | cd .. 21 | done 22 | 23 | -------------------------------------------------------------------------------- /scripts/benchmarks_pfile_async/benchmark_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_write.sh [flags] 7 | # flags: -h hostname -t transactions -f filecnt -b blockcnt -p firstpartition -s filesize -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/pfile_async 14 | benchmarks="write_bench" 15 | 16 | for bench in $benchmarks; 17 | do 18 | cd $bench 19 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 20 | cd .. 21 | done 22 | 23 | -------------------------------------------------------------------------------- /scripts/benchmarks_pfile_async/spawner: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DBOS-project/fs/df3ef3a222285ec10145f98b9ab4d3a697ca8194/scripts/benchmarks_pfile_async/spawner -------------------------------------------------------------------------------- /scripts/benchmarks_pfile_async/tester_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | hostlist="d-9-1-1,d-9-2-1,d-9-2-2,d-9-3-2,d-9-4-1,d-12-16-1,d-12-8-2,d-12-15-2" 5 | 6 | time ./spawner benchmark_read.sh _warmup $2 $1 -h $hostlist -f 1 -b 4000 -t 3 7 | time ./spawner benchmark_read.sh _$3_1 $2 $1 -h $hostlist -f 1 -b 4000 -t 15 8 | time ./spawner benchmark_read.sh _$3_2 $2 $1 -h $hostlist -f 1 -b 4000 -t 15 9 | time ./spawner benchmark_read.sh _$3_3 $2 $1 -h $hostlist -f 1 -b 4000 -t 15 10 | time ./spawner benchmark_read.sh _$3_4 $2 $1 -h $hostlist -f 1 -b 4000 -t 15 11 | time ./spawner benchmark_read.sh _$3_5 $2 $1 -h $hostlist -f 1 -b 4000 -t 15 12 | 13 | -------------------------------------------------------------------------------- /scripts/benchmarks_pfile_async/tester_read_lcl.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | time ./spawner benchmark_read.sh _n$1_1 40 $2 -h localhost -f 4 -b 8192 -t 15 5 | time ./spawner benchmark_read.sh _n$1_2 40 $2 -h localhost -f 4 -b 8192 -t 15 6 | time ./spawner benchmark_read.sh _n$1_3 40 $2 -h localhost -f 4 -b 8192 -t 15 7 | time ./spawner benchmark_read.sh _n$1_4 40 $2 -h localhost -f 4 -b 8192 -t 15 8 | time ./spawner benchmark_read.sh _n$1_5 40 $2 -h localhost -f 4 -b 8192 -t 15 9 | -------------------------------------------------------------------------------- /scripts/benchmarks_pfile_async/tester_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | hostlist="d-9-1-1,d-9-2-1,d-9-2-2,d-9-3-2,d-9-4-1,d-12-16-1,d-12-8-2,d-12-15-2" 5 | 6 | ./spawner benchmark_create.sh _cr $2 $1 -h $hostlist -f 1 -b 4000 7 | time ./spawner benchmark_write.sh _warmup $2 $1 -h $hostlist -f 1 -b 4000 -s 8192 -t 3 8 | time ./spawner benchmark_write.sh _$3_1 $2 $1 -h $hostlist -f 1 -b 4000 -s 8192 -t 15 9 | time ./spawner benchmark_write.sh _$3_2 $2 $1 -h $hostlist -f 1 -b 4000 -s 8192 -t 15 10 | time ./spawner benchmark_write.sh _$3_3 $2 $1 -h $hostlist -f 1 -b 4000 -s 8192 -t 15 11 | time ./spawner benchmark_write.sh _$3_4 $2 $1 -h $hostlist -f 1 -b 4000 -s 8192 -t 15 12 | time ./spawner benchmark_write.sh _$3_5 $2 $1 -h $hostlist -f 1 -b 4000 -s 8192 -t 15 13 | 14 | -------------------------------------------------------------------------------- /scripts/benchmarks_pfile_async/tester_write_lcl.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | ./spawner benchmark_create.sh _cr 40 $2 -h localhost -f 4 -b 8192 5 | time ./spawner benchmark_write.sh _n$1_1 40 $2 -h localhost -f 4 -b 8192 -t 25 -s 16384 6 | time ./spawner benchmark_write.sh _n$1_2 40 $2 -h localhost -f 4 -b 8192 -t 25 -s 16384 7 | time ./spawner benchmark_write.sh _n$1_3 40 $2 -h localhost -f 4 -b 8192 -t 25 -s 16384 8 | time ./spawner benchmark_write.sh _n$1_4 40 $2 -h localhost -f 4 -b 8192 -t 25 -s 16384 9 | time ./spawner benchmark_write.sh _n$1_5 40 $2 -h localhost -f 4 -b 8192 -t 25 -s 16384 10 | -------------------------------------------------------------------------------- /scripts/benchmarks_pfile_muser/benchmark_create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_create.sh [flags] 7 | # flags: -h hostname -f filecnt -b blockcnt -p firstpartition -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/pfile_async_multiuser 14 | benchmarks="create_bench" 15 | 16 | for bench in $benchmarks; 17 | do 18 | cd $bench 19 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 20 | cd .. 21 | done 22 | 23 | -------------------------------------------------------------------------------- /scripts/benchmarks_pfile_muser/benchmark_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_read.sh [flags] 7 | # flags: -h hostname -t exec_time -f filecnt -b blockcnt -u usermin -m usermax 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/pfile_async_multiuser 14 | benchmarks="read_bench" 15 | 16 | for bench in $benchmarks; 17 | do 18 | cd $bench 19 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 20 | cd .. 21 | done 22 | 23 | -------------------------------------------------------------------------------- /scripts/benchmarks_pfile_muser/benchmark_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_write.sh [flags] 7 | # flags: -h hostname -t exec_time -f filecnt -b blockcnt -s filesize -u usermin -m usermax 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/pfile_async_multiuser 14 | benchmarks="write_bench" 15 | 16 | for bench in $benchmarks; 17 | do 18 | cd $bench 19 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 20 | cd .. 21 | done 22 | 23 | -------------------------------------------------------------------------------- /scripts/benchmarks_pfile_muser/range_spawner: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DBOS-project/fs/df3ef3a222285ec10145f98b9ab4d3a697ca8194/scripts/benchmarks_pfile_muser/range_spawner -------------------------------------------------------------------------------- /scripts/benchmarks_pfile_muser/tester_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # usage: ./tester.sh 5 | hostlist="d-9-1-1,d-9-2-1,d-9-2-2,d-9-3-2,d-9-4-1,d-12-16-1,d-12-8-2,d-14-2-2" 6 | 7 | time ./range_spawner benchmark_read.sh _$3_1 $1 $2 -h $hostlist -f 32 -b 16384 -t 15 8 | time ./range_spawner benchmark_read.sh _$3_2 $1 $2 -h $hostlist -f 32 -b 16384 -t 15 9 | time ./range_spawner benchmark_read.sh _$3_3 $1 $2 -h $hostlist -f 32 -b 16384 -t 15 10 | time ./range_spawner benchmark_read.sh _$3_4 $1 $2 -h $hostlist -f 32 -b 16384 -t 15 11 | time ./range_spawner benchmark_read.sh _$3_5 $1 $2 -h $hostlist -f 32 -b 16384 -t 15 12 | -------------------------------------------------------------------------------- /scripts/benchmarks_pfile_muser/tester_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # usage: ./tester.sh 5 | hostlist="d-9-1-1,d-9-2-1,d-9-2-2,d-9-3-2,d-9-4-1,d-12-16-1,d-12-8-2,d-14-2-2" 6 | 7 | ./range_spawner benchmark_create.sh _cr $1 $2 -h $hostlist -f 32 -b 16384 8 | time ./range_spawner benchmark_write.sh _$3_1 $1 $2 -h $hostlist -f 32 -b 16384 -s 8192 -t 15 9 | time ./range_spawner benchmark_write.sh _$3_2 $1 $2 -h $hostlist -f 32 -b 16384 -s 8192 -t 15 10 | time ./range_spawner benchmark_write.sh _$3_3 $1 $2 -h $hostlist -f 32 -b 16384 -s 8192 -t 15 11 | time ./range_spawner benchmark_write.sh _$3_4 $1 $2 -h $hostlist -f 32 -b 16384 -s 8192 -t 15 12 | time ./range_spawner benchmark_write.sh _$3_5 $1 $2 -h $hostlist -f 32 -b 16384 -s 8192 -t 15 13 | 14 | -------------------------------------------------------------------------------- /scripts/benchmarks_single_async/benchmark_create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_create.sh [flags] 7 | # flags: -h hostname, -t filecnt, -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/single_user_async 14 | benchmarks="create_bench" 15 | 16 | # create files and populate them with 1MB data 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/single_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_single_async/benchmark_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_read.sh [flags] 7 | # flags: -h hostname, -t transactions -f filecnt, -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/single_user_async 14 | benchmarks="read_bench" 15 | 16 | # read files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/single_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_single_async/benchmark_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_write.sh [flags] 7 | # flags: -h hostname, -t transactions, -f filecnt, -s filesize, -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/single_user_async 14 | benchmarks="write_bench" 15 | 16 | # write files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/single_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_single_sync/benchmark_create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_create.sh [flags] 7 | # flags: -h hostname, -t filecnt, -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/single_user_sync 14 | benchmarks="create_bench" 15 | 16 | # create files and populate them with 1MB data 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/single_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_single_sync/benchmark_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_read.sh [flags] 7 | # flags: -h hostname, -t transactions -f filecnt, -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/single_user_sync 14 | benchmarks="read_bench" 15 | 16 | # read files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/single_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_single_sync/benchmark_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_write.sh [flags] 7 | # flags: -h hostname, -t transactions, -f filecnt, -s filesize, -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/single_user_sync 14 | benchmarks="write_bench" 15 | 16 | # write files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/single_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_single_sync/spawner: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DBOS-project/fs/df3ef3a222285ec10145f98b9ab4d3a697ca8194/scripts/benchmarks_single_sync/spawner -------------------------------------------------------------------------------- /scripts/benchmarks_single_sync/spawner_single: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DBOS-project/fs/df3ef3a222285ec10145f98b9ab4d3a697ca8194/scripts/benchmarks_single_sync/spawner_single -------------------------------------------------------------------------------- /scripts/benchmarks_single_sync_big/benchmark_create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_create.sh [flags] 7 | # flags: -h hostname, -t filecnt, -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/single_user_sync_big 14 | benchmarks="create_bench" 15 | 16 | # create files and populate them with 1MB data 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/big_files/single_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_single_sync_big/benchmark_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_read.sh [flags] 7 | # flags: -h hostname, -t transactions -f filecnt, -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/single_user_sync_big 14 | benchmarks="read_bench" 15 | 16 | # read files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/big_files/single_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_single_sync_big/benchmark_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_write.sh [flags] 7 | # flags: -h hostname, -t transactions, -f filecnt, -s filesize, -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/single_user_sync_big 14 | benchmarks="write_bench" 15 | 16 | # write files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh localhost ${*:2} &> ../../../testing/stats/big_files/single_$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/benchmarks_single_sync_big/run_bench.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | ./spawner create _u$1c $1 -t $2 5 | sleep 2 6 | ./spawner write _u$1p $1 -t $2 7 | 8 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 9 | cd ${SCRIPT_DIR}/../.. 10 | rm -r tmpfiles 11 | mkdir tmpfiles 12 | -------------------------------------------------------------------------------- /scripts/benchmarks_single_sync_big/spawner: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DBOS-project/fs/df3ef3a222285ec10145f98b9ab4d3a697ca8194/scripts/benchmarks_single_sync_big/spawner -------------------------------------------------------------------------------- /scripts/benchmarks_sumquery/benchmark_create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_create.sh [flags] 7 | # flags: -h hostname -f filecnt -b blockcnt -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/lfile_sync 14 | benchmarks="create_bench" 15 | 16 | for bench in $benchmarks; 17 | do 18 | cd $bench 19 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 20 | cd .. 21 | done 22 | 23 | -------------------------------------------------------------------------------- /scripts/benchmarks_sumquery/benchmark_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./benchmark_write.sh [flags] 7 | # flags: -h hostname -t transactions -f filecnt -b blockcnt -s filesize -u username 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | cd ${SCRIPT_DIR}/../.. 12 | 13 | cd benchmarks/lfile_sync 14 | benchmarks="write_bench" 15 | 16 | # write files cyclically 17 | for bench in $benchmarks; 18 | do 19 | cd $bench 20 | ./run_client.sh ${*:2} &> ../../../testing/stats/$bench$1.out 21 | cd .. 22 | done 23 | 24 | -------------------------------------------------------------------------------- /scripts/daemon/daemon.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | # 5 | # usage: 6 | # ./daemon.sh [flags] 7 | # flags: -h hostname -t threshold_gb -p period_ms -b batch_size 8 | # 9 | 10 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 11 | 12 | cd ${SCRIPT_DIR}/../../clients/daemon 13 | 14 | ./run_client.sh ${*:2} &> ../../testing/stats/daemon$1.out 15 | 16 | -------------------------------------------------------------------------------- /scripts/daemon/spawner: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DBOS-project/fs/df3ef3a222285ec10145f98b9ab4d3a697ca8194/scripts/daemon/spawner -------------------------------------------------------------------------------- /scripts/initialize_multi.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # usage: ./initialize_multi.sh [-c node_cnt] 4 | # node_cnt can be 1, 2, 3, 4, 6, 8 5 | 6 | ulimit -n 32768 7 | 8 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 9 | cd ${SCRIPT_DIR}/.. 10 | 11 | while getopts ":c:" opt; do 12 | case $opt in 13 | c) 14 | if [ $OPTARG = "1" ]; then 15 | echo "Initializing VoltDB for 1 node..." >&2 16 | voltdb init -f --dir=testing --config=testing/deployment_p40.xml 17 | fi 18 | if [ $OPTARG = "2" ]; then 19 | echo "Initializing VoltDB for 2 nodes..." >&2 20 | voltdb init -f --dir=testing --config=testing/deployment_n2.xml 21 | fi 22 | if [ $OPTARG = "2s" ]; then 23 | echo "Initializing VoltDB for 2 nodes, with 20 partitions in each one..." >&2 24 | voltdb init -f --dir=testing --config=testing/deployment_n2s.xml 25 | fi 26 | if [ $OPTARG = "3" ]; then 27 | echo "Initializing VoltDB for 3 nodes..." >&2 28 | voltdb init -f --dir=testing --config=testing/deployment_n3.xml 29 | fi 30 | if [ $OPTARG = "4" ]; then 31 | echo "Initializing VoltDB for 4 nodes..." >&2 32 | voltdb init -f --dir=testing --config=testing/deployment_n4.xml 33 | fi 34 | if [ $OPTARG = "6" ]; then 35 | echo "Initializing VoltDB for 6 nodes..." >&2 36 | voltdb init -f --dir=testing --config=testing/deployment_n6.xml 37 | fi 38 | if [ $OPTARG = "8" ]; then 39 | echo "Initializing VoltDB for 8 nodes..." >&2 40 | voltdb init -f --dir=testing --config=testing/deployment_n8.xml 41 | fi 42 | if [ $OPTARG = "10" ]; then 43 | echo "Initializing VoltDB for 10 nodes..." >&2 44 | voltdb init -f --dir=testing --config=testing/deployment_n10.xml 45 | fi 46 | exit 1 47 | ;; 48 | \?) 49 | echo "Invalid option: -$OPTARG" >&2 50 | echo "usage: ./Initialize_multi [-c node_cnt]" 51 | exit 1 52 | ;; 53 | :) 54 | echo "Option -$OPTARG requires an argument." >&2 55 | echo "usage: ./Initialize_multi [-c node_cnt]" 56 | exit 1 57 | ;; 58 | esac 59 | done 60 | 61 | # default option 62 | echo "Initializing VoltDB for 1 node..." >&2 63 | voltdb init -f --dir=testing --config=testing/deployment_config.xml 64 | 65 | -------------------------------------------------------------------------------- /scripts/load_schema.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR}/.. 5 | 6 | sqlcmd < sql/create_tables.sql 7 | ./scripts/update_stored_procedures.sh 8 | ./clients/PartitionInfoInit/run_client.sh 9 | -------------------------------------------------------------------------------- /scripts/start_multi.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # usage: ./start_multi.sh -h ,,... 4 | # eg. ./start_multi.sh -h d-4-2-17,172.31.130.194 5 | 6 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 7 | cd ${SCRIPT_DIR}/.. 8 | 9 | while getopts ":h:" opt; do 10 | case $opt in 11 | h) 12 | echo "starting VoltDB with hosts $OPTARG..." >&2 13 | voltdb start -B --dir=testing --ignore=thp --host=$OPTARG 14 | exit 1 15 | ;; 16 | \?) 17 | echo "Invalid option: -$OPTARG" >&2 18 | echo "usage: ./start_multi.sh -h ,,..." 19 | exit 1 20 | ;; 21 | :) 22 | echo "Option -$OPTARG requires an argument." >&2 23 | echo "usage: ./start_multi.sh -h ,,..." 24 | exit 1 25 | ;; 26 | esac 27 | done 28 | 29 | echo "[ERROR] hosts not specified" 30 | echo "usage: ./start_multi.sh -h ,,..." 31 | 32 | -------------------------------------------------------------------------------- /scripts/thread_spawners/client_spawner.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | using namespace std; 7 | 8 | /* 9 | * compile with g++ -o -std=c++11 -pthread client_spawner.cpp 10 | * usage: ./spawner [flags] 11 | * 12 | * example: ./spawner create _test 2 10 -h hostlist -t txs 13 | * executes 2 threads: 14 | * ./benchmark _test_user10 -h hostlist -t txs -u user10 15 | * ./benchmark _test_user11 -h hostlist -t txs -u user11 16 | */ 17 | 18 | void start_client(string bench, string output_suffix, string args, int user_num) { 19 | string cmd = "./" + bench + " " + output_suffix + "_user" + to_string(user_num) + " " + 20 | args + " -u user" + to_string(user_num); 21 | 22 | system(cmd.c_str()); 23 | } 24 | 25 | int main(int argc, char** argv) { 26 | string bench = argv[1]; 27 | string suffix = argv[2]; 28 | int user_cnt = atoi(argv[3]); 29 | int user_min = atoi(argv[4]); 30 | 31 | string args = ""; 32 | int arg_cnt = 5; 33 | while (arg_cnt < argc) { 34 | args += argv[arg_cnt++]; 35 | args += " "; 36 | } 37 | 38 | vector clients; 39 | for (int i = 0; i < user_cnt; i++) 40 | clients.push_back(thread(start_client, bench, suffix, args, user_min + i)); 41 | 42 | for (thread & client : clients) 43 | client.join(); 44 | 45 | return 0; 46 | } 47 | -------------------------------------------------------------------------------- /scripts/thread_spawners/client_spawner_range.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | using namespace std; 7 | 8 | /* 9 | * compile with g++ -o -std=c++11 -pthread client_spawner.cpp 10 | * usage: ./spawner [flags] 11 | * 12 | * example: ./spawner create _test 2 10 -h hostlist -t txs 13 | * executes 2 threads: 14 | * ./benchmark _test_user10 -h hostlist -t txs -u user10 15 | * ./benchmark _test_user11 -h hostlist -t txs -u user11 16 | */ 17 | 18 | void start_client(string bench, string output_suffix, string args, 19 | int thread_id, int user_min, int user_max) { 20 | string cmd = "./" + bench + " " + output_suffix + "_worker" + to_string(thread_id) + " " + 21 | args + " -u " + to_string(user_min) + " -m " + to_string(user_max); 22 | system(cmd.c_str()); 23 | } 24 | 25 | int main(int argc, char** argv) { 26 | string bench = argv[1]; 27 | string suffix = argv[2]; 28 | int user_cnt = atoi(argv[3]); 29 | int thread_cnt = atoi(argv[4]); 30 | 31 | string args = ""; 32 | int arg_cnt = 5; 33 | while (arg_cnt < argc) { 34 | args += argv[arg_cnt++]; 35 | args += " "; 36 | } 37 | 38 | int users_per_thread = user_cnt / thread_cnt; 39 | 40 | vector clients; 41 | for (int i = 0; i < thread_cnt; i++) 42 | clients.push_back(thread(start_client, bench, suffix, args, 43 | i, i*users_per_thread, (i+1)*users_per_thread)); 44 | 45 | for (thread & client : clients) 46 | client.join(); 47 | 48 | return 0; 49 | } 50 | -------------------------------------------------------------------------------- /scripts/thread_spawners/daemon_spawner.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | using namespace std; 7 | 8 | /* 9 | * compile with g++ -o -std=c++11 -pthread client_spawner.cpp 10 | * usage: ./spawner [flags] 11 | * 12 | * example: ./spawner 2 -h hostlist -t threshold_gb -p period -w worker_cnt -b batch_size 13 | */ 14 | 15 | void start_client(string args, int user_num) { 16 | string cmd = "./daemon.sh _user" + to_string(user_num) + " " + 17 | args; 18 | 19 | system(cmd.c_str()); 20 | } 21 | 22 | int main(int argc, char** argv) { 23 | int user_cnt = atoi(argv[1]); 24 | 25 | string args = ""; 26 | int arg_cnt = 2; 27 | while (arg_cnt < argc) { 28 | args += argv[arg_cnt++]; 29 | args += " "; 30 | } 31 | 32 | vector clients; 33 | for (int i = 0; i < user_cnt; i++) 34 | clients.push_back(thread(start_client, args, i)); 35 | 36 | for (thread & client : clients) 37 | client.join(); 38 | 39 | return 0; 40 | } 41 | -------------------------------------------------------------------------------- /scripts/update_stored_procedures.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname $(readlink -f $0)) 4 | cd ${SCRIPT_DIR}/.. 5 | 6 | all_procs="Create CreateAt CreateBlock CreateBlockAt CreateP CreateUser GetUserPartition CreateDir ChangeDir List Delete PartitionInfoSelect PartitionInfoInsert PartitionInfoUpdate GetPartitionInfo GetPartitionRange Read PopulateWithSize PopulateWithBuffer Read1FileNBlocks Write1FileNBlocks ReadNFiles1Block WriteNFiles1Block SumLargerThan" 7 | # "SendToDisk CheckStorage" 8 | # "Write Read_Big Populate_Big Write_Big Create_Big" 9 | # "CountFiles CountBytes CountLargerThan CountLargestK" 10 | 11 | if [ -z $@ ] 12 | then 13 | proc_list=${all_procs} 14 | else 15 | proc_list="$@" 16 | fi 17 | 18 | # recompile procedures 19 | cd stored_procedures 20 | for class in ${proc_list} 21 | do 22 | cd "$class" 23 | javac -classpath "$SCRIPT_DIR/../../VoltDB/voltdb/*" "$class".java 24 | jar cvf "$class".jar "$class".class 25 | cd .. 26 | done 27 | cd .. 28 | 29 | # push update to VoltDB 30 | sqlcmd < sql/update_procedures.sql 31 | -------------------------------------------------------------------------------- /sql/create_tables.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE PartitionInfo ( 2 | p_key INTEGER NOT NULL, 3 | partition_id INTEGER NOT NULL, 4 | host_id INTEGER, 5 | host_name VARCHAR(16), 6 | ); 7 | 8 | CREATE TABLE UserInfo ( 9 | home_partition INTEGER NOT NULL, 10 | user_name VARCHAR(16) NOT NULL, 11 | current_directory VARCHAR(1024) NOT NULL, 12 | ); 13 | 14 | CREATE TABLE File ( 15 | p_key INTEGER NOT NULL, -- p_key = block_id for Pfile 16 | user_name VARCHAR(16) NOT NULL, 17 | file_name VARCHAR(1024) NOT NULL, -- full path 18 | block_number INTEGER NOT NULL, 19 | file_size INTEGER, 20 | bytes VARBINARY(1048576), 21 | -- present TINYINT, -- 0 if not present 22 | -- last_access TIMESTAMP, 23 | -- CONSTRAINT prim_key PRIMARY KEY (user_name, file_name, block_number) 24 | ); 25 | 26 | -- CREATE TABLE Big_File ( 27 | -- user_name VARCHAR(16) NOT NULL, 28 | -- file_name VARCHAR(1024) NOT NULL, 29 | -- file_ptr VARCHAR(1024), 30 | -- ); 31 | 32 | CREATE TABLE Directory ( 33 | p_key INTEGER NOT NULL, 34 | directory_name VARCHAR(1024) NOT NULL, -- full path 35 | content_name VARCHAR(1024), -- relative path 36 | content_type TINYINT, -- 0 for file, 1 for directory 37 | user_name VARCHAR(16), 38 | -- protection_info SMALLINT, 39 | ); 40 | 41 | CREATE TABLE Permission ( 42 | user_name VARCHAR(16) NOT NULL, 43 | file_name VARCHAR(1024) NOT NULL, 44 | access SMALLINT, 45 | ); 46 | 47 | -- Partition Tables 48 | -- PARTITION TABLE UserInfo ON COLUMN home_partition; 49 | PARTITION TABLE File ON COLUMN p_key; 50 | PARTITION TABLE Directory ON COLUMN p_key; 51 | -- PARTITION TABLE Big_File ON COLUMN user_name; 52 | PARTITION TABLE Permission ON COLUMN user_name; 53 | 54 | -- Create Indices 55 | CREATE INDEX partinf_idx ON PartitionInfo (partition_id); 56 | CREATE UNIQUE INDEX user_unq_idx ON UserInfo (home_partition, user_name); 57 | CREATE UNIQUE INDEX file_unq_idx ON File (p_key, user_name, file_name, block_number); 58 | -- CREATE INDEX file_idx0 ON File (user_name, file_name); 59 | -- CREATE INDEX file_idx1 ON File (user_name, file_name, block_number); 60 | -- CREATE UNIQUE INDEX big_file_unq_idx ON Big_File (user_name, file_name); 61 | CREATE UNIQUE INDEX dir_idx ON Directory (p_key, user_name, directory_name, content_name); 62 | -- CREATE UNIQUE INDEX permission_unq_idx ON Permission (user_name, file_name); 63 | 64 | -------------------------------------------------------------------------------- /stored_procedures/ChangeDir/ChangeDir.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec ChangeDir partition directory_name user_name; 8 | */ 9 | 10 | public class ChangeDir extends VoltProcedure { 11 | public final SQLStmt getCurrDir = 12 | new SQLStmt("SELECT current_directory FROM UserInfo " + 13 | "WHERE user_name = ?;"); 14 | // public final SQLStmt existAbsDir = 15 | // new SQLStmt("SELECT content_name FROM Directory " + 16 | // "WHERE directory_name = ? ;"); 17 | public final SQLStmt existRelDir = 18 | new SQLStmt("SELECT content_name FROM Directory " + 19 | "WHERE directory_name = ? AND content_name = ? AND content_type = 1 ;"); 20 | public final SQLStmt changeDir = 21 | new SQLStmt("UPDATE UserInfo SET current_directory = ? " + 22 | "WHERE user_name = ? ;"); 23 | 24 | public long run (int partition, String directory_name, String user_name) 25 | throws VoltAbortException { 26 | 27 | voltQueueSQL(getCurrDir, 28 | user_name); 29 | VoltTable user_info = voltExecuteSQL()[0]; 30 | if (user_info.getRowCount() < 1) 31 | return -1; 32 | 33 | String current_directory = user_info.fetchRow(0).getString(0); 34 | String destination_directory; 35 | 36 | if (directory_name.equals("..")) { 37 | if (current_directory.equals("/")) 38 | return 0; 39 | 40 | int idx = current_directory 41 | .substring(0, current_directory.length() - 1) 42 | .lastIndexOf('/'); 43 | 44 | destination_directory = current_directory.substring(0, idx) + '/'; 45 | // } else if (directory_name.startsWith("/")) { 46 | // voltQueueSQL(existAbsDir, 47 | // directory_name); 48 | // VoltTable exist_dir = voltExecuteSQL()[0]; 49 | // if (exist_dir.getRowCount() < 1) 50 | // return -1; 51 | 52 | // destination_directory = directory_name; 53 | } else { 54 | voltQueueSQL(existRelDir, 55 | current_directory, 56 | directory_name + '/'); 57 | VoltTable exist_dir = voltExecuteSQL()[0]; 58 | if (exist_dir.getRowCount() < 1) 59 | return -1; 60 | 61 | destination_directory = current_directory + directory_name + '/'; 62 | } 63 | 64 | voltQueueSQL(changeDir, 65 | destination_directory, 66 | user_name); 67 | voltExecuteSQL(true); 68 | 69 | return 0; 70 | } 71 | } 72 | 73 | -------------------------------------------------------------------------------- /stored_procedures/CheckStorage/CheckStorage.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.FileOutputStream; 4 | import java.io.OutputStream; 5 | import java.io.IOException; 6 | import java.util.Arrays; 7 | import java.util.Map; 8 | import java.nio.charset.StandardCharsets; 9 | 10 | /* 11 | * usage: 12 | * exec CheckStorage host threshold batch_size; 13 | */ 14 | 15 | public class CheckStorage extends VoltProcedure { 16 | public final SQLStmt check_thresh = 17 | new SQLStmt("SELECT SUM(file_size) AS TOTAL FROM File WHERE present = 1;"); 18 | 19 | public final SQLStmt get_oldest = 20 | new SQLStmt("SELECT tmp.p_key, user_name, file_name, block_number FROM " + 21 | "( SELECT p_key, user_name, file_name, block_number FROM File WHERE present = 1 and file_size > 0" + 22 | "ORDER BY last_access ASC LIMIT ? ) AS tmp " + 23 | "JOIN partitioninfo ON tmp.p_key = partitioninfo.p_key " + 24 | "WHERE host_name = ?;"); 25 | 26 | public VoltTable[] run (String host, long threshold, int batch_size) 27 | throws Exception { 28 | // check how much of MM is being used 29 | voltQueueSQL(check_thresh); 30 | VoltTable[] thresh_results = voltExecuteSQL(); 31 | 32 | // compare against the threshold 33 | long total = thresh_results[0].fetchRow(0).getLong("total"); 34 | // check if we need to move files to the disk 35 | if (total > threshold * .8) { 36 | // get file metadata in date order 37 | voltQueueSQL(get_oldest, batch_size, host); 38 | return voltExecuteSQL(); 39 | } 40 | 41 | return new VoltTable[0]; 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /stored_procedures/CountBytes/CountBytes.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec CountBytes user_name; 8 | */ 9 | 10 | public class CountBytes extends VoltProcedure { 11 | public final SQLStmt countBytes = 12 | new SQLStmt("SELECT SUM(file_size) FROM file WHERE user_name = ? ;"); 13 | public VoltTable[] run (String user_name) 14 | throws VoltAbortException { 15 | 16 | voltQueueSQL(countBytes, 17 | user_name); 18 | return voltExecuteSQL(); 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /stored_procedures/CountFiles/CountFiles.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec CountFiles user_name; 8 | */ 9 | 10 | public class CountFiles extends VoltProcedure { 11 | public final SQLStmt countFiles = 12 | new SQLStmt("SELECT COUNT(file_name) FROM file WHERE user_name = ? ;"); 13 | public VoltTable[] run (String user_name) 14 | throws VoltAbortException { 15 | 16 | voltQueueSQL(countFiles, 17 | user_name); 18 | return voltExecuteSQL(); 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /stored_procedures/CountLargerThan/CountLargerThan.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec CountLargerThan user_name; 8 | */ 9 | 10 | public class CountLargerThan extends VoltProcedure { 11 | public final SQLStmt countLargerThan = 12 | new SQLStmt("SELECT COUNT(file_name) FROM file " + 13 | "WHERE user_name = ? AND file_size >= ? ;"); 14 | public VoltTable[] run (String user_name, int size) 15 | throws VoltAbortException { 16 | 17 | voltQueueSQL(countLargerThan, 18 | user_name, 19 | size); 20 | return voltExecuteSQL(); 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /stored_procedures/CountLargestK/CountLargestK.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec CountLargestK k; 8 | */ 9 | 10 | public class CountLargestK extends VoltProcedure { 11 | public final SQLStmt countLargestK = 12 | new SQLStmt("SELECT TOP ? file.file_name, file.file_size FROM file "+ 13 | "ORDER BY file.file_size DESC ;"); 14 | public VoltTable[] run (int file_cnt) 15 | throws VoltAbortException { 16 | 17 | voltQueueSQL(countLargestK, 18 | file_cnt); 19 | return voltExecuteSQL(); 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /stored_procedures/Create/Create.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec Create p_key, file_name, user_name; 8 | */ 9 | 10 | public class Create extends VoltProcedure { 11 | public final SQLStmt getCurrDir = 12 | new SQLStmt("SELECT current_directory FROM UserInfo " + 13 | "WHERE user_name = ?;"); 14 | public final SQLStmt insertToDir = 15 | // p_key, directory_name, content_name, content_type, user_name 16 | new SQLStmt("INSERT INTO Directory VALUES (?, ?, ?, 0, ?);"); 17 | public final SQLStmt createFile = 18 | // p_key, user_name, file_name, block_number, file_size, bytes 19 | new SQLStmt("INSERT INTO file VALUES (?, ?, ?, 0, 0, ?);"); 20 | 21 | public long run (int p_key, String file_name, String user_name) 22 | throws VoltAbortException { 23 | 24 | if (file_name.startsWith("/")) 25 | return -1; 26 | 27 | // get file absolute path 28 | voltQueueSQL(getCurrDir, 29 | user_name); 30 | VoltTable user_info = voltExecuteSQL()[0]; 31 | if (user_info.getRowCount() < 1) 32 | return -1; 33 | 34 | String current_directory = user_info.fetchRow(0).getString(0); 35 | voltQueueSQL(insertToDir, 36 | p_key, 37 | current_directory, 38 | file_name, 39 | user_name); 40 | 41 | // create file 42 | byte[] bytes_array = new byte[0]; 43 | voltQueueSQL(createFile, 44 | p_key, 45 | user_name, 46 | current_directory + file_name, 47 | bytes_array); 48 | voltExecuteSQL(true); 49 | 50 | return 0; 51 | } 52 | } 53 | 54 | -------------------------------------------------------------------------------- /stored_procedures/CreateAt/CreateAt.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec CreateAt site_id, file_name, user_name; 8 | */ 9 | 10 | public class CreateAt extends VoltProcedure { 11 | public final SQLStmt getPkey = 12 | new SQLStmt("SELECT p_key FROM PartitionInfo WHERE partition_id = ?;"); 13 | public final SQLStmt getCurrDir = 14 | new SQLStmt("SELECT current_directory FROM UserInfo " + 15 | "WHERE user_name = ?;"); 16 | public final SQLStmt insertToDir = 17 | // p_key, directory_name, content_name, content_type, user_name 18 | new SQLStmt("INSERT INTO Directory VALUES (?, ?, ?, 0, ?);"); 19 | public final SQLStmt createFile = 20 | // p_key, user_name, file_name, block_number, file_size, bytes 21 | new SQLStmt("INSERT INTO File VALUES (?, ?, ?, 0, 0, ?);"); 22 | 23 | public long run (int site_id, String file_name, String user_name) 24 | throws VoltAbortException { 25 | 26 | // get partition key 27 | voltQueueSQL(getPkey, 28 | site_id); 29 | VoltTable partition_mapping = voltExecuteSQL()[0]; 30 | long p_key = partition_mapping.fetchRow(0).getLong(0); 31 | 32 | if (file_name.startsWith("/")) 33 | return -1; 34 | 35 | // get file absolute path 36 | voltQueueSQL(getCurrDir, 37 | user_name); 38 | VoltTable user_info = voltExecuteSQL()[0]; 39 | if (user_info.getRowCount() < 1) 40 | return -1; 41 | 42 | String current_directory = user_info.fetchRow(0).getString(0); 43 | voltQueueSQL(insertToDir, 44 | p_key, 45 | current_directory, 46 | file_name, 47 | user_name); 48 | 49 | // create file 50 | byte[] bytes_array = new byte[0]; 51 | voltQueueSQL(createFile, 52 | p_key, 53 | user_name, 54 | current_directory + file_name, 55 | bytes_array); 56 | voltExecuteSQL(true); 57 | 58 | return 0; 59 | } 60 | } 61 | 62 | -------------------------------------------------------------------------------- /stored_procedures/CreateBlock/CreateBlock.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec CreateBlock p_key, file_name, block_number user_name; 8 | */ 9 | 10 | public class CreateBlock extends VoltProcedure { 11 | public final SQLStmt getCurrDir = 12 | new SQLStmt("SELECT current_directory FROM UserInfo " + 13 | "WHERE user_name = ?;"); 14 | public final SQLStmt insertToDir = 15 | // p_key, directory_name, content_name, content_type, user_name 16 | new SQLStmt("INSERT INTO Directory VALUES (?, ?, ?, 0, ?);"); 17 | public final SQLStmt createFile = 18 | // p_key, user_name, file_name, block_number, file_size, bytes 19 | new SQLStmt("INSERT INTO file VALUES (?, ?, ?, ?, 0, ?);"); 20 | 21 | public long run (int p_key, String file_name, int block_number, String user_name) 22 | throws VoltAbortException { 23 | 24 | if (file_name.startsWith("/")) 25 | return -1; 26 | 27 | // get file absolute path 28 | voltQueueSQL(getCurrDir, 29 | user_name); 30 | VoltTable user_info = voltExecuteSQL()[0]; 31 | if (user_info.getRowCount() < 1) 32 | return -1; 33 | 34 | String current_directory = user_info.fetchRow(0).getString(0); 35 | voltQueueSQL(insertToDir, 36 | p_key, 37 | current_directory, 38 | file_name, 39 | user_name); 40 | 41 | // create file 42 | byte[] bytes_array = new byte[0]; 43 | voltQueueSQL(createFile, 44 | p_key, 45 | user_name, 46 | current_directory + file_name, 47 | block_number, 48 | bytes_array); 49 | voltExecuteSQL(true); 50 | 51 | return 0; 52 | } 53 | } 54 | 55 | -------------------------------------------------------------------------------- /stored_procedures/CreateBlockAt/CreateBlockAt.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec CreateBlockAt site_id, file_name, block_number, user_name; 8 | */ 9 | 10 | public class CreateBlockAt extends VoltProcedure { 11 | public final SQLStmt getPkey = 12 | new SQLStmt("SELECT p_key FROM PartitionInfo WHERE partition_id = ?;"); 13 | public final SQLStmt getCurrDir = 14 | new SQLStmt("SELECT current_directory FROM UserInfo " + 15 | "WHERE user_name = ?;"); 16 | public final SQLStmt insertToDir = 17 | // p_key, directory_name, content_name, content_type, user_name 18 | new SQLStmt("INSERT INTO Directory VALUES (?, ?, ?, 0, ?);"); 19 | public final SQLStmt createFile = 20 | // p_key, user_name, file_name, block_number, file_size, bytes 21 | new SQLStmt("INSERT INTO File VALUES (?, ?, ?, ?, 0, ?);"); 22 | 23 | public long run (int site_id, String file_name, int block_number, String user_name) 24 | throws VoltAbortException { 25 | 26 | // get partition key 27 | voltQueueSQL(getPkey, 28 | site_id); 29 | VoltTable partition_mapping = voltExecuteSQL()[0]; 30 | long p_key = partition_mapping.fetchRow(0).getLong(0); 31 | 32 | if (file_name.startsWith("/")) 33 | return -1; 34 | 35 | // get file absolute path 36 | voltQueueSQL(getCurrDir, 37 | user_name); 38 | VoltTable user_info = voltExecuteSQL()[0]; 39 | if (user_info.getRowCount() < 1) 40 | return -1; 41 | 42 | String current_directory = user_info.fetchRow(0).getString(0); 43 | voltQueueSQL(insertToDir, 44 | p_key, 45 | current_directory, 46 | file_name, 47 | user_name); 48 | 49 | // create file 50 | byte[] bytes_array = new byte[0]; 51 | voltQueueSQL(createFile, 52 | p_key, 53 | user_name, 54 | current_directory + file_name, 55 | block_number, 56 | bytes_array); 57 | voltExecuteSQL(true); 58 | 59 | return 0; 60 | } 61 | } 62 | 63 | -------------------------------------------------------------------------------- /stored_procedures/CreateDir/CreateDir.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec CreateDir partition, directory_name, user_name; 8 | */ 9 | 10 | public class CreateDir extends VoltProcedure { 11 | public final SQLStmt getCurrDir = 12 | new SQLStmt("SELECT current_directory FROM UserInfo " + 13 | "WHERE user_name = ?;"); 14 | public final SQLStmt createDir = 15 | // p_key, directory_name, content_name, content_type, user_name 16 | new SQLStmt("INSERT INTO Directory VALUES (?, ?, ?, 1, ?);"); 17 | 18 | public long run (int partition, String directory_name, String user_name) 19 | throws VoltAbortException { 20 | 21 | voltQueueSQL(getCurrDir, 22 | user_name); 23 | VoltTable user_info = voltExecuteSQL()[0]; 24 | if (user_info.getRowCount() < 1) 25 | return -1; 26 | 27 | String current_directory = user_info.fetchRow(0).getString(0); 28 | 29 | voltQueueSQL(createDir, 30 | partition, 31 | current_directory, 32 | directory_name + '/', 33 | user_name); 34 | voltExecuteSQL(true); 35 | 36 | return 0; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /stored_procedures/CreateP/CreateP.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec Create block_number, file_name, user_name; 8 | */ 9 | 10 | public class CreateP extends VoltProcedure { 11 | public final SQLStmt getCurrDir = 12 | new SQLStmt("SELECT current_directory FROM UserInfo " + 13 | "WHERE user_name = ?;"); 14 | public final SQLStmt insertToDir = 15 | // p_key, directory_name, content_name, content_type, user_name 16 | new SQLStmt("INSERT INTO Directory VALUES (?, ?, ?, 0, ?);"); 17 | public final SQLStmt createFile = 18 | // p_key, user_name, file_name, block_number, file_size, bytes 19 | new SQLStmt("INSERT INTO file VALUES (?, ?, ?, ?, 0, ?);"); 20 | 21 | public long run (int block_number, String file_name, String user_name) 22 | throws VoltAbortException { 23 | 24 | if (file_name.startsWith("/")) 25 | return -1; 26 | 27 | // PFiles are partitioned on block_id 28 | int p_key = block_number; 29 | 30 | // get file absolute path 31 | voltQueueSQL(getCurrDir, 32 | user_name); 33 | VoltTable user_info = voltExecuteSQL()[0]; 34 | if (user_info.getRowCount() < 1) 35 | return -1; 36 | 37 | String current_directory = user_info.fetchRow(0).getString(0); 38 | voltQueueSQL(insertToDir, 39 | p_key, 40 | current_directory, 41 | file_name, 42 | user_name); 43 | 44 | // create file 45 | byte[] bytes_array = new byte[0]; 46 | voltQueueSQL(createFile, 47 | p_key, 48 | user_name, 49 | current_directory + file_name, 50 | block_number, 51 | bytes_array); 52 | voltExecuteSQL(true); 53 | 54 | return 0; 55 | } 56 | } 57 | 58 | -------------------------------------------------------------------------------- /stored_procedures/CreateUser/CreateUser.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec CreateUser home_partition, user_name; 8 | */ 9 | 10 | public class CreateUser extends VoltProcedure { 11 | public final SQLStmt createDir = 12 | // p_key, directory_name, content_name, content_type, user_name 13 | new SQLStmt("INSERT INTO Directory VALUES (?, ?, ?, 1, ?);"); 14 | public final SQLStmt createUser = 15 | // home_partition, user_name, current_directory 16 | new SQLStmt("INSERT INTO UserInfo VALUES (?, ?, ?);"); 17 | 18 | public long run (int partition, String user_name) 19 | throws VoltAbortException { 20 | 21 | String base_dir = "/"; 22 | String user_dir = user_name + '/'; 23 | 24 | voltQueueSQL(createDir, 25 | partition, 26 | base_dir, 27 | user_dir, 28 | user_name); 29 | voltQueueSQL(createUser, 30 | partition, 31 | user_name, 32 | base_dir + user_dir); 33 | voltExecuteSQL(true); 34 | 35 | return 0; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /stored_procedures/Delete/Delete.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec Delete p_key, file_name, user_name; 8 | */ 9 | 10 | public class Delete extends VoltProcedure { 11 | public final SQLStmt getCurrDir = 12 | new SQLStmt("SELECT current_directory FROM UserInfo " + 13 | "WHERE user_name = ?;"); 14 | public final SQLStmt deleteFile = 15 | new SQLStmt("DELETE FROM file WHERE p_key = ? AND user_name = ? AND file_name = ?;"); 16 | public final SQLStmt deleteFromDir = 17 | new SQLStmt("DELETE FROM directory WHERE p_key = ? AND user_name = ? " + 18 | "AND directory_name = ? AND content_name = ?"); 19 | 20 | public long run (int p_key, String file_name, String user_name) 21 | throws VoltAbortException { 22 | 23 | if (file_name.startsWith("/")) 24 | return -1; 25 | 26 | // get file absolute path 27 | voltQueueSQL(getCurrDir, 28 | user_name); 29 | VoltTable user_info = voltExecuteSQL()[0]; 30 | if (user_info.getRowCount() < 1) 31 | return -1; 32 | String current_directory = user_info.fetchRow(0).getString(0); 33 | 34 | voltQueueSQL(deleteFile, 35 | p_key, 36 | user_name, 37 | current_directory + file_name); 38 | voltQueueSQL(deleteFromDir, 39 | p_key, 40 | user_name, 41 | current_directory, 42 | file_name); 43 | voltExecuteSQL(true); 44 | 45 | return 0; 46 | } 47 | } 48 | 49 | -------------------------------------------------------------------------------- /stored_procedures/GetPartitionInfo/GetPartitionInfo.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.FileInputStream; 4 | import java.io.InputStream; 5 | import java.io.IOException; 6 | import java.io.RandomAccessFile;; 7 | 8 | /* 9 | * usage: 10 | * exec GetPartitionInfo ; 11 | */ 12 | 13 | public class GetPartitionInfo extends VoltProcedure { 14 | public final SQLStmt getPartition = 15 | new SQLStmt("SELECT * FROM PartitionInfo ORDER BY partition_id;"); 16 | 17 | public VoltTable[] run () 18 | throws VoltAbortException { 19 | 20 | voltQueueSQL(getPartition); 21 | return voltExecuteSQL(true); 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /stored_procedures/GetPartitionRange/GetPartitionRange.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.FileInputStream; 4 | import java.io.InputStream; 5 | import java.io.IOException; 6 | import java.io.RandomAccessFile;; 7 | 8 | /* 9 | * usage: 10 | * exec GetPartitionRange start_partition (inclusive) end_partition (exclusive) ; 11 | */ 12 | 13 | public class GetPartitionRange extends VoltProcedure { 14 | public final SQLStmt getPartition = 15 | new SQLStmt("SELECT p_key FROM PartitionInfo " + 16 | "WHERE partition_id >= ? AND partition_id < ? " + 17 | "ORDER BY partition_id;"); 18 | 19 | public VoltTable[] run (int start_partition, int end_partition) 20 | throws VoltAbortException { 21 | 22 | voltQueueSQL(getPartition, start_partition, end_partition); 23 | return voltExecuteSQL(true); 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /stored_procedures/GetUserPartition/GetUserPartition.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.FileInputStream; 4 | import java.io.InputStream; 5 | import java.io.IOException; 6 | import java.io.RandomAccessFile;; 7 | 8 | /* 9 | * usage: 10 | * exec GetUserPartition user_name; 11 | */ 12 | 13 | public class GetUserPartition extends VoltProcedure { 14 | public final SQLStmt getPartition = 15 | new SQLStmt("SELECT home_partition FROM UserInfo " + 16 | "WHERE user_name = ?;"); 17 | 18 | public VoltTable[] run (String user_name) 19 | throws VoltAbortException { 20 | 21 | voltQueueSQL(getPartition, 22 | user_name); 23 | return voltExecuteSQL(true); 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /stored_procedures/List/List.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec List user_name; 8 | */ 9 | 10 | public class List extends VoltProcedure { 11 | public final SQLStmt getCurrDir = 12 | new SQLStmt("SELECT current_directory From UserInfo " + 13 | "WHERE user_name = ?;"); 14 | public final SQLStmt list = 15 | new SQLStmt("SELECT * FROM Directory WHERE directory_name = ? ;"); 16 | 17 | public VoltTable[] run (String user_name) 18 | throws VoltAbortException { 19 | 20 | voltQueueSQL(getCurrDir, 21 | user_name); 22 | VoltTable[] user_info = voltExecuteSQL(); 23 | if (user_info[0].getRowCount() < 1) 24 | return user_info; 25 | 26 | String current_directory = user_info[0].fetchRow(0).getString(0); 27 | 28 | voltQueueSQL(list, 29 | current_directory); 30 | return voltExecuteSQL(true); 31 | } 32 | } 33 | 34 | -------------------------------------------------------------------------------- /stored_procedures/PartitionInfoInsert/PartitionInfoInsert.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec Create file_name, user_name; 8 | */ 9 | 10 | public class PartitionInfoInsert extends VoltProcedure { 11 | public final SQLStmt insertPartition = 12 | new SQLStmt("INSERT INTO PartitionInfo VALUES (?, ?, ?, ?);"); 13 | 14 | public long run (int p_key, int p_id, int host_id, String host_name) 15 | throws VoltAbortException { 16 | 17 | voltQueueSQL(insertPartition, 18 | p_key, 19 | p_id, 20 | host_id, 21 | host_name); 22 | voltExecuteSQL(true); 23 | 24 | return 0; 25 | } 26 | } 27 | 28 | -------------------------------------------------------------------------------- /stored_procedures/PartitionInfoSelect/PartitionInfoSelect.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec Create file_name, user_name; 8 | */ 9 | 10 | public class PartitionInfoSelect extends VoltProcedure { 11 | public final SQLStmt getPartitionInfo = 12 | new SQLStmt("SELECT p_key, partition_id from PartitionInfo;"); 13 | 14 | public VoltTable[] run () 15 | throws VoltAbortException { 16 | 17 | voltQueueSQL(getPartitionInfo); 18 | VoltTable[] results = voltExecuteSQL(true); 19 | 20 | return results; 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /stored_procedures/PartitionInfoUpdate/PartitionInfoUpdate.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec Create file_name, user_name; 8 | */ 9 | 10 | public class PartitionInfoUpdate extends VoltProcedure { 11 | public final SQLStmt updatePartition = 12 | new SQLStmt("UPDATE PartitionInfo SET host_id = ?, host_name = ? WHERE partition_id = ?;"); 13 | 14 | public long run (int p_id, int host_id, String host_name) 15 | throws VoltAbortException { 16 | 17 | voltQueueSQL(updatePartition, 18 | host_id, 19 | host_name, 20 | p_id); 21 | voltExecuteSQL(true); 22 | 23 | return 0; 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /stored_procedures/PopulateWithBuffer/PopulateWithBuffer.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.FileInputStream; 4 | import java.io.InputStream; 5 | import java.io.IOException; 6 | import java.util.Arrays; 7 | 8 | /* 9 | * usage: 10 | * exec Populate p_key, file_name, block_number, bytes_number, data, user_name; 11 | */ 12 | 13 | public class PopulateWithBuffer extends VoltProcedure { 14 | public final SQLStmt getCurrDir = 15 | new SQLStmt("SELECT current_directory FROM UserInfo " + 16 | "WHERE user_name = ?;"); 17 | public final SQLStmt write = 18 | new SQLStmt("UPDATE file SET bytes = ?, file_size = ? " + 19 | "WHERE p_key = ? AND file_name = ? AND block_number = ? AND user_name = ?; "); 20 | 21 | public long run (int p_key, String file_name, int block_number, int size, byte[] data, String user_name) 22 | throws VoltAbortException { 23 | 24 | // get file absolute path 25 | voltQueueSQL(getCurrDir, 26 | user_name); 27 | 28 | VoltTable[] user_query = voltExecuteSQL(); 29 | VoltTable user_info = user_query[0]; 30 | if (user_info.getRowCount() < 1) 31 | return -3; 32 | String current_directory = user_info.fetchRow(0).getString(0); 33 | file_name = current_directory + file_name; 34 | 35 | voltQueueSQL(write, 36 | data, 37 | size, 38 | p_key, 39 | file_name, 40 | block_number, 41 | user_name); 42 | voltExecuteSQL(true); 43 | 44 | return 0; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /stored_procedures/PopulateWithSize/PopulateWithSize.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.FileInputStream; 4 | import java.io.InputStream; 5 | import java.io.IOException; 6 | import java.util.Arrays; 7 | 8 | /* 9 | * usage: 10 | * exec Populate p_key, file_name, block_number, bytes_number, user_name; 11 | */ 12 | 13 | public class PopulateWithSize extends VoltProcedure { 14 | public final SQLStmt getCurrDir = 15 | new SQLStmt("SELECT current_directory FROM UserInfo " + 16 | "WHERE user_name = ?;"); 17 | public final SQLStmt write = 18 | new SQLStmt("UPDATE file SET bytes = ?, file_size = ? " + 19 | "WHERE p_key = ? AND file_name = ? AND block_number = ? AND user_name = ?; "); 20 | 21 | public long run (int p_key, String file_name, int block_number, int size, String user_name) 22 | throws VoltAbortException { 23 | 24 | // get file absolute path 25 | voltQueueSQL(getCurrDir, 26 | user_name); 27 | 28 | VoltTable[] user_query = voltExecuteSQL(); 29 | VoltTable user_info = user_query[0]; 30 | if (user_info.getRowCount() < 1) 31 | return -3; 32 | String current_directory = user_info.fetchRow(0).getString(0); 33 | file_name = current_directory + file_name; 34 | 35 | // fill file 36 | byte[] data = new byte[size]; 37 | Arrays.fill(data, (byte) 1); 38 | 39 | voltQueueSQL(write, 40 | data, 41 | size, 42 | p_key, 43 | file_name, 44 | block_number, 45 | user_name); 46 | voltExecuteSQL(true); 47 | 48 | return 0; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /stored_procedures/Read/Read.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.FileInputStream; 4 | import java.io.InputStream; 5 | import java.io.IOException; 6 | import java.io.RandomAccessFile;; 7 | 8 | /* 9 | * usage: 10 | * exec Read p_key, file_name, block_number, user_name; 11 | */ 12 | 13 | public class Read extends VoltProcedure { 14 | public final SQLStmt getCurrDir = 15 | new SQLStmt("SELECT current_directory FROM UserInfo " + 16 | "WHERE user_name = ?;"); 17 | public final SQLStmt read_content = 18 | new SQLStmt("SELECT bytes FROM file " + 19 | "WHERE p_key = ? AND file_name = ? AND block_number = ? AND user_name = ? ;"); 20 | 21 | public VoltTable[] run (int p_key, String file_name, int block_number, String user_name) 22 | throws VoltAbortException { 23 | 24 | // get file absolute path 25 | voltQueueSQL(getCurrDir, 26 | user_name); 27 | 28 | VoltTable[] user_query = voltExecuteSQL(); 29 | VoltTable user_info = user_query[0]; 30 | if (user_info.getRowCount() < 1) 31 | return user_query; 32 | String current_directory = user_info.fetchRow(0).getString(0); 33 | file_name = current_directory + file_name; 34 | 35 | // read file content 36 | voltQueueSQL(read_content, 37 | p_key, 38 | file_name, 39 | block_number, 40 | user_name); 41 | return voltExecuteSQL(true); 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /stored_procedures/Read1FileNBlocks/Read1FileNBlocks.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.FileInputStream; 4 | import java.io.InputStream; 5 | import java.io.IOException; 6 | import java.io.RandomAccessFile;; 7 | 8 | /* 9 | * usage: 10 | * exec Read p_key, file_name, block_list, user_name; 11 | */ 12 | 13 | public class Read1FileNBlocks extends VoltProcedure { 14 | public final SQLStmt getCurrDir = 15 | new SQLStmt("SELECT current_directory FROM UserInfo " + 16 | "WHERE user_name = ?;"); 17 | public final SQLStmt read = 18 | new SQLStmt("SELECT bytes from file " + 19 | "WHERE p_key = ? AND file_name = ? AND block_number = ? " + 20 | "AND user_name = ? ;"); 21 | 22 | public VoltTable[] run (int p_key, String file_name, int block_numbers[], 23 | String user_name, int rand_size) throws VoltAbortException { 24 | 25 | // get file absolute path 26 | voltQueueSQL(getCurrDir, 27 | user_name); 28 | 29 | VoltTable[] user_query = voltExecuteSQL(); 30 | VoltTable user_info = user_query[0]; 31 | if (user_info.getRowCount() < 1) 32 | return user_query; 33 | String current_directory = user_info.fetchRow(0).getString(0); 34 | file_name = current_directory + file_name; 35 | 36 | for (int i=0; i 0) { 31 | VoltTableRow file = results[0].fetchRow(0); 32 | if (file.getLong("present") == 1) { 33 | byte[] data = file.getVarbinary("bytes"); 34 | // make file on raw device 35 | Map env = System.getenv(); 36 | if (!env.containsKey("TMPDIR")) { 37 | throw new Exception("path to disk could not be found for Create_Big"); 38 | } 39 | String disk_path = env.get("TMPDIR"); 40 | String original_name = file_name.substring(file_name.indexOf(user_name) + user_name.length() + 1); 41 | String file_ptr = disk_path + "/" + user_name + "_" + original_name + "_" + Long.toString(block_number); 42 | File new_file = new File(file_ptr); 43 | new_file.createNewFile(); 44 | // write data 45 | try { 46 | OutputStream os = new FileOutputStream(new_file); 47 | os.write(data); 48 | os.close(); 49 | 50 | } catch (IOException e) { 51 | System.out.println("failed to write"); 52 | } 53 | // update file table 54 | voltQueueSQL(write, 55 | file_ptr.getBytes(), 56 | p_key, 57 | user_name, 58 | file_name, 59 | block_number); 60 | voltExecuteSQL(); 61 | } 62 | } 63 | 64 | 65 | return 0; 66 | } 67 | } 68 | 69 | -------------------------------------------------------------------------------- /stored_procedures/SumLargerThan/SumLargerThan.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.RandomAccessFile;; 4 | 5 | /* 6 | * usage: 7 | * exec SumLargerThan p_key, size, user_name; 8 | */ 9 | 10 | public class SumLargerThan extends VoltProcedure { 11 | public final SQLStmt sumLargerThan = 12 | new SQLStmt("SELECT SUM(file_size) FROM file " + 13 | "WHERE user_name = ? AND file_size >= ? ;"); 14 | public VoltTable[] run (int p_key, int size, String user_name) 15 | throws VoltAbortException { 16 | 17 | voltQueueSQL(sumLargerThan, 18 | user_name, 19 | size); 20 | return voltExecuteSQL(); 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /stored_procedures/Write1FileNBlocks/Write1FileNBlocks.java: -------------------------------------------------------------------------------- 1 | import org.voltdb.*; 2 | import java.io.File; 3 | import java.io.FileInputStream; 4 | import java.io.InputStream; 5 | import java.io.IOException; 6 | import java.io.RandomAccessFile;; 7 | 8 | /* 9 | * usage: 10 | * exec Read p_key, file_name, block_list, user_name; 11 | */ 12 | 13 | public class Write1FileNBlocks extends VoltProcedure { 14 | public final SQLStmt getCurrDir = 15 | new SQLStmt("SELECT current_directory FROM UserInfo " + 16 | "WHERE user_name = ?;"); 17 | public final SQLStmt write = 18 | new SQLStmt("UPDATE file SET bytes = ?, file_size = ?" + 19 | "WHERE p_key = ? AND file_name = ? AND block_number = ? " + 20 | "AND user_name = ? ;"); 21 | 22 | public VoltTable[] run (int p_key, int size, byte[] data, 23 | String file_name, int block_numbers[], 24 | String user_name, int rand_size) throws VoltAbortException { 25 | 26 | // get file absolute path 27 | voltQueueSQL(getCurrDir, 28 | user_name); 29 | 30 | VoltTable[] user_query = voltExecuteSQL(); 31 | VoltTable user_info = user_query[0]; 32 | if (user_info.getRowCount() < 1) 33 | return user_query; 34 | String current_directory = user_info.fetchRow(0).getString(0); 35 | file_name = current_directory + file_name; 36 | 37 | for (int i=0; i 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /testing/deployment_n2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /testing/deployment_n2s.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /testing/deployment_n3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /testing/deployment_n4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /testing/deployment_n6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /testing/deployment_n8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /testing/deployment_p20.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /testing/deployment_p40.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /testing/scripts/aggragate_general.py: -------------------------------------------------------------------------------- 1 | from itertools import product as prod 2 | import sys 3 | 4 | prefix = sys.argv[1] 5 | user_cnt = int(sys.argv[2]) 6 | user_min = int(sys.argv[3]) 7 | user_max = user_min + user_cnt 8 | 9 | print("%s aggregation for users %d to %d" %(prefix, user_min, user_max)) 10 | 11 | data = [] 12 | for user_num in range(user_min, user_max): 13 | if prefix.endswith("worker"): 14 | file_name = "../stats/"+ prefix+str(user_num)+".out" 15 | else: 16 | file_name = "../stats/"+ prefix+"_user"+str(user_num)+".out" 17 | with open(file_name, 'r') as f: 18 | for l in f: 19 | if l.startswith("Average throughput"): 20 | tokens = l.split() 21 | num = float(tokens[2].replace(',','')) 22 | data.append(num) 23 | 24 | print(data) 25 | print(len(data)) 26 | print(sum(data)/len(data)) 27 | print(sum(data)) 28 | 29 | -------------------------------------------------------------------------------- /testing/scripts/aggragate_multiclient.py: -------------------------------------------------------------------------------- 1 | from itertools import product as prod 2 | import sys 3 | 4 | benchmarks = ["read", "write"] 5 | sizes = ["1B", "1KB", "256KB", "512KB", "768KB", "1MB"] 6 | 7 | data = { 8 | bench: { 9 | size: { 10 | "aggregate": 0 11 | } for size in sizes 12 | } for bench in benchmarks 13 | } 14 | 15 | for (bench, size) in prod(benchmarks, sizes): 16 | for user_num in range(40): 17 | file_name = "../stats/single_"+bench+"_bench_spawn_"+ \ 18 | size+"_user"+str(user_num)+".out" 19 | 20 | with open(file_name, 'r') as f: 21 | for l in f: 22 | if l.startswith("Average throughput"): 23 | tokens = l.split() 24 | num = float(tokens[2].replace(',','')) 25 | data[bench][size]["aggregate"] += num 26 | 27 | for x in data: 28 | print(x) 29 | for y in data[x]: 30 | print(y) 31 | print(data[x][y]) 32 | --------------------------------------------------------------------------------