ooibc88 / blockbench

BLOCKBENCH: A Framework for Analyzing Private Blockchains. Blockbench contains workloads for measuring the data processing performance, and workloads for understanding the performance of different layers of Blockchain systems.
https://www.comp.nus.edu.sg/~dbsystem/fabricsharp/#/blockbench
Apache License 2.0
391 stars 174 forks source link

Ran the Hyperledger benchmark in Hyper-V cluster but only 2 out of 4 clients spawned #59

Closed natanaelyabes closed 4 years ago

natanaelyabes commented 5 years ago

Description

When I ran the ./run-bench.sh 4 1 4 10 in the host 1 (master node), it successfully spawned the hosts and clients according to the parameter. However, as I inspected in each VM's logs folder, I only found 1 log file (in each host node) and 1 folder contains 2 files which were the transaction log for each client (only 2 out of 4 clients produced the log).

Expected Behavior

  1. 4 hosts and 4 clients were spawned correctly
  2. Each host node produce its own log (debug log)
  3. Each client node produce its own log (txcount, latency, outstanding request)

Actual behavior

Only 2 client nodes were spawned. Each of these nodes produced 2 logs (txcount, latency, outstanding request):

  1. Client 1: client 1 (correspond to host 1) and client 2 (correspond to host 2) log
  2. Client 2: client 3 (correspond to host 3) and client 4 (correspond to host 4) log
  3. Client 3 and 4: did not produce any log

Environment

I spawn 8 VMs using Hyper-V each with the following specification:

I also set up the ssh for each VM such that it has password-less access among the VMs and did not forget to update the benchmark/hyperledger/clients and benchmark/hyperledger/hosts files with the IP addresses of each VMs.

Existing Issues

Attachment

  1. The log produced by the terminal when I issued the ./run-bench.sh command goes like this:

    administrator@blockbench-master:~/Projects/Blockchain/blockbench/benchmark/hyperledger$ ./run-bench.sh 4 8 4 10
    Stopping nodes and clients...
    peer: no process found
    java: no process found
    driver: no process found
    peer: no process found
    java: no process found
    driver: no process found
    peer: no process found
    java: no process found
    driver: no process found
    peer: no process found
    java: no process found
    driver: no process found
    driver: no process found
    peer: no process found
    java: no process found
    driver: no process found
    peer: no process found
    java: no process found
    driver: no process found
    peer: no process found
    java: no process found
    driver: no process found
    peer: no process found
    java: no process found
    Starting nodes (4) ...
    hl_consensus_4.yaml                                                                                 100% 2788     2.7KB/s   00:00
    hl_consensus_4.yaml                                                                                 100% 2788     2.7KB/s   00:00
    hl_consensus_4.yaml                                                                                 100% 2788     2.7KB/s   00:00
    hl_consensus_4.yaml                                                                                 100% 2788     2.7KB/s   00:00
    bpeer = 19.45.8.120
    Waiting for PID 43616 ...
    Starting multi-clients (4) ...
    19.45.8.124 index 0
    IN START_CLIENTS 8 0 4 10                    // I'm curious about this part
    19.45.8.125 index 1
    IN START_CLIENTS 8 1 4 10                    // Why only 2 out of 4 clients were started?
    Stopping nodes and clients...
    java: no process found
    driver: no process found
    java: no process found
    driver: no process found
    java: no process found
    driver: no process found
    java: no process found
    driver: no process found
    driver: no process found
    peer: no process found
    java: no process found
    driver: no process found
    peer: no process found
    java: no process found
    driver: no process found
    peer: no process found
    java: no process found
    driver: no process found
    peer: no process found
    java: no process found
    administrator@blockbench-master:~/Projects/Blockchain/blockbench/benchmark/hyperledger
  2. The host 1 (master node) logs folder content:

    
    administrator@blockbench-master:~/Projects/Blockchain/blockbench/benchmark/hyperledger/logs$ tree
    .
    └── hl_log_root_blockbench-master

0 directories, 1 file


3. [**The host 2 logs folder**](https://gist.githubusercontent.com/netanyahuyasser/3103f877b3cfaf68ee0de398f6e9620e/raw/30001891408fa70d3ecd6b380b6e48f7cb209177/hl_log_slave_blockbench-slave-1.txt) content:
```bash
administrator@blockbench-slave-1:~/Projects/Blockchain/blockbench/benchmark/hyperledger/logs$ tree
.
└── hl_log_slave_blockbench-slave-1

0 directories, 1 file
  1. The host 3 logs folder content:
    
    administrator@blockbench-slave-2:~/Projects/Blockchain/blockbench/benchmark/hyperledger/logs$ tree
    .
    └── hl_log_slave_blockbench-slave-2

0 directories, 1 file


5. [**The host 4 logs folder**](https://gist.githubusercontent.com/netanyahuyasser/b2203d4f24a1e4cb61b85c6ae290ac96/raw/c8c29617bd4434139a936c76b586f329aa6baa57/hl_log_root_blockbench-slave-3.txt) content:
```bash
administrator@blockbench-slave-3:~/Projects/Blockchain/blockbench/benchmark/hyperledger/logs$ tree
.
└── hl_log_slave_blockbench-slave-3

0 directories, 1 file
  1. The client 1 logs folder content: client_19.45.8.120_1 and client_19.45.8.121_1:
    
    administrator@blockbench-slave-4:~/Projects/Blockchain/blockbench/benchmark/hyperledger/logs$ tree
    .
    ├── hl_exp_4_servers_1_threads_10_rates
       ├── client_19.45.8.120_1             // the IP here corresponds to the host 1 IP and not client 1 IP
       └── client_19.45.8.121_1             // the IP here corresponds to the host 2 IP and not client 2 IP

2 directories, 4 files


6. **The client 2 logs folder content**: [client_19.45.8.122_1](https://gist.githubusercontent.com/netanyahuyasser/ed60695173fe327985d490aa20bc477e/raw/f7e7535a464eb0b01053c687969b1be09f84472d/client_19.45.8.122_1.txt) and [client_19.45.8.123_1](https://gist.githubusercontent.com/netanyahuyasser/edd3c570d3741630c26d0d08e758ff86/raw/49eaf2d02ee642e18c41ed2d72ec14b67984884d/client_19.45.8.123_1.txt)
```bash
administrator@blockbench-slave-5:~/Projects/Blockchain/blockbench/benchmark/hyperledger/logs$ tree
.
├── hl_exp_4_servers_1_threads_10_rates
     ├── client_19.45.8.122_1               // the IP here corresponds to the host 3 IP and not client 3 IP
     └── client_19.45.8.123_1               // the IP here corresponds to the host 4 IP and not client 4 IP

2 directories, 4 files
  1. client 3 and client 4 did not produce any log.