Skip to content

Commit d52a76f

Browse files
authored
add end-to-end experiment doc (#48)
* Update experiments.md * Add end to end config
1 parent b512ef3 commit d52a76f

File tree

5 files changed

+285
-0
lines changed

5 files changed

+285
-0
lines changed
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
############################################################
2+
# SUT defined configurations #
3+
############################################################
4+
endpoint=bolt://127.0.0.1:7687
5+
user=admin
6+
password=admin
7+
graphName=sf100
8+
queryDir=queries
9+
############################################################
10+
# Driver configurations #
11+
############################################################
12+
status=1
13+
thread_count=32
14+
name=LDBC-FinBench
15+
# Modes available: 1.CREATE_VALIDATION 2.VALIDATE_DATABASE 3.EXECUTE_BENCHMARK
16+
mode=EXECUTE_BENCHMARK
17+
results_log=true
18+
time_unit=MICROSECONDS
19+
time_compression_ratio=0.1
20+
peer_identifiers=
21+
workload_statistics=false
22+
spinner_wait_duration=1
23+
help=false
24+
ignore_scheduled_start_times=false
25+
workload=org.ldbcouncil.finbench.driver.workloads.transaction.LdbcFinBenchTransactionWorkload
26+
db=org.ldbcouncil.finbench.impls.galaxybase.GalaxybaseDb
27+
operation_count=2400000
28+
validation_parameters_size=10000
29+
validate_workload=true
30+
validate_database=validation_params.csv
31+
warmup=600000
32+
#ldbc.finbench.transaction.queries.parameters_dir=data/read_params
33+
#ldbc.finbench.transaction.queries.updates_dir=data/incremental
34+
ldbc.finbench.transaction.queries.parameters_dir=sf100/substitute_parameters
35+
ldbc.finbench.transaction.queries.updates_dir=sf100/incremental
36+
# param and update files suffix, `csv` or `parquet`, default is `csv`
37+
ldbc.finbench.transaction.queries.files_suffix=csv
38+
ldbc.finbench.transaction.queries.simple_read_dissipation=0.2
39+
ldbc.finbench.transaction.queries.update_interleave=500
40+
ldbc.finbench.transaction.queries.scale_factor=1
41+
# Frequency of complex read queries
42+
ldbc.finbench.transaction.queries.ComplexRead1_freq=12
43+
ldbc.finbench.transaction.queries.ComplexRead2_freq=45
44+
ldbc.finbench.transaction.queries.ComplexRead3_freq=23
45+
ldbc.finbench.transaction.queries.ComplexRead4_freq=57
46+
ldbc.finbench.transaction.queries.ComplexRead5_freq=83
47+
ldbc.finbench.transaction.queries.ComplexRead6_freq=21
48+
ldbc.finbench.transaction.queries.ComplexRead7_freq=36
49+
ldbc.finbench.transaction.queries.ComplexRead8_freq=51
50+
ldbc.finbench.transaction.queries.ComplexRead9_freq=21
51+
ldbc.finbench.transaction.queries.ComplexRead10_freq=6
52+
ldbc.finbench.transaction.queries.ComplexRead11_freq=12
53+
ldbc.finbench.transaction.queries.ComplexRead12_freq=34
54+
# For debugging purposes
55+
ldbc.finbench.transaction.queries.ComplexRead1_enable=true
56+
ldbc.finbench.transaction.queries.ComplexRead2_enable=true
57+
ldbc.finbench.transaction.queries.ComplexRead3_enable=true
58+
ldbc.finbench.transaction.queries.ComplexRead4_enable=true
59+
ldbc.finbench.transaction.queries.ComplexRead5_enable=true
60+
ldbc.finbench.transaction.queries.ComplexRead6_enable=true
61+
ldbc.finbench.transaction.queries.ComplexRead7_enable=true
62+
ldbc.finbench.transaction.queries.ComplexRead8_enable=true
63+
ldbc.finbench.transaction.queries.ComplexRead9_enable=true
64+
ldbc.finbench.transaction.queries.ComplexRead10_enable=true
65+
ldbc.finbench.transaction.queries.ComplexRead11_enable=true
66+
ldbc.finbench.transaction.queries.ComplexRead12_enable=true
67+
ldbc.finbench.transaction.queries.SimpleRead1_enable=true
68+
ldbc.finbench.transaction.queries.SimpleRead2_enable=true
69+
ldbc.finbench.transaction.queries.SimpleRead3_enable=true
70+
ldbc.finbench.transaction.queries.SimpleRead4_enable=true
71+
ldbc.finbench.transaction.queries.SimpleRead5_enable=true
72+
ldbc.finbench.transaction.queries.SimpleRead6_enable=true
73+
ldbc.finbench.transaction.queries.Write1_enable=true
74+
ldbc.finbench.transaction.queries.Write2_enable=true
75+
ldbc.finbench.transaction.queries.Write3_enable=true
76+
ldbc.finbench.transaction.queries.Write4_enable=true
77+
ldbc.finbench.transaction.queries.Write5_enable=true
78+
ldbc.finbench.transaction.queries.Write6_enable=true
79+
ldbc.finbench.transaction.queries.Write7_enable=true
80+
ldbc.finbench.transaction.queries.Write8_enable=true
81+
ldbc.finbench.transaction.queries.Write9_enable=true
82+
ldbc.finbench.transaction.queries.Write10_enable=true
83+
ldbc.finbench.transaction.queries.Write11_enable=true
84+
ldbc.finbench.transaction.queries.Write12_enable=true
85+
ldbc.finbench.transaction.queries.Write13_enable=true
86+
ldbc.finbench.transaction.queries.Write14_enable=true
87+
ldbc.finbench.transaction.queries.Write15_enable=true
88+
ldbc.finbench.transaction.queries.Write16_enable=true
89+
ldbc.finbench.transaction.queries.Write17_enable=true
90+
ldbc.finbench.transaction.queries.Write18_enable=true
91+
ldbc.finbench.transaction.queries.Write19_enable=true
92+
ldbc.finbench.transaction.queries.ReadWrite1_enable=true
93+
ldbc.finbench.transaction.queries.ReadWrite2_enable=true
94+
ldbc.finbench.transaction.queries.ReadWrite3_enable=true
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
java --class-path target/galaxybase-cypher-0.2.0-alpha.jar:lib/graphdbapi-bolt-driver-3.5.0.jar org.ldbcouncil.finbench.driver.driver.Driver -P sf100_finbench_benchmark.properties
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
############################################################
2+
# SUT defined configurations #
3+
############################################################
4+
endpoint=bolt://127.0.0.1:7687
5+
user=admin
6+
password=admin
7+
graphName=sf10
8+
queryDir=queries
9+
############################################################
10+
# Driver configurations #
11+
############################################################
12+
status=1
13+
thread_count=32
14+
name=LDBC-FinBench
15+
# Modes available: 1.CREATE_VALIDATION 2.VALIDATE_DATABASE 3.EXECUTE_BENCHMARK
16+
mode=EXECUTE_BENCHMARK
17+
results_log=true
18+
time_unit=MICROSECONDS
19+
time_compression_ratio=0.1
20+
peer_identifiers=
21+
workload_statistics=false
22+
spinner_wait_duration=1
23+
help=false
24+
ignore_scheduled_start_times=false
25+
workload=org.ldbcouncil.finbench.driver.workloads.transaction.LdbcFinBenchTransactionWorkload
26+
db=org.ldbcouncil.finbench.impls.galaxybase.GalaxybaseDb
27+
operation_count=2000000
28+
validation_parameters_size=10000
29+
validate_workload=true
30+
validate_database=validation_params.csv
31+
warmup=500000
32+
#ldbc.finbench.transaction.queries.parameters_dir=data/read_params
33+
#ldbc.finbench.transaction.queries.updates_dir=data/incremental
34+
ldbc.finbench.transaction.queries.parameters_dir=/sf10/substitute_parameters
35+
ldbc.finbench.transaction.queries.updates_dir=sf10/incremental
36+
# param and update files suffix, `csv` or `parquet`, default is `csv`
37+
ldbc.finbench.transaction.queries.files_suffix=csv
38+
ldbc.finbench.transaction.queries.simple_read_dissipation=0.2
39+
ldbc.finbench.transaction.queries.update_interleave=500
40+
ldbc.finbench.transaction.queries.scale_factor=1
41+
# Frequency of complex read queries
42+
ldbc.finbench.transaction.queries.ComplexRead1_freq=12
43+
ldbc.finbench.transaction.queries.ComplexRead2_freq=45
44+
ldbc.finbench.transaction.queries.ComplexRead3_freq=23
45+
ldbc.finbench.transaction.queries.ComplexRead4_freq=57
46+
ldbc.finbench.transaction.queries.ComplexRead5_freq=83
47+
ldbc.finbench.transaction.queries.ComplexRead6_freq=21
48+
ldbc.finbench.transaction.queries.ComplexRead7_freq=36
49+
ldbc.finbench.transaction.queries.ComplexRead8_freq=51
50+
ldbc.finbench.transaction.queries.ComplexRead9_freq=21
51+
ldbc.finbench.transaction.queries.ComplexRead10_freq=6
52+
ldbc.finbench.transaction.queries.ComplexRead11_freq=12
53+
ldbc.finbench.transaction.queries.ComplexRead12_freq=34
54+
# For debugging purposes
55+
ldbc.finbench.transaction.queries.ComplexRead1_enable=true
56+
ldbc.finbench.transaction.queries.ComplexRead2_enable=true
57+
ldbc.finbench.transaction.queries.ComplexRead3_enable=true
58+
ldbc.finbench.transaction.queries.ComplexRead4_enable=true
59+
ldbc.finbench.transaction.queries.ComplexRead5_enable=true
60+
ldbc.finbench.transaction.queries.ComplexRead6_enable=true
61+
ldbc.finbench.transaction.queries.ComplexRead7_enable=true
62+
ldbc.finbench.transaction.queries.ComplexRead8_enable=true
63+
ldbc.finbench.transaction.queries.ComplexRead9_enable=true
64+
ldbc.finbench.transaction.queries.ComplexRead10_enable=true
65+
ldbc.finbench.transaction.queries.ComplexRead11_enable=true
66+
ldbc.finbench.transaction.queries.ComplexRead12_enable=true
67+
ldbc.finbench.transaction.queries.SimpleRead1_enable=true
68+
ldbc.finbench.transaction.queries.SimpleRead2_enable=true
69+
ldbc.finbench.transaction.queries.SimpleRead3_enable=true
70+
ldbc.finbench.transaction.queries.SimpleRead4_enable=true
71+
ldbc.finbench.transaction.queries.SimpleRead5_enable=true
72+
ldbc.finbench.transaction.queries.SimpleRead6_enable=true
73+
ldbc.finbench.transaction.queries.Write1_enable=true
74+
ldbc.finbench.transaction.queries.Write2_enable=true
75+
ldbc.finbench.transaction.queries.Write3_enable=true
76+
ldbc.finbench.transaction.queries.Write4_enable=true
77+
ldbc.finbench.transaction.queries.Write5_enable=true
78+
ldbc.finbench.transaction.queries.Write6_enable=true
79+
ldbc.finbench.transaction.queries.Write7_enable=true
80+
ldbc.finbench.transaction.queries.Write8_enable=true
81+
ldbc.finbench.transaction.queries.Write9_enable=true
82+
ldbc.finbench.transaction.queries.Write10_enable=true
83+
ldbc.finbench.transaction.queries.Write11_enable=true
84+
ldbc.finbench.transaction.queries.Write12_enable=true
85+
ldbc.finbench.transaction.queries.Write13_enable=true
86+
ldbc.finbench.transaction.queries.Write14_enable=true
87+
ldbc.finbench.transaction.queries.Write15_enable=true
88+
ldbc.finbench.transaction.queries.Write16_enable=true
89+
ldbc.finbench.transaction.queries.Write17_enable=true
90+
ldbc.finbench.transaction.queries.Write18_enable=true
91+
ldbc.finbench.transaction.queries.Write19_enable=true
92+
ldbc.finbench.transaction.queries.ReadWrite1_enable=true
93+
ldbc.finbench.transaction.queries.ReadWrite2_enable=true
94+
ldbc.finbench.transaction.queries.ReadWrite3_enable=true
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
java --class-path target/galaxybase-cypher-0.2.0-alpha.jar:lib/graphdbapi-bolt-driver-3.5.0.jar org.ldbcouncil.finbench.driver.driver.Driver -P sf10_finbench_benchmark.properties

misc/experiments.md

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,3 +349,98 @@ Then run the benchmark.
349349
```
350350
bash sf100_benchmark.sh
351351
```
352+
353+
# End to End Evaluation
354+
355+
- [Galaxybase Official Website](https://createlink.com)
356+
357+
## 1. Resources
358+
359+
- Download the `galaxybase.zip` file from [here](https://drive.google.com/file/d/1euXCtu-oEzeh6M3Z4mP6LxofbhaYHHxs/view?usp=sharing), unzip it, and you will find `galaxybase.tar.gz` and the JSON files.
360+
- Prepare the data files for both `sf10` and `sf100` datasets.
361+
362+
## 2. Installation & Data Loading
363+
364+
- **Package Extraction**
365+
366+
Extract the Galaxybase package:
367+
368+
```bash
369+
tar -zxf galaxybase.tar.gz
370+
```
371+
372+
- **Environment Setup and Image Installation**
373+
374+
Install the Galaxybase environment and necessary Docker images:
375+
376+
```bash
377+
./galaxybase-*/bin/galaxybase-deploy install docker
378+
./galaxybase-*/bin/galaxybase-deploy image install
379+
```
380+
381+
- **Service Container Deployment**
382+
383+
Deploy the `graph` service containers.
384+
385+
```shell
386+
./galaxybase-*/bin/galaxybase-deploy build graph --home home
387+
```
388+
389+
- **Validation & Start-Up**
390+
391+
To validate the service, retrieve the verification code using the following command (replace `CONTAINER_ID` with the actual container ID):
392+
393+
```
394+
docker exec -i CONTAINER_ID gtools graph auth-check
395+
```
396+
397+
Then, input the authorization code:
398+
399+
```
400+
docker exec -i CONTAINER_ID gtools graph auth --code 'AUTH_CODE'
401+
```
402+
403+
*Note: You can acquire the authorization code by contacting the support team at [email protected].*
404+
405+
- **Data Transfer**
406+
407+
Move the benchmark data to the `home/graph/data` directory. Example for the `sf10` dataset:
408+
409+
```shell
410+
mv sf10/snapshot home/graph/data/sf10
411+
```
412+
413+
- **Data Loading**
414+
415+
Load the `sf10` dataset into Galaxybase using the provided schema and mapping files:
416+
417+
```shell
418+
./galaxybase-*/bin/galaxybase-load -s json/schema_sf10.json -m json/mapping_sf10.json -g sf10
419+
```
420+
421+
## 3. Benchmark Execution
422+
423+
- **Compilation**
424+
425+
First, clone the repository and compile the benchmark implementation.
426+
427+
```shell
428+
git clone https://github.com/ldbc/ldbc_finbench_transaction_impls
429+
mv sf10_finbench_benchmark.* ldbc_finbench_transaction_impls/
430+
mv sf100_finbench_benchmark.* ldbc_finbench_transaction_impls/
431+
cd ldbc_finbench_transaction_impls
432+
mvn install -DskipTests
433+
cd galaxybase-cypher
434+
```
435+
436+
- **Benchmark Run**
437+
438+
Execute the benchmark for both `sf10` and `sf100` datasets.
439+
440+
```shell
441+
# Run benchmark for sf10
442+
nohup sh sf10_finbench_benchmark.sh > console.log &
443+
444+
# Run benchmark for sf100
445+
nohup sh sf100_finbench_benchmark.sh > console.log &
446+
```

0 commit comments

Comments
 (0)