Fixed the index calculation for QTIP compute, network and storage suites 63/8863/2
authorNauman_Ahad <nauman_ahad@xflowresearch.com>
Mon, 1 Feb 2016 12:03:50 +0000 (17:03 +0500)
committerNauman_Ahad <nauman_ahad@xflowresearch.com>
Mon, 1 Feb 2016 12:11:14 +0000 (17:11 +0500)
Earlier inaccurate index calculation updated.
Now indices take into account vm and bm cases

Change-Id: Icf2d7fc17ef765f5c0611b5371d57410ba155cb6
Signed-off-by: Nauman_Ahad <nauman_ahad@xflowresearch.com>
data/ref_results/.reference.json.swp [deleted file]
data/ref_results/compute_benchmarks_indices.py
data/ref_results/compute_suite.py
data/ref_results/generator_ref_json.py
data/ref_results/index_calculation.py [new file with mode: 0644]
data/ref_results/network_benchmarks_indices.py
data/ref_results/reference.json
data/ref_results/storage_benchmarks_indices.py

diff --git a/data/ref_results/.reference.json.swp b/data/ref_results/.reference.json.swp
deleted file mode 100644 (file)
index 45891cd..0000000
Binary files a/data/ref_results/.reference.json.swp and /dev/null differ
index 1e6922e..51f6c41 100644 (file)
@@ -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
-
-  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    
index ce7f33c..86e8a87 100644 (file)
@@ -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
 
index a82dbc5..db39665 100644 (file)
@@ -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 (file)
index 0000000..488ed86
--- /dev/null
@@ -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
index f841a65..b98269b 100644 (file)
@@ -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
-
+    
index cd5f7e6..4ea5390 100644 (file)
@@ -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, 
                 "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
index 6114ad6..db3890a 100644 (file)
@@ -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
-
+