From bdae7ed326131282ae8ddd1f6d835bb04f9f4eec Mon Sep 17 00:00:00 2001 From: gongweibao Date: Mon, 18 Jan 2021 17:19:00 +0800 Subject: [PATCH] Fix potential port conflicts. (#30508) Fix potential port conflicts --- python/paddle/fluid/tests/unittests/CMakeLists.txt | 7 +++++-- .../paddle/fluid/tests/unittests/test_fleet_launch_ps.sh | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/python/paddle/fluid/tests/unittests/CMakeLists.txt b/python/paddle/fluid/tests/unittests/CMakeLists.txt index 5af27ed047e..0d4d3f1ade4 100644 --- a/python/paddle/fluid/tests/unittests/CMakeLists.txt +++ b/python/paddle/fluid/tests/unittests/CMakeLists.txt @@ -516,7 +516,6 @@ if(WITH_DISTRIBUTE) py_test_modules(test_launch_coverage MODULES test_launch_coverage) endif() - bash_test_modules(test_fleet_launch_ps START_BASH test_fleet_launch_ps.sh ENVS PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR}) bash_test_modules(test_fleetrun START_BASH test_fleetrun.sh ENVS PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR}) bash_test_modules(test_fleet_run_random_port START_BASH test_fleet_run_random_port.sh ENVS PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR}) bash_test_modules(test_fleet_launch_async START_BASH test_fleet_launch_async.sh ENVS PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR}) @@ -527,8 +526,12 @@ if(WITH_DISTRIBUTE) set(dist_ut_port 20001) foreach(TEST_OP ${DIST_TEST_OPS}) bash_test_modules(${TEST_OP} START_BASH dist_test.sh SERIAL LABELS "RUN_TYPE=EXCLUSIVE" ENVS "PADDLE_DIST_UT_PORT=${dist_ut_port}") - MATH(EXPR dist_ut_port "${dist_ut_port}+50") + MATH(EXPR dist_ut_port "${dist_ut_port}+40") + if(dist_ut_port GREATER_EQUAL 22998) + message(FATAL_ERROR "available ports have been exhausted:${dist_ut_port}") + endif() endforeach(TEST_OP) + bash_test_modules(test_fleet_launch_ps START_BASH test_fleet_launch_ps.sh SERIAL LABELS "RUN_TYPE=EXCLUSIVE" ENVS "PADDLE_DIST_UT_PORT=${dist_ut_port}" PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR} ) endif(NOT APPLE) endif() diff --git a/python/paddle/fluid/tests/unittests/test_fleet_launch_ps.sh b/python/paddle/fluid/tests/unittests/test_fleet_launch_ps.sh index 892a2420377..88822deaccf 100644 --- a/python/paddle/fluid/tests/unittests/test_fleet_launch_ps.sh +++ b/python/paddle/fluid/tests/unittests/test_fleet_launch_ps.sh @@ -17,6 +17,9 @@ set -e function test_launch_ps(){ + server_port_0=${PADDLE_DIST_UT_PORT} + server_port_1=$(( PADDLE_DIST_UT_PORT + 1 )) + echo "server_port_0:${server_port_0} server_port_1=${server_port_1}" python -m paddle.distributed.fleet.launch --server_num=2 --worker_num=2 fleet_ps_training.py 2> ut.elog if grep -q "server are killed" ut.elog; then echo "test pserver launch succeed" @@ -25,7 +28,7 @@ function test_launch_ps(){ exit -1 fi - python -m paddle.distributed.fleet.launch --servers="127.0.0.1:6780,127.0.0.1:6781" --workers="127.0.0.1:6782,127.0.0.1:6783" fleet_ps_training.py 2> ut.elog + python -m paddle.distributed.fleet.launch --servers="127.0.0.1:${server_port_0},127.0.0.1:${server_port_1}" --workers="127.0.0.1:6782,127.0.0.1:6783" fleet_ps_training.py 2> ut.elog if grep -q "server are killed" ut.elog; then echo "test pserver launch succeed" else @@ -33,7 +36,7 @@ function test_launch_ps(){ exit -1 fi - python -m paddle.distributed.fleet.launch --servers="127.0.0.1:6780,127.0.0.1:6781" --workers="127.0.0.1,127.0.0.1" fleet_ps_training.py 2> ut.elog + python -m paddle.distributed.fleet.launch --servers="127.0.0.1:${server_port_0},127.0.0.1:${server_port_1}" --workers="127.0.0.1,127.0.0.1" fleet_ps_training.py 2> ut.elog if grep -q "server are killed" ut.elog; then echo "test pserver launch succeed" else -- GitLab