[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