Changeset 1650:e53bd66d0178
- Timestamp:
- 06/09/08 14:54:03 (3 months ago)
- Author:
- hadoopsandholm@…
- Branch:
- default
- Message:
-
added initial rebidding and usage accounting features
- Location:
- src/grid/hadoop/bin
- Files:
-
Legend:
- Unmodified
- Added
- Removed
-
|
r1562
|
r1650
|
|
| 120 | 120 | exec "ppf=" + sys.argv[8] + "_ppf" |
| 121 | 121 | exec "err_ppf=" + sys.argv[9] + "_ppf" |
| 122 | | resource_factor = float(sys.argv[10]) |
| | 122 | spending_file = sys.argv[10] |
| | 123 | discount_spending = sys.argv[11] |
| 123 | 124 | log = open(".hadooptrace","w") |
| 124 | 125 | f = open(filename,'r') |
| 125 | 126 | price_list = [] |
| | 127 | |
| | 128 | discount_map = {} |
| | 129 | if discount_spending == "yes": |
| | 130 | try: |
| | 131 | spending = open(spending_file,'r') |
| | 132 | for line in spending: |
| | 133 | cols = line.split(' ') |
| | 134 | discount_map[cols[0]] = {'CPU':float(cols[1]),'memory':float(cols[2]),'disk':float(cols[3])} |
| | 135 | except: |
| | 136 | pass |
| 126 | 137 | |
| 127 | 138 | for line in f: |
| … |
… |
|
| 142 | 153 | price[resource] = {} |
| 143 | 154 | price[resource]['capacity'] = cols[start_index]-cols[start_index+1] |
| 144 | | price[resource]['moms'] = [[cols[start_index+3], cols[start_index+4]],[cols[start_index+5],cols[start_index+6]],[cols[start_index+7],cols[start_index+8]],[cols[start_index+9],cols[start_index+10]]] |
| | 155 | if discount_map.has_key(address): |
| | 156 | discount = discount_map[address][resource] |
| | 157 | else: |
| | 158 | discount = 0.0 |
| | 159 | price[resource]['moms'] = [[cols[start_index+3]-discount, cols[start_index+4]],[cols[start_index+5]-discount,cols[start_index+6]],[cols[start_index+7]-discount,cols[start_index+8]],[cols[start_index+9]-discount,cols[start_index+10]]] |
| 145 | 160 | if sys.argv[8] != "current": |
| 146 | 161 | price[resource]['predict'] = prediction_bound(confidence, guarantee, price[resource]['moms'], ppf, err_ppf) |
| … |
… |
|
| 148 | 163 | if cols[start_index+2] < 1e-20: |
| 149 | 164 | cols[start_index+2] = 1e-20 |
| 150 | | price[resource]['predict'] = cols[start_index+2] |
| | 165 | price[resource]['predict'] = cols[start_index+2]-discount |
| 151 | 166 | start_index = start_index + 11 |
| 152 | 167 | |
-
|
r1499
|
r1650
|
|
| 7 | 7 | IMAGE=$5 |
| 8 | 8 | |
| 9 | | |
| | 9 | MAXBID=`cat ${HADOOP_ROOT}/hadoop.conf | grep bid | awk '{print $2}'` |
| 10 | 10 | |
| 11 | 11 | IPBID= |
| … |
… |
|
| 42 | 42 | fi |
| 43 | 43 | |
| 44 | | echo tycoon -u ${USER} host create_account $HOST $BID $TIME $PREFS $IPBID file_system:http://tycoon.hpl.hp.com/~tycoon/dl/images/$IMAGE >>${HADOOP_ROOT}/.createtrace |
| 45 | | OUT=`tycoon -u ${USER} host create_account $HOST $BID $TIME $PREFS $IPBID file_system:http://tycoon.hpl.hp.com/~tycoon/dl/images/$IMAGE` |
| | 44 | echo tycoon -u ${USER} host create_account $HOST ${BID},${MAXBID} $TIME $PREFS $IPBID file_system:http://tycoon.hpl.hp.com/~tycoon/dl/images/$IMAGE >>${HADOOP_ROOT}/.createtrace |
| | 45 | OUT=`tycoon -u ${USER} host create_account $HOST ${BID},${MAXBID} $TIME $PREFS $IPBID file_system:http://tycoon.hpl.hp.com/~tycoon/dl/images/$IMAGE` |
| 46 | 46 | echo $OUT |
| 47 | 47 | echo $OUT | grep "Refunded" > /dev/null && exit 1 |
-
|
r1620
|
r1650
|
|
| 79 | 79 | done |
| 80 | 80 | |
| | 81 | cat ${HADOOP_ROOT}/.performance | python ${HADOOP_INSTALL}/bin/SpendingTracker.py ${HADOOP_ROOT} 60 > ${HADOOP_ROOT}/.spendingavg.hour |
| 81 | 82 | sleep 60 |
| 82 | 83 | MONITOR=`cat ${HADOOP_ROOT}/.monitor 2>/dev/null` |
-
|
r1629
|
r1650
|
|
| 57 | 57 | IP=`cat ${HADOOP_ROOT}/.hosts | grep ${HOST} | awk '{print $2}'` |
| 58 | 58 | |
| 59 | | echo -e "${IP} ${CPUVAL} ${CPUAVAIL} ${CPUSHARE} ${CPUSPEND} ${MEMVAL} ${MEMAVAIL} ${MEMSHARE} ${MEMSPEND} ${DISKVAL} ${DISKAVAIL} ${DISKSHARE} ${DISKSPEND}" |
| | 59 | echo -e "${IP} ${CPUVAL} ${CPUAVAIL} ${CPUSHARE} ${CPUSPEND} ${MEMVAL} ${MEMAVAIL} ${MEMSHARE} ${MEMSPEND} ${DISKVAL} ${DISKAVAIL} ${DISKSHARE} ${DISKSPEND} ${HOST}" |
| 60 | 60 | |
| 61 | 61 | rm -f ${HADOOP_ROOT}/.auctioneer_stat${HOST}.$$ |
-
|
r1427
|
r1650
|
|
| 8 | 8 | PPF=`cat ${HADOOP_ROOT}/hadoop.conf | grep ppf_model | awk '{print $2}'` |
| 9 | 9 | PPFERR=`cat ${HADOOP_ROOT}/hadoop.conf | grep ppf_err_model | awk '{print $2}'` |
| 10 | | RESOURCEFACT=`cat ${HADOOP_ROOT}/hadoop.conf | grep resource_factor | awk '{print $2}'` |
| | 10 | WINDOW=`cat ${HADOOP_ROOT}/hadoop.conf | grep prediction_window | awk '{print $2}'` |
| | 11 | DISCOUNT=`cat ${HADOOP_ROOT}/hadoop.conf | grep discount_spending | awk '{print $2}'` |
| 11 | 12 | |
| 12 | | python ${HADOOP_INSTALL}/bin/Predictor.py ${HADOOP_ROOT}/.stats $GUARANTEE $CONFIDENCE $CPULIMIT $MEMORYLIMIT $DISKLIMIT $TIME $PPF $PPFERR $RESOURCEFACT > ${HADOOP_ROOT}/.prices |
| | 13 | python ${HADOOP_INSTALL}/bin/Predictor.py ${HADOOP_ROOT}/.stats $GUARANTEE $CONFIDENCE $CPULIMIT $MEMORYLIMIT $DISKLIMIT $TIME $PPF $PPFERR ${HADOOP_ROOT}/.spendingavg.${WINDOW} $DISCOUNT > ${HADOOP_ROOT}/.prices |
-
|
r1480
|
r1650
|
|
| 2 | 2 | USER=`id -un` |
| 3 | 3 | SLAVES=`cat ${HADOOP_ROOT}/.hosts | awk '{print $1}'` |
| 4 | | #ip cpu_cap cpu_avail cpu_share cpu_spend mem_cap mem_avail mem_share mem_spend disk_cap disk_avail disk_share disk_spend |
| | 4 | #ip cpu_cap cpu_avail cpu_share cpu_spend mem_cap mem_avail mem_share mem_spend disk_cap disk_avail disk_share disk_spend host |
| 5 | 5 | tycoon_hadoop get-performance -h > ${HADOOP_ROOT}/.performance |
| 6 | 6 | CPU_CAP=`cat ${HADOOP_ROOT}/.performance | awk '{print $2}'` |
-
|
r1480
|
r1650
|
|
| 3 | 3 | vxargs.py -p -y -a ${HADOOP_ROOT}/.ips -o ${HADOOP_ROOT}/logs/command${MYPROC} ${HADOOP_INSTALL}/bin/nodeperformance {} >/dev/null |
| 4 | 4 | if [ "$1" != "-h" ]; then |
| 5 | | echo "ip cpu_cap cpu_avail cpu_share cpu_spend mem_cap mem_avail mem_share mem_spend disk_cap disk_avail disk_share disk_spend" |
| | 5 | echo "ip cpu_cap cpu_avail cpu_share cpu_spend mem_cap mem_avail mem_share mem_spend disk_cap disk_avail disk_share disk_spend host" |
| 6 | 6 | fi |
| 7 | 7 | |