Dark Silicon Web Based Model, version 0.1


Based on models described in:
Dark Silicon and the End of Multicore Scaling
Hadi Esmaeilzadeh, Emily Blem, Renee St. Amant, Karu Sankaralingam, and Doug Burger
ISCA 2011, IEEE Top Picks 2012
Interactive tool is still under development. Upcoming features include: If you would like a copy of the source code, have technical questions/difficulties, or have suggestions, please email blem@cs.wisc.edu.



Select input parameters from list below:
Technology Scaling:   Conservative   ITRS
Multicore Topology:         Symmetric   Asymmetric   Dynamic   Fused
Core style:                           CPU-like   GPU-like
Benchmark:                    
If you picked "Arbitrary" above, give benchmark parameters here:
     Fraction of code that can parallelized (f_parallel): 
     Fraction of instructions that are loads or stores (r_ls):
     L1 cache miss rate (m_L1):
     L2 cache miss rate (m_L2):  
Notes:
All values should be in the range [0,1].
Support for this feature is under development; for now, functions for m_L1 and m_L2 are not supported.



1){ echo "

ERROR: f_parallel must be between 0 and 1

"; $success = 0; } if(is_null($rls) || !is_numeric($rls) || $rls <0 || $rls > 1){ echo "

ERROR: r_ls must be between 0 and 1

"; $success = 0; } if(is_null($mL1) || !is_numeric($mL1) || $mL1 <=0 || $mL1 >= 1){ echo "

ERROR: m_l1 must be between 0 and 1

"; $success = 0; } if(is_null($mL2) || !is_numeric($mL2) || $mL2 <0 || $mL2 > 1){ echo "

ERROR: m_l2 must be between 0 and 1

"; $success = 0; } # TODO: generate inputs to plug into model if($success==1){ # put chars into a file $fp = fopen($dir."/temp/chars.txt","w"); fwrite($fp, $rls."\n"); fwrite($fp, $mL1."\n"); fwrite($fp, $mL2."\n"); fwrite($fp, "0\n"); fwrite($fp, "0\n"); fwrite($fp, $fparallel."\n"); fclose($fp); # echo "java -classpath /u/b/l/blem/public/html/web_model/model complete_model_arb_findCPI sym v CPU ITRS 20 0 125 ".$benchmark." > /u/b/l/blem/public/html/web_model/gen_ipc.txt"; echo exec("java -classpath ".$dir."model complete_model_arb_findCPI sym v CPU ITRS 20 0 125 ".$benchmark." ".$dir." > ".$dir."/temp/gen_ipc.txt", $output, $return); # echo "java -classpath /u/b/l/blem/public/html/web_model/model complete_model_arb ".$top." v ".$core." ".$scaling." 20 0 125 ".$benchmark." > /u/b/l/blem/public/html/web_model/temp.txt"; echo exec("java -classpath ".$dir."model complete_model_arb ".$top." v ".$core." ".$scaling." 20 0 125 ".$benchmark." ".$dir." > ".$dir."/temp/output.txt", $output, $return); } }else{ if(!is_null($fparallel) || !is_null($rls) || !is_null($mL1) || !is_null($mL2)){ echo "

Warning: pre-defined benchmark chosen; text box inputs ignored


"; } echo exec("java -classpath ".$dir."model complete_model_allconfigs ".$top." v ".$core." ".$scaling." 20 0 125 ".$benchmark." ".$dir." > ".$dir."/temp/output.txt", $output, $return); } #echo "java -classpath /u/b/l/blem/public/html/web_model/model complete_model_allconfigs ".$top." v ".$core." ".$scaling." 20 0 125 ".$benchmark."
"; if($success==1){ echo exec("python ".$dir."graph/generate_graphs.py ".$dir, $output, $return); ?>

Input parameters:
Technology scaling:
Multicore topology:    
Core Style:
Benchmark:
    f_parallel:    
    r_ls:
    m_L1:
    m_L2:


Projected results:

ALT="projected speedup" TITLE = "Speedup"> ALT="projected number of cores" TITLE = "Cores"> ALT="projected amount of dark silicon" TITLE = "Dark Silicon">
"; } } #"; //echo exec('whoami'); #} #?>