From b882c9c54ce8e6c91c5f30bd394eec3934011549 Mon Sep 17 00:00:00 2001 From: Nauman_Ahad Date: Mon, 1 Feb 2016 17:03:50 +0500 Subject: Fixed the index calculation for QTIP compute, network and storage suites Earlier inaccurate index calculation updated. Now indices take into account vm and bm cases Change-Id: Icf2d7fc17ef765f5c0611b5371d57410ba155cb6 Signed-off-by: Nauman_Ahad (cherry picked from commit 49b4662f32c415ea141ff269ba39d9a401b6e320) --- data/ref_results/.reference.json.swp | Bin 12288 -> 0 bytes data/ref_results/compute_benchmarks_indices.py | 282 ++++++++++++------------- data/ref_results/compute_suite.py | 6 +- data/ref_results/generator_ref_json.py | 102 ++++++--- data/ref_results/index_calculation.py | 44 ++++ data/ref_results/network_benchmarks_indices.py | 39 ++-- data/ref_results/reference.json | 76 ++++++- data/ref_results/storage_benchmarks_indices.py | 47 ++--- 8 files changed, 364 insertions(+), 232 deletions(-) delete mode 100644 data/ref_results/.reference.json.swp create mode 100644 data/ref_results/index_calculation.py diff --git a/data/ref_results/.reference.json.swp b/data/ref_results/.reference.json.swp deleted file mode 100644 index 45891cdb..00000000 Binary files a/data/ref_results/.reference.json.swp and /dev/null differ diff --git a/data/ref_results/compute_benchmarks_indices.py b/data/ref_results/compute_benchmarks_indices.py index 1e6922ec..51f6c416 100644 --- a/data/ref_results/compute_benchmarks_indices.py +++ b/data/ref_results/compute_benchmarks_indices.py @@ -1,75 +1,93 @@ -import os -import json +from index_calculation import generic_index as get_index +from index_calculation import get_reference from result_accum import result_concat as concat - def dpi_index (): - total=0 dpi_dict=concat('../../results/dpi/') - for k,v in dpi_dict.iteritems(): - for i,j in dpi_dict[k].iteritems(): - if i=="3 DPI result": - raw_num=float(dpi_dict[k][i]["DPI_benchmark(Gb/s)"]) - total=total+raw_num - - l=len(dpi_dict) - with open ('./reference.json') as reference_file: - reference_djson=json.load(reference_file) - dpi_ref=reference_djson['compute']['dpi'] - dpi_index= float((total/l)/dpi_ref) + dpi_bm_ref = get_reference('compute','dpi_bm') + dpi_bm_index= get_index(dpi_dict,'dpi_bm',dpi_bm_ref,'4 DPI result', 'DPI_benchmark(Gb/s)') + + dpi_vm_ref = get_reference('compute','dpi_vm') + dpi_vm_index= get_index(dpi_dict,'dpi_vm',dpi_vm_ref,'4 DPI result', 'DPI_benchmark(Gb/s)') + + dpi_index=(dpi_bm_index+dpi_vm_index)/2 dpi_dict_i={}; dpi_dict_i['1. Index']=dpi_index dpi_dict_i['2. Results']=dpi_dict - return dpi_dict_i + return dpi_dict_i -def dwstone_index (file_dir,benchmark): - total=0 - dwstone_dict=concat('../../results/'+file_dir+'/') - for k,v in dwstone_dict.iteritems(): - for i,j in dwstone_dict[k].iteritems(): - if i=="3 "+benchmark+" result": - for a,b in dwstone_dict[k][i].iteritems(): - if a=="2.Single CPU test": - raw_num=float(dwstone_dict[k][i][a]["2.Index score"]) - total=total+raw_num - - l= len(dwstone_dict) +def dhrystone_index(): + + dhrystone_dict=concat('../../results/dhrystone/') + dhrystone_single_bm_ref = get_reference('compute','dhrystone_bm','single_cpu') + dhrystone_single_bm_index= get_index(dhrystone_dict,'dhrystone_bm',dhrystone_single_bm_ref,'4 Dhrystone result','2.Single CPU test','2.Index score') + + dhrystone_multi_bm_ref = get_reference('compute','dhrystone_bm','multi_cpu') + dhrystone_multi_bm_index= get_index(dhrystone_dict,'dhrystone_bm',dhrystone_multi_bm_ref,'4 Dhrystone result','3.Multi CPU test','2.Index score') + + dhrystone_bm_index=(dhrystone_single_bm_index+dhrystone_multi_bm_index)/2 + + dhrystone_single_vm_ref = get_reference('compute','dhrystone_vm','single_cpu') + dhrystone_single_vm_index= get_index(dhrystone_dict,'dhrystone_vm',dhrystone_single_vm_ref,'4 Dhrystone result','2.Single CPU test','2.Index score') + + dhrystone_multi_vm_ref = get_reference('compute','dhrystone_vm','multi_cpu') + dhrystone_multi_vm_index= get_index(dhrystone_dict,'dhrystone_vm',dhrystone_multi_vm_ref,'4 Dhrystone result','3.Multi CPU test','2.Index score') - with open ('./reference.json') as reference_file: - reference_djson=json.load(reference_file) - dwstone_ref=reference_djson['compute'][file_dir] + dhrystone_vm_index=(dhrystone_single_vm_index+dhrystone_multi_vm_index)/2 - dwstone_index=float((total/l)/dwstone_ref) - dwstone_dict_i={}; - dwstone_dict_i['1. Index']=dwstone_index - dwstone_dict_i['2. Results']=dwstone_dict - return dwstone_dict_i + + dhrystone_index=(dhrystone_bm_index+dhrystone_vm_index)/2 + dhrystone_dict_i={}; + dhrystone_dict_i['1. Index']=dhrystone_index + dhrystone_dict_i['2. Results']=dhrystone_dict + return dhrystone_dict_i +def whetstone_index(): + + whetstone_dict=concat('../../results/whetstone/') + whetstone_single_bm_ref = get_reference('compute','whetstone_bm','single_cpu') + whetstone_single_bm_index= get_index(whetstone_dict,'whetstone_bm',whetstone_single_bm_ref,'4 Whetstone result','2.Single CPU test','2.Index score') + + whetstone_multi_bm_ref = get_reference('compute','whetstone_bm','multi_cpu') + whetstone_multi_bm_index= get_index(whetstone_dict,'whetstone_bm',whetstone_multi_bm_ref,'4 Whetstone result','3.Multi CPU test','2.Index score') + + whetstone_bm_index=(whetstone_single_bm_index+whetstone_multi_bm_index)/2 + + whetstone_single_vm_ref = get_reference('compute','whetstone_vm','single_cpu') + whetstone_single_vm_index= get_index(whetstone_dict,'whetstone_vm',whetstone_single_vm_ref,'4 Whetstone result','2.Single CPU test','2.Index score') + + whetstone_multi_vm_ref = get_reference('compute','whetstone_vm','multi_cpu') + whetstone_multi_vm_index= get_index(whetstone_dict,'whetstone_vm',whetstone_multi_vm_ref,'4 Whetstone result','3.Multi CPU test','2.Index score') + + whetstone_vm_index=(whetstone_single_vm_index+whetstone_multi_vm_index)/2 + + whetstone_index=(whetstone_bm_index+whetstone_vm_index)/2 + whetstone_dict_i={}; + whetstone_dict_i['1. Index']=whetstone_index + whetstone_dict_i['2. Results']=whetstone_dict + return whetstone_dict_i def ramspeed_index (): - total_int=0 - total_float=0 - ramspeed_dict=concat('../../results/ramspeed/') - for k,v in ramspeed_dict.iteritems(): - for i,j in ramspeed_dict[k].iteritems(): - if i=="3 RamSpeed result": - for a,b in ramspeed_dict[k][i].iteritems(): - if a=="1. INTmem bandwidth": - raw_int=ramspeed_dict[k][i][a]["5. Average (MB/s)"] - total_int=total_int+float(raw_int) - elif a=="2. FLOATmem bandwidth": - raw_float=ramspeed_dict[k][i][a]["5. Average (MB/s)"] - total_float=total_float+float(raw_float) - l=len(ramspeed_dict) - with open ('./reference.json') as reference_file: - reference_djson=json.load(reference_file) - int_mem_ref=reference_djson['compute']['ramspeed']['INTmem']['Average (MB/s)'] - float_mem_ref=reference_djson['compute']['ramspeed']['FLOATmem']['Average (MB/s)'] - - int_mem_index= float((total_int/l)/int_mem_ref) - float_mem_index=float((total_float/l)/float_mem_ref) - ramspeed_index=float((int_mem_index+float_mem_index)/2) + ramspeed_dict=concat('../../results/ramspeed/') + ramspeed_int_bm_ref=get_reference('compute','ramspeed_bm','INTmem','Average (MB/s)') + ramspeed_int_bm_index=get_index(ramspeed_dict, 'ramspeed_bm', ramspeed_int_bm_ref,'4 RamSpeed result','1. INTmem bandwidth','5. Average (MB/s)') + + ramspeed_float_bm_ref=get_reference('compute','ramspeed_bm','FLOATmem','Average (MB/s)') + ramspeed_float_bm_index=get_index(ramspeed_dict, 'ramspeed_bm', ramspeed_float_bm_ref,'4 RamSpeed result','1. FLOATmem bandwidth','5. Average (MB/s)') + + ramspeed_bm_index=(ramspeed_int_bm_index+ramspeed_float_bm_index)/2 + + ramspeed_int_vm_ref=get_reference('compute','ramspeed_vm','INTmem','Average (MB/s)') + ramspeed_int_vm_index=get_index(ramspeed_dict, 'ramspeed_vm', ramspeed_int_vm_ref,'4 RamSpeed result','1. INTmem bandwidth','5. Average (MB/s)') + + ramspeed_float_vm_ref=get_reference('compute','ramspeed_vm','FLOATmem','Average (MB/s)') + ramspeed_float_vm_index=get_index(ramspeed_dict, 'ramspeed_vm', ramspeed_float_vm_ref,'4 RamSpeed result','1. FLOATmem bandwidth','5. Average (MB/s)') + + ramspeed_vm_index=(ramspeed_int_vm_index+ramspeed_float_vm_index)/2 + + ramspeed_index=(ramspeed_vm_index+ramspeed_bm_index)/2 + ramspeed_dict_i={}; ramspeed_dict_i['1. Index']=ramspeed_index ramspeed_dict_i['2. Results']=ramspeed_dict @@ -77,97 +95,69 @@ def ramspeed_index (): def ssl_index (): - total_512rsa=0 - total_1024rsa=0 - total_2048rsa=0 - total_4096rsa=0 - - total_16aes=0 - total_64aes=0 - total_256aes=0 - total_1024aes=0 - total_8192aes=0 ssl_dict=concat('../../results/ssl/') - for k,v in ssl_dict.iteritems(): - for i,j in ssl_dict[k].iteritems(): - if i=="3 SSL result": - for a,b in ssl_dict[k][i].iteritems(): - if a=="2. RSA signatures": - raw_num_512rsa=float(ssl_dict[k][i][a]["1. 512 bits (sign/s)"]) - raw_num_1024rsa=float(ssl_dict[k][i][a]["2. 1024 bits (sign/s)"]) - raw_num_2048rsa=float(ssl_dict[k][i][a]["3. 2048 bits (sign/s)"]) - raw_num_4096rsa=float(ssl_dict[k][i][a]["4. 4096 bits (sign/s)"]) - total_512rsa=total_512rsa+raw_num_512rsa - total_1024rsa=total_512rsa+raw_num_1024rsa - total_2048rsa=total_2048rsa+raw_num_2048rsa - total_4096rsa=total_4096rsa+raw_num_4096rsa - elif a=="3. AES-128-cbc throughput": - raw_num_16aes=float(ssl_dict[k][i][a]["1. 16 Bytes block (B/sec)"][:-1])*1000 - raw_num_64aes=float(ssl_dict[k][i][a]["2. 64 Bytes block (B/sec)"][:-1])*1000 - raw_num_256aes=float(ssl_dict[k][i][a]["3. 256 Bytes block (B/sec)"][:-1])*1000 - raw_num_1024aes=float(ssl_dict[k][i][a]["4. 1024 Bytes block (B/sec)"][:-1])*1000 - raw_num_8192aes=float(ssl_dict[k][i][a]["5. 8192 Bytes block (B/sec)"][:-1])*1000 - total_16aes=raw_num_16aes+total_16aes - total_64aes=raw_num_64aes+total_64aes - total_256aes=raw_num_256aes+total_256aes - total_1024aes=raw_num_1024aes+total_1024aes - total_8192aes=raw_num_8192aes+total_8192aes - - with open ('./reference.json') as reference_file: - reference_djson=json.load(reference_file) - ssl_ref512rsa=reference_djson['compute']['ssl']['RSA']['512b'] - ssl_ref1024rsa=reference_djson['compute']['ssl']['RSA']['1024b'] - ssl_ref2048rsa=reference_djson['compute']['ssl']['RSA']['2048b'] - ssl_ref4096rsa=reference_djson['compute']['ssl']['RSA']['4096b'] - - - ssl_ref16aes=reference_djson['compute']['ssl']['AES']['16B'] - ssl_ref64aes=reference_djson['compute']['ssl']['AES']['64B'] - ssl_ref256aes=reference_djson['compute']['ssl']['AES']['256B'] - ssl_ref1024aes=reference_djson['compute']['ssl']['AES']['1024B'] - ssl_ref8192aes=reference_djson['compute']['ssl']['AES']['8192B'] - - - l=len(ssl_dict) - index_512rsa=float((total_512rsa/l)/ssl_ref512rsa) - index_1024rsa= float((total_1024rsa/l)/ssl_ref1024rsa) - index_2048= float((total_2048rsa/l)/ssl_ref2048rsa) - index_4096= float((total_4096rsa/l)/ssl_ref4096rsa) - - index_16aes=float((total_16aes/l)/ssl_ref16aes) - index_64aes=float((total_64aes/l)/ssl_ref64aes) - index_256aes=float((total_256aes/l)/ssl_ref256aes) - index_1024aes=float((total_1024aes/l)/ssl_ref1024aes) - index_8192aes=float((total_8192aes/l)/ssl_ref8192aes) - - index_sum= (index_512rsa+index_1024rsa+index_2048+index_4096+index_16aes+index_64aes+index_256aes+index_1024aes+index_8192aes) - ssl_index=float(index_sum/9) + + ssl_RSA512b_bm_ref=get_reference('compute','ssl_bm','RSA','512b') + ssl_RSA1024b_bm_ref=get_reference('compute','ssl_bm','RSA','1024b') + ssl_RSA2048b_bm_ref=get_reference('compute','ssl_bm','RSA','2048b') + ssl_RSA4096b_bm_ref=get_reference('compute','ssl_bm','RSA','4096b') + + + ssl_AES16B_bm_ref=get_reference('compute','ssl_bm','AES','16B') + ssl_AES64B_bm_ref=get_reference('compute','ssl_bm','AES','64B') + ssl_AES256B_bm_ref=get_reference('compute','ssl_bm','AES','256B') + ssl_AES1024B_bm_ref=get_reference('compute','ssl_bm','AES','1024B') + ssl_AES8192B_bm_ref=get_reference('compute','ssl_bm','AES','8192B') + + ssl_RSA512b_bm_index=get_index(ssl_dict, "ssl_bm", ssl_RSA512b_bm_ref,'4 SSL result','2. RSA signatures','1. 512 bits (sign/s)') + ssl_RSA1024b_bm_index=get_index(ssl_dict, "ssl_bm", ssl_RSA1024b_bm_ref,'4 SSL result','2. RSA signatures','2. 1024 bits (sign/s)') + ssl_RSA2048b_bm_index=get_index(ssl_dict, "ssl_bm", ssl_RSA2048b_bm_ref,'4 SSL result','2. RSA signatures','3. 2048 bits (sign/s)') + ssl_RSA4096b_bm_index=get_index(ssl_dict, "ssl_bm", ssl_RSA4096b_bm_ref,'4 SSL result','2. RSA signatures','4. 4096 bits (sign/s)') + ssl_RSA_bm_index=(ssl_RSA512b_bm_index+ssl_RSA1024b_bm_index+ssl_RSA2048b_bm_index+ssl_RSA4096b_bm_index)/4 + + + ssl_AES16B_bm_index=get_index(ssl_dict, "ssl_bm", ssl_AES16B_bm_ref,'4 SSL result','3. AES-128-cbc throughput','1. 16 Bytes block (B/sec)') + ssl_AES64B_bm_index=get_index(ssl_dict, "ssl_bm", ssl_AES64B_bm_ref,'4 SSL result','3. AES-128-cbc throughput','2. 64 Bytes block (B/sec)') + ssl_AES256B_bm_index=get_index(ssl_dict, "ssl_bm", ssl_AES256B_bm_ref,'4 SSL result','3. AES-128-cbc throughput','3. 256 Bytes block (B/sec)') + ssl_AES1024B_bm_index=get_index(ssl_dict, "ssl_bm", ssl_AES1024B_bm_ref,'4 SSL result','3. AES-128-cbc throughput','4. 1024 Bytes block (B/sec)') + ssl_AES8192B_bm_index=get_index(ssl_dict, "ssl_bm", ssl_AES8192B_bm_ref,'4 SSL result','3. AES-128-cbc throughput','5. 8192 Bytes block (B/sec)') + ssl_AES_bm_index=(ssl_AES16B_bm_index+ssl_AES64B_bm_index+ssl_AES256B_bm_index+ssl_AES1024B_bm_index+ssl_AES8192B_bm_index)/5 + + ssl_bm_index=(ssl_RSA_bm_index+ssl_AES_bm_index)/2 + + ssl_RSA512b_vm_ref=get_reference('compute','ssl_vm','RSA','512b') + ssl_RSA1024b_vm_ref=get_reference('compute','ssl_vm','RSA','1024b') + ssl_RSA2048b_vm_ref=get_reference('compute','ssl_vm','RSA','2048b') + ssl_RSA4096b_vm_ref=get_reference('compute','ssl_vm','RSA','4096b') + + + ssl_AES16B_vm_ref=get_reference('compute','ssl_vm','AES','16B') + ssl_AES64B_vm_ref=get_reference('compute','ssl_vm','AES','64B') + ssl_AES256B_vm_ref=get_reference('compute','ssl_vm','AES','256B') + ssl_AES1024B_vm_ref=get_reference('compute','ssl_vm','AES','1024B') + ssl_AES8192B_vm_ref=get_reference('compute','ssl_vm','AES','8192B') + + ssl_RSA512b_vm_index=get_index(ssl_dict, "ssl_vm", ssl_RSA512b_vm_ref,'4 SSL result','2. RSA signatures','1. 512 bits (sign/s)') + ssl_RSA1024b_vm_index=get_index(ssl_dict, "ssl_vm", ssl_RSA1024b_vm_ref,'4 SSL result','2. RSA signatures','2. 1024 bits (sign/s)') + ssl_RSA2048b_vm_index=get_index(ssl_dict, "ssl_vm", ssl_RSA2048b_vm_ref,'4 SSL result','2. RSA signatures','3. 2048 bits (sign/s)') + ssl_RSA4096b_vm_index=get_index(ssl_dict, "ssl_vm", ssl_RSA4096b_vm_ref,'4 SSL result','2. RSA signatures','4. 4096 bits (sign/s)') + ssl_RSA_vm_index=(ssl_RSA512b_vm_index+ssl_RSA1024b_vm_index+ssl_RSA2048b_vm_index+ssl_RSA4096b_vm_index)/4 + + + ssl_AES16B_vm_index=get_index(ssl_dict, "ssl_vm", ssl_AES16B_vm_ref,'4 SSL result','3. AES-128-cbc throughput','1. 16 Bytes block (B/sec)') + ssl_AES64B_vm_index=get_index(ssl_dict, "ssl_vm", ssl_AES64B_vm_ref,'4 SSL result','3. AES-128-cbc throughput','2. 64 Bytes block (B/sec)') + ssl_AES256B_vm_index=get_index(ssl_dict, "ssl_vm", ssl_AES256B_vm_ref,'4 SSL result','3. AES-128-cbc throughput','3. 256 Bytes block (B/sec)') + ssl_AES1024B_vm_index=get_index(ssl_dict, "ssl_vm", ssl_AES1024B_vm_ref,'4 SSL result','3. AES-128-cbc throughput','4. 1024 Bytes block (B/sec)') + ssl_AES8192B_vm_index=get_index(ssl_dict, "ssl_vm", ssl_AES8192B_vm_ref,'4 SSL result','3. AES-128-cbc throughput','5. 8192 Bytes block (B/sec)') + ssl_AES_vm_index=(ssl_AES16B_vm_index+ssl_AES64B_vm_index+ssl_AES256B_vm_index+ssl_AES1024B_vm_index+ssl_AES8192B_vm_index)/5 + + ssl_vm_index=(ssl_RSA_vm_index+ssl_AES_vm_index)/2 + + ssl_index=(ssl_bm_index+ssl_vm_index)/2 + + ssl_dict_i={}; ssl_dict_i['1. Index']=ssl_index ssl_dict_i['2. Results']=ssl_dict return ssl_dict_i - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/data/ref_results/compute_suite.py b/data/ref_results/compute_suite.py index ce7f33cd..86e8a877 100644 --- a/data/ref_results/compute_suite.py +++ b/data/ref_results/compute_suite.py @@ -12,12 +12,14 @@ except OSError: try: - compute_dict['Dhrystone']=benchmark_indices.dwstone_index('dhrystone','Dhrystone') + compute_dict['Dhrystone']=benchmark_indices.dhrystone_index() except OSError: pass + + try: - compute_dict['Whetstone']=benchmark_indices.dwstone_index('whetstone','Whetstone') + compute_dict['Whetstone']=benchmark_indices.whetstone_index() except OSError: pass diff --git a/data/ref_results/generator_ref_json.py b/data/ref_results/generator_ref_json.py index a82dbc5d..db396653 100644 --- a/data/ref_results/generator_ref_json.py +++ b/data/ref_results/generator_ref_json.py @@ -3,39 +3,83 @@ import json dict_ref={}; dict_ref['compute']={}; -dict_ref['compute']['dpi']=8.12 -dict_ref['compute']['whetstone']=859.1 -dict_ref['compute']['dhrystone']=3146.66 -dict_ref['compute']['ssl']={}; -dict_ref['compute']['ssl']['RSA']={}; -dict_ref['compute']['ssl']['AES']={}; -dict_ref['compute']['ssl']['RSA']['512b']=22148.9 -dict_ref['compute']['ssl']['RSA']['1024b']=7931.44 -dict_ref['compute']['ssl']['RSA']['2048b']=1544.3 -dict_ref['compute']['ssl']['RSA']['4096b']=161.92 - -dict_ref['compute']['ssl']['AES']['16B']=735490250 -dict_ref['compute']['ssl']['AES']['64B']=788429210 -dict_ref['compute']['ssl']['AES']['256B']=803323650 -dict_ref['compute']['ssl']['AES']['1024B']=808861020 -dict_ref['compute']['ssl']['AES']['8192B']=807701160 - -dict_ref['compute']['ramspeed']={}; -dict_ref['compute']['ramspeed']['INTmem']={}; -dict_ref['compute']['ramspeed']['FLOATmem']={}; -dict_ref['compute']['ramspeed']['INTmem']['Average (MB/s)']=11775.85 -dict_ref['compute']['ramspeed']['FLOATmem']['Average (MB/s)']=9780.23 +dict_ref['compute']['dpi_bm']=8.12 +dict_ref['compute']['dpi_vm']=22.12 + +dict_ref['compute']['whetstone_bm']={}; +dict_ref['compute']['whetstone_vm']={}; +dict_ref['compute']['whetstone_bm']['single_cpu']=859.1 +dict_ref['compute']['whetstone_bm']['multi_cpu']=859.1 +dict_ref['compute']['whetstone_vm']['single_cpu']=859.1 +dict_ref['compute']['whetstone_vm']['multi_cpu']=859. + +dict_ref['compute']['dhrystone_bm']={}; +dict_ref['compute']['dhrystone_vm']={}; +dict_ref['compute']['dhrystone_bm']['single_cpu']=3231.7 +dict_ref['compute']['dhrystone_bm']['multi_cpu']=103362.1 +dict_ref['compute']['dhrystone_vm']['single_cpu']=2953.6 +dict_ref['compute']['dhrystone_vm']['multi_cpu']=10585.8 + +dict_ref['compute']['ssl_bm']={}; +dict_ref['compute']['ssl_bm']['RSA']={}; +dict_ref['compute']['ssl_bm']['AES']={}; +dict_ref['compute']['ssl_bm']['RSA']['512b']=22148.9 +dict_ref['compute']['ssl_bm']['RSA']['1024b']=7931.44 +dict_ref['compute']['ssl_bm']['RSA']['2048b']=1544.3 +dict_ref['compute']['ssl_bm']['RSA']['4096b']=161.92 +dict_ref['compute']['ssl_bm']['AES']['16B']=735490250 +dict_ref['compute']['ssl_bm']['AES']['64B']=788429210 +dict_ref['compute']['ssl_bm']['AES']['256B']=803323650 +dict_ref['compute']['ssl_bm']['AES']['1024B']=808861020 +dict_ref['compute']['ssl_bm']['AES']['8192B']=807701160 + +dict_ref['compute']['ssl_vm']={}; +dict_ref['compute']['ssl_vm']['RSA']={}; +dict_ref['compute']['ssl_vm']['AES']={}; +dict_ref['compute']['ssl_vm']['RSA']['512b']=22148.9 +dict_ref['compute']['ssl_vm']['RSA']['1024b']=7931.44 +dict_ref['compute']['ssl_vm']['RSA']['2048b']=1544.3 +dict_ref['compute']['ssl_vm']['RSA']['4096b']=161.92 +dict_ref['compute']['ssl_vm']['AES']['16B']=735490250 +dict_ref['compute']['ssl_vm']['AES']['64B']=788429210 +dict_ref['compute']['ssl_vm']['AES']['256B']=803323650 +dict_ref['compute']['ssl_vm']['AES']['1024B']=808861020 +dict_ref['compute']['ssl_vm']['AES']['8192B']=807701160 + + +dict_ref['compute']['ramspeed_bm']={}; +dict_ref['compute']['ramspeed_bm']['INTmem']={}; +dict_ref['compute']['ramspeed_bm']['FLOATmem']={}; +dict_ref['compute']['ramspeed_bm']['INTmem']['Average (MB/s)']=11775.85 +dict_ref['compute']['ramspeed_bm']['FLOATmem']['Average (MB/s)']=9780.23 + +dict_ref['compute']['ramspeed_vm']={}; +dict_ref['compute']['ramspeed_vm']['INTmem']={}; +dict_ref['compute']['ramspeed_vm']['FLOATmem']={}; +dict_ref['compute']['ramspeed_vm']['INTmem']['Average (MB/s)']=11775.85 +dict_ref['compute']['ramspeed_vm']['FLOATmem']['Average (MB/s)']=9780.23 + dict_ref['storage']={}; -dict_ref['storage']['read']={}; -dict_ref['storage']['write']={}; -dict_ref['storage']['read']['IOPS']= 6995 -dict_ref['storage']['write']['IOPS']= 6990 +dict_ref['storage']['fio_bm']={}; +dict_ref['storage']['fio_bm']['read']={}; +dict_ref['storage']['fio_bm']['write']={}; +dict_ref['storage']['fio_bm']['read']['IOPS']=6693 +dict_ref['storage']['fio_bm']['write']['IOPS']=6688 -dict_ref['network']={}; -dict_ref['network']['iperf']={}; -dict_ref['network']['iperf']['throughput received(b/s)']=9973180000.0 +dict_ref['storage']['fio_vm']={}; +dict_ref['storage']['fio_vm']['read']={}; +dict_ref['storage']['fio_vm']['write']={}; +dict_ref['storage']['fio_vm']['read']['IOPS']=2239 +dict_ref['storage']['fio_vm']['write']['IOPS']=2237 +dict_ref['network']={}; +dict_ref['network']['iperf_bm']={}; +dict_ref['network']['iperf_vm']={}; +dict_ref['network']['iperf_vm_2']={}; +dict_ref['network']['iperf_bm']['throughput received(b/s)']=944473000.0 +dict_ref['network']['iperf_vm']['throughput received(b/s)']=14416700000.0 +dict_ref['network']['iperf_vm_2']['throughput received(b/s)']=2461530000.0 with open('reference.json', 'w+') as result_json: json.dump(dict_ref, result_json, indent=4, sort_keys=True) diff --git a/data/ref_results/index_calculation.py b/data/ref_results/index_calculation.py new file mode 100644 index 00000000..488ed867 --- /dev/null +++ b/data/ref_results/index_calculation.py @@ -0,0 +1,44 @@ +import json +from cinderclient.utils import arg +from result_accum import result_concat as concat +from cliff.tests.test_formatters_table import args + +def compute_index(total_measured,ref_result,count): + try: + average=float(total_measured/count) + + except ZeroDivisionError: + average=0 + + index=average/ref_result + return index + +def get_reference (*args): + + with open ('./reference.json') as reference_file: + reference_djson=json.load(reference_file) + temp=list(args) + for arg in args: + ref_n=reference_djson.get(str(arg)) + reference_djson=reference_djson.get(str(arg)) + + + return ref_n + +def generic_index(dict_gen,testcase,reference_num,*args): + c=len(args) + count=0 + total=0 + result=0 + for k,v in dict_gen.iteritems(): + dict_temp=dict_gen[k] + if dict_gen[k]['1 Testcase Name'] == str(testcase): + count=count+1 + for arg in args: + if arg == args[c-1]: + result=float(dict_temp.get(str(arg))) + dict_temp=dict_temp.get(str(arg)) + total=total+result + return compute_index(total, reference_num, count) + + \ No newline at end of file diff --git a/data/ref_results/network_benchmarks_indices.py b/data/ref_results/network_benchmarks_indices.py index f841a65f..b98269b6 100644 --- a/data/ref_results/network_benchmarks_indices.py +++ b/data/ref_results/network_benchmarks_indices.py @@ -1,28 +1,27 @@ -import os -import json +from index_calculation import generic_index as get_index +from index_calculation import get_reference from result_accum import result_concat as concat + def iperf_index (): - total_r=0 iperf_dict=concat('../../results/iperf/') - for k,v in iperf_dict.iteritems(): - for i,j in iperf_dict[k].iteritems(): - if i=="3 IPERF result": - for a,b in iperf_dict[k][i].iteritems(): - if a=="2. Bandwidth": - raw_num=iperf_dict[k][i][a]['2. throughput Received (b/s)'] - total_r=total_r+raw_num - - l= len(iperf_dict) + #print iperf_dict + iperf_bm_ref = get_reference('network','iperf_bm','throughput received(b/s)') + + iperf_bm_index= get_index(iperf_dict,'iperf_bm',iperf_bm_ref,'4 IPERF result', '2. Bandwidth','2. throughput Received (b/s)') + + iperf_vm_ref = get_reference('network','iperf_vm','throughput received(b/s)') + iperf_vm_index= get_index(iperf_dict,'iperf_vm',iperf_vm_ref,'4 IPERF result', '2. Bandwidth','2. throughput Received (b/s)') + + iperf_vm_2_ref = get_reference('network','iperf_vm_2','throughput received(b/s)') + iperf_vm_2_index= get_index(iperf_dict,'iperf_vm_2',iperf_vm_2_ref,'4 IPERF result', '2. Bandwidth','2. throughput Received (b/s)') + - with open ('./reference.json') as reference_file: - reference_djson=json.load(reference_file) - iperf_ref_r=reference_djson['network']['iperf']['throughput received(b/s)'] - - - iperf_index_r=float((total_r/l)/iperf_ref_r) + + iperf_index= float(iperf_bm_index+iperf_vm_index+iperf_vm_2_index)/3 + print iperf_index iperf_dict_i={}; - iperf_dict_i['1. Index']=iperf_index_r + iperf_dict_i['1. Index']=iperf_index iperf_dict_i['2. Results']=iperf_dict return iperf_dict_i - + diff --git a/data/ref_results/reference.json b/data/ref_results/reference.json index cd5f7e67..4ea53904 100644 --- a/data/ref_results/reference.json +++ b/data/ref_results/reference.json @@ -1,8 +1,24 @@ { "compute": { - "dhrystone": 3146.66, - "dpi": 8.12, - "ramspeed": { + "dhrystone_bm": { + "multi_cpu": 103362.1, + "single_cpu": 3231.7 + }, + "dhrystone_vm": { + "multi_cpu": 10585.8, + "single_cpu": 2953.6 + }, + "dpi_bm": 8.12, + "dpi_vm": 22.12, + "ramspeed_bm": { + "FLOATmem": { + "Average (MB/s)": 9780.23 + }, + "INTmem": { + "Average (MB/s)": 11775.85 + } + }, + "ramspeed_vm": { "FLOATmem": { "Average (MB/s)": 9780.23 }, @@ -10,7 +26,7 @@ "Average (MB/s)": 11775.85 } }, - "ssl": { + "ssl_bm": { "AES": { "1024B": 808861020, "16B": 735490250, @@ -25,19 +41,57 @@ "512b": 22148.9 } }, - "whetstone": 859.1 + "ssl_vm": { + "AES": { + "1024B": 808861020, + "16B": 735490250, + "256B": 803323650, + "64B": 788429210, + "8192B": 807701160 + }, + "RSA": { + "1024b": 7931.44, + "2048b": 1544.3, + "4096b": 161.92, + "512b": 22148.9 + } + }, + "whetstone_bm": { + "multi_cpu": 859.1, + "single_cpu": 859.1 + }, + "whetstone_vm": { + "multi_cpu": 859.0, + "single_cpu": 859.1 + } }, "network": { - "iperf": { - "throughput received(b/s)": 9973180000.0 + "iperf_bm": { + "throughput received(b/s)": 944473000.0 + }, + "iperf_vm": { + "throughput received(b/s)": 14416700000.0 + }, + "iperf_vm_2": { + "throughput received(b/s)": 2461530000.0 } }, "storage": { - "read": { - "IOPS": 6995 + "fio_bm": { + "read": { + "IOPS": 6693 + }, + "write": { + "IOPS": 6688 + } }, - "write": { - "IOPS": 6990 + "fio_vm": { + "read": { + "IOPS": 2239 + }, + "write": { + "IOPS": 2237 + } } } } \ No newline at end of file diff --git a/data/ref_results/storage_benchmarks_indices.py b/data/ref_results/storage_benchmarks_indices.py index 6114ad6b..db3890a0 100644 --- a/data/ref_results/storage_benchmarks_indices.py +++ b/data/ref_results/storage_benchmarks_indices.py @@ -1,35 +1,34 @@ -import os -import json +from index_calculation import generic_index as get_index +from index_calculation import get_reference from result_accum import result_concat as concat + def fio_index (): - total_r=0 - total_w=0 fio_dict=concat('../../results/fio/') - for k,v in fio_dict.iteritems(): - for i,j in fio_dict[k].iteritems(): - if i=="3 FIO result": - for a,b in fio_dict[k][i].iteritems(): - for c,d in fio_dict[k][i][a].iteritems(): - if c=='read': - raw_num=float(fio_dict[k][i][a][c]["IO/sec"]) - total_r=total_r+raw_num - elif c=='write': - raw_num=float(fio_dict[k][i][a][c]["IO/sec"]) - total_w=total_w+raw_num + #print _perf_dict + fio_r_bm_ref = get_reference('storage','fio_bm','read','IOPS') + fio_r_bm_index= get_index(fio_dict,'fio_bm',fio_r_bm_ref,'4 FIO result', 'Job_0','read','IO/sec') + + fio_w_bm_ref = get_reference('storage','fio_bm','write','IOPS') + fio_w_bm_index= get_index(fio_dict,'fio_bm',fio_w_bm_ref,'4 FIO result', 'Job_0','write','IO/sec') + + fio_bm_index= (fio_r_bm_index+fio_w_bm_index)/2 - l= len(fio_dict) - with open ('./reference.json') as reference_file: - reference_djson=json.load(reference_file) - fio_ref_r=reference_djson['storage']['read']['IOPS'] - fio_ref_w=reference_djson['storage']['write']['IOPS'] - fio_index_r=float((total_r/l)/fio_ref_r) - fio_index_w=float((total_w/l)/fio_ref_w) - fio_index=float((fio_index_r+fio_index_w)/2) + fio_r_vm_ref = get_reference('storage','fio_vm','read','IOPS') + fio_r_vm_index= get_index(fio_dict,'fio_vm',fio_r_vm_ref,'4 FIO result', 'Job_0','read','IO/sec') + + fio_w_vm_ref = get_reference('storage','fio_vm','write','IOPS') + fio_w_vm_index= get_index(fio_dict,'fio_vm',fio_w_vm_ref,'4 FIO result', 'Job_0','write','IO/sec') + + fio_vm_index= (fio_r_vm_index+fio_w_vm_index)/2 + + fio_index=(fio_bm_index+fio_vm_index)/2 + print fio_index + fio_dict_i={}; fio_dict_i['1. Index']=fio_index fio_dict_i['2. Results']=fio_dict return fio_dict_i - + -- cgit 1.2.3-korg