dbcli

“dbcli” is an abbreviation that stands for a database query tool run via a command-line interface.

The tool is very useful when you prepared a new graph database and want to traverse the graph to identify configurations of your technical system (which could be of any nature, not necessarily cluster supercomputers) and calculate technical and economic characteristics of each configuration.

In our framework, graph databases are used to describe configurations of (a) cluster compute nodes, (b) network switches, and (c) UPS systems. You can use these databases to try how “dbcli” works.

Keep in mind that XML files referenced using the “include” directive are sought for by the “dbcli” tool in the same directory as the main file. Therefore, change your current directory to the one where XML files are located, and then run “dbcli” by specifying a path to it (if it is not on your path).

Example 1. The following command will produce CSV output for 264 configurations of “Hewlett-Packard” hardware used as the reference input in our framework:

cd clusterdesign
..\webserverhome\cgi-bin\dbcli\dbcli.exe -i hp.xml

Example 2. Let us impose some constraints. We will select configurations where the number of cores on a CPU is equal to exactly 8. To achieve this, we specify two constraints (with a “-c” switch), separated by a comma. We then sort the list by the value of metric “node_peak_performance” (“-s” switch), in descending order (“-r” switch). This way, the configuration with the biggest peak performance will be the first in the list. We then print the first configuration in “characteristic=value” pairs (“-1” switch). (Remember to put the entire command on a single line; it’s wrapped here for readability).

..\webserverhome\cgi-bin\dbcli\dbcli -i hp.xml
   -c "min_cpu_cores=8, max_cpu_cores=8"
   -s "node_peak_performance" -r -1
cpu_acp=80
cpu_codename=Interlagos
cpu_cores=8
cpu_feature_size=32e-9
cpu_flops_per_cycle=4
cpu_frequency=3
cpu_l3_cache=16
cpu_model=AMD Opteron 6220
cpu_tdp=115
cpu_vendor=AMD
enabled=True
enclosure_size=10
main_memory_layout_per_cpu=4x8GB
main_memory_low_voltage=
main_memory_registers=registered
main_memory_speed=12800
main_memory_type=PC3
network_tech=10GbE InfiniBand-4X-QDR
node_cost=5996
node_cpu_count=2
node_equipment_size=0.625
node_form_factor=HP Blade
node_free_dimm_count=8
node_infiniband_port_count=2
node_main_memory_per_core=4
node_main_memory_size=64
node_model=HP BL465c G7
node_peak_performance=192
node_power=329
node_ten_gigabit_port_count=2
node_vendor=HP
node_weight=6