1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00

Added socket node and changed settings of loopback and shmem node.

This commit is contained in:
Dennis Potter 2018-10-23 00:11:28 +02:00
parent 6d2dfee6a3
commit b0179df6d1
5 changed files with 122 additions and 66 deletions

View file

@ -1,5 +1,6 @@
source_node = {
type = "loopback",
queuelen = 8192,
samplelen = ${NUM_VALUE},
mode = "polling"
}

View file

@ -8,27 +8,30 @@ source_node = {
signals = {
count = ${NUM_VALUE},
type = "float"
}
name = "/shmem_node",
},
out = {
name = "/shmem_node"
},
}
target_node = {
type = "shmem",
in = {
signals = {
count = ${NUM_VALUE},
type = "float"
}
name = "/shmem_node",
},
name = "/shmem_node_2"
},
out = {
name = "/shmem_node"
}
},
target_node = {
type = "shmem",
queuelen = 8192,
polling = true,
vectorize = 1,
in = {
signals = {
count = ${NUM_VALUE},
type = "float"
},
name = "/shmem_node"
},
out = {
name = "/shmem_node_2"
}
}

View file

@ -0,0 +1,36 @@
source_node = {
type = "socket",
builtin = false,
layer = "udp",
format = "csv",
in = {
address = "127.0.0.1:12000"
},
out = {
address = "127.0.0.1:12001"
}
},
target_node = {
type = "socket",
builtin = false,
layer = "udp",
format = "csv",
in = {
signals = {
count = ${NUM_VALUE},
type = "float"
},
address = "127.0.0.1:12001"
},
out = {
address = "127.0.0.1:12000"
}
}

View file

@ -27,7 +27,7 @@
# ${NUM_VALUES}, ${RATE_SAMPLES}, and ${IB_MODES} may be a list.
NUM_VALUES=(1)
NUM_VALUES=(8)
RATE_SAMPLES=(10)
TIME_TO_RUN=5
IB_MODES=("RC")
@ -114,46 +114,12 @@ echo ${CONFIG_FILES[1]}
for NODETYPE in "${NODETYPES[@]}"
do
######################################
# SPECIAL CASES FOR SOME NODES #######
######################################
# Some nodes require special treatment:
# * loopback node: target_node is identical to source_node
# * infiniband node: one node must be executed in a namespace
# loopback
if [ "${NODETYPE}" == "loopback" ]; then
TARGET_NODE='source_node'
else
TARGET_NODE='target_node'
fi
# infiniband
if [ "${NODETYPE}" == "infiniband" ]; then
NAMESPACE_CMD='ip netns exec namespace0'
else
NAMESPACE_CMD=''
fi
######################################
# CREATE PATH CONFIG FILES ###########
######################################
# Set target and source config file, which is the same for both runs
cat > ${CONFIG_TARGET} <<EOF
@include "${CONFIG//\/tmp\/}"
paths = (
{
in = "${TARGET_NODE}",
out = "results_out",
original_sequence_no = true
}
)
EOF
cat > ${CONFIG_SOURCE} <<EOF
@include "${CONFIG//\/tmp\/}"
@ -165,6 +131,54 @@ paths = (
)
EOF
cat > ${CONFIG_TARGET} <<EOF
@include "${CONFIG//\/tmp\/}"
paths = (
{
in = "target_node",
out = "results_out",
original_sequence_no = true
}
)
EOF
######################################
# SPECIAL TREATMENT FOR SOME NODES ###
######################################
# Some nodes require special treatment:
# * loopback node: target_node is identical to source_node
# * infiniband node: one node must be executed in a namespace
# loopback
if [ "${NODETYPE}" == "loopback" ]; then
cat > ${CONFIG_TARGET} <<EOF
@include "${CONFIG//\/tmp\/}"
paths = (
{
in = "siggen",
out = ("source_node", "results_in"),
},
{
in = "source_node",
out = "results_out",
original_sequence_no = true
}
)
EOF
fi
# infiniband
if [ "${NODETYPE}" == "infiniband" ]; then
NAMESPACE_CMD='ip netns exec namespace0'
else
NAMESPACE_CMD=''
fi
######################################
# RUN THROUGH MODES ##################
######################################
@ -237,19 +251,21 @@ cat >> ${CONFIG} <<EOF
}
EOF
# Start receiving node
VILLAS_LOG_PREFIX=$(colorize "[Target Node] ") \
cset proc --set=real-time-0 --exec ../../build/src/villas-node -- ${CONFIG_TARGET} &
target_node_proc=$!
# Wait for node to complete init
sleep 2
# Start sending pipe
VILLAS_LOG_PREFIX=$(colorize "[Source Node] ") \
${NAMESPACE_CMD} cset proc --set=real-time-1 --exec ../../build/src/villas-node -- ${CONFIG_SOURCE} &
source_node_proc=$!
# Start receiving node
VILLAS_LOG_PREFIX=$(colorize "[Target Node] ") \
cset proc --set=real-time-0 --exec ../../build/src/villas-node -- ${CONFIG_TARGET} &
target_node_proc=$!
# Wait for node to complete init
sleep 2
if [ ! "${NODETYPE}" == "loopback" ]; then
# Start sending pipe
VILLAS_LOG_PREFIX=$(colorize "[Source Node] ") \
${NAMESPACE_CMD} cset proc --set=real-time-1 --exec ../../build/src/villas-node -- ${CONFIG_SOURCE} &
source_node_proc=$!
fi
sleep $((${TIME_TO_RUN} + 5))
# Stop node
@ -258,7 +274,7 @@ EOF
sleep 1
echo "########################################################"
echo "## STOP $IB_MODE"-${NUM_VALUE}-${RATE_SAMPLE}-${NUM_SAMPLE}
echo "## STOP ${IB_MODE}-${NUM_VALUE}-${RATE_SAMPLE}-${NUM_SAMPLE}"
echo "########################################################"
echo ""