[Swift-commit] r2749 - in usertools/cio: . falkon swift
noreply at svn.ci.uchicago.edu
noreply at svn.ci.uchicago.edu
Sat Mar 28 10:55:54 CDT 2009
Author: aespinosa
Date: 2009-03-28 10:55:52 -0500 (Sat, 28 Mar 2009)
New Revision: 2749
Added:
usertools/cio/falkon/
usertools/cio/falkon/falkon-start-bgp-ram-iptorus.sh-mosa
usertools/cio/falkon/run.worker-c-bgp-iptorus.sh-mosa
Modified:
usertools/cio/README
usertools/cio/swift/modswift.sh
Log:
Imported BGP Falkon CIO startup scripts
Modified: usertools/cio/README
===================================================================
--- usertools/cio/README 2009-03-27 21:14:45 UTC (rev 2748)
+++ usertools/cio/README 2009-03-28 15:55:52 UTC (rev 2749)
@@ -6,3 +6,5 @@
tools/
+falkon/* : Patched Falkon startup scripts to initiate CIO services
+
Added: usertools/cio/falkon/falkon-start-bgp-ram-iptorus.sh-mosa
===================================================================
--- usertools/cio/falkon/falkon-start-bgp-ram-iptorus.sh-mosa (rev 0)
+++ usertools/cio/falkon/falkon-start-bgp-ram-iptorus.sh-mosa 2009-03-28 15:55:52 UTC (rev 2749)
@@ -0,0 +1,152 @@
+#!/bin/bash
+
+
+ if [ -z "$3" ]; then
+ echo "usage: $0 <QueueName> <NumNodes> <MaxTimeMin>"
+ echo "usage: $0 prod 1024 60"
+ echo "-- or --"
+ echo "usage: $0 <QueueName> <NumNodes> <MaxTimeMin> <WorkersPerNode> <DataCNs> <Stripe_size>"
+ echo "usage: $0 prod 1024 60 4 1 1"
+ exit 1
+ fi
+
+
+if [ -z "${FALKON_HOME}" ]; then
+ echo "ERROR: environment variable FALKON_HOME not defined"
+ exit 1
+fi
+
+
+QUEUE_NAME=$1
+#PROFILE_NAME="iskra-mpich"
+PROFILE_NAME="zeptocn"
+#PROFILE_NAME="zeptocn-exp"
+NUM_NODES=$2
+let NUM_ION=NUM_NODES/64
+MAX_TIME_MIN=$3
+SERVICE_IP="192.168.1.254"
+SERVICE_PORT1=55000
+SERVICE_PORT2=55001
+WORKERS_PER_NODE=4
+DATA_NUM=1
+STR=1
+if [ ! -z $4 ];then
+ WORKERS_PER_NODE=$4
+fi
+if [ ! -z $5 ];then
+ DATA_NUM=$5
+fi
+if [ ! -z $6 ];then
+ STR=$6
+fi
+
+
+cp ${FALKON_HOME}/bin/zoid-user-script.sh ${HOME}/zoid-user-script.sh
+chmod +x ${HOME}/zoid-user-script.sh
+
+FALKON_JOB_ID=`falkon-id-get.sh N/A`
+EXIT_CODE=$?
+
+
+ if [ "${EXIT_CODE}" -ne "0" ]; then
+ echo "Error in geting a unique falkon ID.. 'falkon-get-id.sh N/A'"
+ cqdel ${ZOID_JOB_ID}
+ exit ${EXIT_CODE}
+ fi
+
+
+
+ZOID_JOB_ID=`cqsub -q ${QUEUE_NAME} -k ${PROFILE_NAME} -C ${HOME} -t ${MAX_TIME_MIN} -n ${NUM_NODES} -e LD_LIBRARY_PATH=/lib:/fuse/lib:/fuse/usr/lib /bgsys/linux/1.2.020080512/bin/bash /fuse/gpfs/home/espinosa/experiments/falkon/run.worker-c-bgp-iptorus.sh-mosa ${SERVICE_IP} ${SERVICE_PORT1} ${SERVICE_PORT2} ${WORKERS_PER_NODE} ${USER} ${FALKON_JOB_ID} ${FALKON_ROOT} ${NUM_NODES} ${DATA_NUM} ${STR}`
+
+EXIT_CODE=$?
+
+ if [ "${EXIT_CODE}" -ne "0" ]; then
+ echo "Error in submitting job to Cobalt.. 'cqsub -q ${QUEUE_NAME} -k ${PROFILE_NAME} -C ${HOME} -t ${MAX_TIME_MIN} -n ${NUM_NODES} -e LD_LIBRARY_PATH=/lib:/fuse/lib:/fuse/usr/lib /bgsys/linux/1.2.020080512/bin/bash /fuse/${FALKON_WORKER_HOME}/run.worker-c-bgp.sh-mosa ${SERVICE_IP} ${SERVICE_PORT1} ${SERVICE_PORT2} ${WORKERS_PER_NODE} ${USER} ${FALKON_JOB_ID} ${FALKON_ROOT}' "
+ exit ${EXIT_CODE}
+ fi
+
+falkon-id-update.sh ${FALKON_JOB_ID} ${ZOID_JOB_ID}
+
+EXIT_CODE=$?
+
+ if [ "${EXIT_CODE}" -ne "0" ]; then
+ echo "Error in updating cobalt job info for falkon.. 'falkon-update-id.sh ${ZOID_JOB_ID}'"
+ cqdel ${ZOID_JOB_ID}
+ exit ${EXIT_CODE}
+ fi
+
+
+FALKON_JOBID_HOME=${FALKON_ROOT}/users/${USER}/${FALKON_JOB_ID}
+
+echo "Submitted job ${ZOID_JOB_ID} to Cobalt, creating the job specific Falkon tree for logs and configuration in ${FALKON_JOBID_HOME}..."
+
+mkdir -p ${FALKON_JOBID_HOME}
+
+cp ${FALKON_HOME}/falkon.env.bgp* ${FALKON_JOBID_HOME}/
+cp -r ${FALKON_HOME}/config ${FALKON_JOBID_HOME}/
+cp ${FALKON_JOBID_HOME}/config/Client-service-URIs.config2 ${FALKON_JOBID_HOME}/config/Client-service-URIs.config
+mkdir -p ${FALKON_JOBID_HOME}/logs/client ${FALKON_JOBID_HOME}/logs/service ${FALKON_JOBID_HOME}/logs/provisioner ${FALKON_JOBID_HOME}/logs/worker
+
+
+DATE=`date +%s`
+echo "$DATE: pre-creating log dirs for Falkon service..."
+RACK_START=0
+RACK_END=48
+SEQUENCE_DIR=`seq -w ${RACK_START} ${RACK_END}`
+PSET_START=1
+PSET_END=16
+for a in ${SEQUENCE_DIR}
+do
+ for ((b=${PSET_START}; b <= ${PSET_END} ; b++)) # Double parentheses, and "LIMIT" with no "$".
+ do
+ DIR_NAME="ion-R${a}-${b}"
+ mkdir -p ${FALKON_JOBID_HOME}/logs/service/$DIR_NAME
+ done
+done
+
+for ((b=${PSET_START}; b <= ${PSET_END} ; b++)) # Double parentheses, and "LIMIT" with no "$".
+do
+ DIR_NAME="ion-${b}"
+ mkdir -p ${FALKON_JOBID_HOME}/logs/service/$DIR_NAME
+done
+
+
+DATE=`date +%s`
+echo "$DATE: done creating log dirs for Falkon service!"
+
+
+
+FALKON_HOME_RAM=/tmp/${USER}/falkon
+
+ln -s ${FALKON_HOME}/apps ${FALKON_JOBID_HOME}/apps
+ln -s ${FALKON_HOME_RAM}/container ${FALKON_JOBID_HOME}/container
+ln -s ${FALKON_HOME}/service ${FALKON_JOBID_HOME}/service
+ln -s ${FALKON_HOME}/worker ${FALKON_JOBID_HOME}/worker
+ln -s ${FALKON_HOME}/AstroPortal ${FALKON_JOBID_HOME}/AstroPortal
+ln -s ${FALKON_HOME}/client ${FALKON_JOBID_HOME}/client
+ln -s ${FALKON_HOME}/monitor ${FALKON_JOBID_HOME}/monitor
+ln -s ${FALKON_HOME}/bin ${FALKON_JOBID_HOME}/bin
+ln -s ${FALKON_HOME}/config ${FALKON_JOBID_HOME}/config
+ln -s ${FALKON_HOME}/ploticus ${FALKON_JOBID_HOME}/ploticus
+ln -s ${FALKON_HOME}/webserver ${FALKON_JOBID_HOME}/webserver
+ln -s ${FALKON_HOME}/workloads ${FALKON_JOBID_HOME}/workloads
+ln -s ${FALKON_HOME}/id ${FALKON_JOBID_HOME}/id
+ln -s ${FALKON_HOME}/apache-ant-1.7.0 ${FALKON_JOBID_HOME}/apache-ant-1.7.0
+ln -s ${FALKON_HOME}/ibm-java2-ppc64-50 ${FALKON_JOBID_HOME}/ibm-java2-ppc64-50
+ln -s ${FALKON_HOME_RAM}/ibm-java2-ppc-50 ${FALKON_JOBID_HOME}/ibm-java2-ppc-50
+ln -s ${FALKON_HOME}/falkon.tgz ${FALKON_JOBID_HOME}/falkon.tgz
+
+
+if [ ! -d "${FALKON_JOBID_HOME}" ]; then
+ echo "ERROR: invalid path ${FALKON_JOBID_HOME}... exiting"
+ cqdel ${ZOID_JOB_ID}
+ exit 1
+fi
+
+echo "Succesfully submitted the job to Cobalt, and setup job specific Falkon tree!"
+echo "To monitor the job status, type 'cqstat | grep ${USER}'; once it is in running state, you can use the Falkon specific command ...."
+echo "To submit your Falkon-based workload, type: ....; you can do this any time, the falkon workload will wait for the resources to come online, and will only be submitted when everything is ready; the script is run in the background, so the workload will run even if the ssh session gets disconnected."
+echo ""
+echo "Remember, your job id is ${ZOID_JOB_ID}, and if you need to look through the logs manually for anything, remember that you can find them at ${HOME}/${ZOID_JOB_ID}.output, ${HOME}/${ZOID_JOB_ID}.error, and ${FALKON_JOBID_HOME}/logs/..."
+
+
Property changes on: usertools/cio/falkon/falkon-start-bgp-ram-iptorus.sh-mosa
___________________________________________________________________
Name: svn:executable
+ *
Added: usertools/cio/falkon/run.worker-c-bgp-iptorus.sh-mosa
===================================================================
--- usertools/cio/falkon/run.worker-c-bgp-iptorus.sh-mosa (rev 0)
+++ usertools/cio/falkon/run.worker-c-bgp-iptorus.sh-mosa 2009-03-28 15:55:52 UTC (rev 2749)
@@ -0,0 +1,152 @@
+#!/fuse/bin/bash
+
+#ERROR_LOG=${FALKON_ROOT_PATH}/users/error.log
+#ERROR_LOG=/home/falkon/users/error-workers.log
+ERROR_LOG=/dev/null
+#ERROR_LOG=/logfile
+
+if [ -z "$8" ]; then
+ echo "usage: $0 <FALKON_IP> <TCPCORE_PORT1> <TCPCORE_PORT2> <NUM_WORKERS> <USER_ID> <FALKON_JOB_ID> <FALKON_ROOT_PATH> <PART_SIZE> <DATA_NUM> <STRIPE_SIZE"
+ echo "usage: $0 <FALKON_IP> <TCPCORE_PORT1> <TCPCORE_PORT2> <NUM_WORKERS> <USER_ID> <FALKON_JOB_ID> <FALKON_ROOT_PATH> <PART_SIZE> <DATA_NUM> <STRIPE_SIZE>" >> ${ERROR_LOG}
+ echo "$0 192.168.1.254 55000 55001 4 iraicu 0001 [FALKON_ROOT] 1024 1 1"
+ echo "$0 192.168.1.254 55000 55001 4 iraicu 0001 [FALKON_R00T] 1024 1 1" >> ${ERROR_LOG}
+ exit 2
+fi
+
+# Initiate the IP stack of the Torus network
+# -aespinosa
+
+/home/espinosa/bin/cn-ipfwd &
+
+while [ ! -f /tmp/ifconfig.cmd ]; do
+ sleep 1
+done
+
+. /tmp/ifconfig.cmd
+
+#source /home/iraicu/.bashrc
+
+IO_RANK=`/home/espinosa/bin/iorank`
+BG_RANK=`/home/espinosa/bin/rank`
+PSET=`/home/espinosa/bin/pset`
+
+# size of the allocated partition. also known as the total number of CNs
+PART_SIZE=$8
+# number of data CNs in partition
+DATA_NUM=$9
+STR=${10}
+
+ROLE=`/home/espinosa/bin/isdata $PART_SIZE $DATA_NUM $STR`
+ISDATA=$ROLE
+tmp=`/home/espinosa/bin/getdata $PART_SIZE $DATA_NUM $STR`
+DATACN=`/fuse/gpfs/home/espinosa/bin/ipcal 10.128.0.0 $tmp`
+
+if [ "$ISDATA" != 'app' ]
+then
+ if [ "$ROLE" = 'head' ]
+ then
+# if [ $STR -eq 1 ]
+# then
+# echo "[ $BG_RANK@$IO_RANK-$PSET ] Starting Chirp server..." >&2
+# /home/espinosa/experiments/util/startchirp.sh >&2
+# else
+ echo "[ $BG_RANK@$IO_RANK-$PSET ] Starting Mosa Benefactor managed by $DATACN" >&2
+ echo "[ $BG_RANK@$IO_RANK-$PSET ] Starting Mosa Manager across $STR CNs" >&2
+ /home/espinosa/experiments/util/startchirp-wmosa.sh $DATACN $STR >&2
+# fi
+ else
+ echo "[ $BG_RANK@$IO_RANK-$PSET ] Starting Mosa Benefactor managed by $DATACN" >&2
+ /home/espinosa/experiments/util/benefactor.sh $DATACN >&2
+ fi
+else
+ echo "[ $BG_RANK@$IO_RANK-$PSET ] Mounting Mosa data CN filesystem from $DATACN" >&2
+ /bin/mkdir /dataifs
+ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/fuse/lib:/usr/lib
+ sleep 30
+ /home/espinosa/experiments/util/mosamount.sh $DATACN >&2
+
+ echo "worker started..." >> ${ERROR_LOG}
+
+ FALKON_SERVICE_IP=$1
+ TCPCORE_PORT1=$2
+ TCPCORE_PORT2=$3
+ NUM_WORKERS=$4
+ USER_ID=$5
+ FALKON_JOB_ID=$6
+ FALKON_ROOT_PATH=$7
+
+
+ ln -s /fuse/gpfs1 /gpfs1
+ #FALKON_HOME=/gpfs1/falkon/falkon
+ #HOME=/gpfs1/falkon
+
+
+
+ #echo "Worker for job id ${ZOID_JOB_ID} starting..." >> ${ERROR_LOG}
+
+ FALKON_HOME=${FALKON_ROOT_PATH}/users/${USER_ID}/${FALKON_JOB_ID}
+
+ echo "FALKON_HOME = ${FALKON_HOME}" >> ${ERROR_LOG}
+
+ #FALKON_HOME=/home/falkon/falkon
+
+ HOME=${FALKON_ROOT_PATH}
+ echo "HOME = ${HOME}" >> ${ERROR_LOG}
+ #HOME=${FALKON_HOME}
+
+ if [ -z "${FALKON_HOME}" ]; then
+ echo "ERROR: environment variable FALKON_HOME not defined"
+ echo "ERROR: environment variable FALKON_HOME not defined" >> ${ERROR_LOG}
+ exit 1
+ fi
+
+ if [ ! -d "${FALKON_HOME}" ]; then
+ echo "ERROR: invalid FALKON_HOME set: $FALKON_HOME"
+ echo "ERROR: invalid FALKON_HOME set: $FALKON_HOME" >> ${ERROR_LOG}
+ exit 1
+ fi
+
+ cd ${FALKON_HOME}
+ source falkon.env.bgp-cn
+
+
+
+ HOME_PATH=`pwd`
+ export MACH_ID=`uname -i`
+ RAND_ID2=`/home/espinosa/bin/rank`
+
+ a0=${RAND_ID2%%=*}; rest=${RAND_ID2#*=}
+ RAND_ID=${rest%%=*};
+
+ #PLATFORM=`uname -m`
+
+
+
+ EXP_START=`date +%Y.%m.%d_%H.%M.%S`
+
+
+ for ((b=1; b < ${NUM_WORKERS} ; b++))
+ do
+ #LOG_FILE=${FALKON_LOGS}/worker/${RAND_ID}.${b}.${EXP_START}.txt
+ LOG_FILE=/dev/null
+
+ #${FALKON_WORKER_HOME}/src-c/BGexec_${PLATFORM} ${FALKON_SERVICE_IP} ${TCPCORE_PORT1} ${TCPCORE_PORT2} -perf >> "${LOG_FILE}" 2>&1 &
+ #echo "starting .... ${FALKON_WORKER_HOME}/src-c/BGexec ${FALKON_SERVICE_IP} ${TCPCORE_PORT1} ${TCPCORE_PORT2} -perf"
+ echo "starting worker ${RAND_ID} CPU ${b}..." >> ${ERROR_LOG}
+ ${FALKON_WORKER_HOME}/src-c/BGexec ${FALKON_SERVICE_IP} ${TCPCORE_PORT1} ${TCPCORE_PORT2} -perf >> ${LOG_FILE} 2>&1 &
+ #${HOME_PATH}/src-c/BGexec_${PLATFORM} ${FALKON_SERVICE_IP} 55000 55001 -debug
+ /bin/sleep 1
+ done
+
+ #LOG_FILE=${FALKON_LOGS}/worker/${RAND_ID}.${NUM_WORKERS}.${EXP_START}.txt
+ LOG_FILE=/dev/null
+ echo "starting worker ${RAND_ID} CPU ${NUM_WORKERS}..." >> ${ERROR_LOG}
+
+ #${FALKON_WORKER_HOME}/src-c/BGexec_${PLATFORM} ${FALKON_SERVICE_IP} ${TCPCORE_PORT1} ${TCPCORE_PORT2} -perf >> "${LOG_FILE}" 2>&1
+ #echo "starting .... ${FALKON_WORKER_HOME}/src-c/BGexec ${FALKON_SERVICE_IP} ${TCPCORE_PORT1} ${TCPCORE_PORT2} -perf"
+
+ ${FALKON_WORKER_HOME}/src-c/BGexec ${FALKON_SERVICE_IP} ${TCPCORE_PORT1} ${TCPCORE_PORT2} -perf >> ${LOG_FILE} 2>&1
+
+
+ echo "finished!" >> ${ERROR_LOG}
+fi
Property changes on: usertools/cio/falkon/run.worker-c-bgp-iptorus.sh-mosa
___________________________________________________________________
Name: svn:executable
+ *
Modified: usertools/cio/swift/modswift.sh
===================================================================
--- usertools/cio/swift/modswift.sh 2009-03-27 21:14:45 UTC (rev 2748)
+++ usertools/cio/swift/modswift.sh 2009-03-28 15:55:52 UTC (rev 2749)
@@ -2,3 +2,15 @@
# this script should copy all the mods below this dir into the right place in th swift source tree.
+COGDIR=src/cogkit
+SWIFTDIR=$COGDIR/modules/swift
+
+if [ ! -f $SWIFTDIR/libexec/wrapper.sh.vanilla ]; then
+ mv $SWIFTDIR/libexec/wrapper.sh $SWIFTDIR/libexec/wrapper.sh.vanilla
+fi
+cp -v libexec/wrapper.sh $SWIFTDIR/libexec/wrapper.sh
+
+if [ ! -f $SWIFTDIR/libexec/vdl-int.k.vanilla ]; then
+ mv $SWIFTDIR/libexec/vdl-int.k $SWIFTDIR/libexec/vdl-int.k.vanilla
+fi
+cp -v libexec/vdl-int.k $SWIFTDIR/libexec/vdl-int.k
More information about the Swift-commit
mailing list