Merge pull request #9208 from eclipse/ag_aeron_fixes
Mark aeron tests not thread safe for more consistent execution, update aeron versionmaster
commit
4852cb975f
|
@ -56,7 +56,7 @@ if [ -n "$BUILD_PATH" ]; then
|
||||||
export PATH="$PATH:$BUILD_PATH"
|
export PATH="$PATH:$BUILD_PATH"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
../blasbuild/${CHIP}/tests_cpu/layers_tests/runtests
|
../blasbuild/${CHIP}/te NdArrayIpcTeststs_cpu/layers_tests/runtests
|
||||||
|
|
||||||
# Workaround to fix posix path conversion problem on Windows (http://mingw.org/wiki/Posix_path_conversion)
|
# Workaround to fix posix path conversion problem on Windows (http://mingw.org/wiki/Posix_path_conversion)
|
||||||
[ -f "${GTEST_OUTPUT#*:}" ] && cp -a surefire-reports/ ../target && rm -rf surefire-reports/
|
[ -f "${GTEST_OUTPUT#*:}" ] && cp -a surefire-reports/ ../target && rm -rf surefire-reports/
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
<maven.compiler.source>1.8</maven.compiler.source>
|
<maven.compiler.source>1.8</maven.compiler.source>
|
||||||
<maven.compiler.target>1.8</maven.compiler.target>
|
<maven.compiler.target>1.8</maven.compiler.target>
|
||||||
<sbe.version>1.5.4</sbe.version>
|
<sbe.version>1.5.4</sbe.version>
|
||||||
<aeron.version>1.4.0</aeron.version>
|
<aeron.version>1.32.0</aeron.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
@ -93,7 +93,7 @@
|
||||||
<configuration>
|
<configuration>
|
||||||
<environmentVariables>
|
<environmentVariables>
|
||||||
<LD_LIBRARY_PATH>
|
<LD_LIBRARY_PATH>
|
||||||
${env.LD_LIBRARY_PATH}:${user.dir}:${libnd4jhome}/blasbuild/cpu/blas/
|
${env.LD_LIBRARY_PATH}${path.separator}${user.dir}${path.separator}${libnd4jhome}/blasbuild/cpu/blas/${path.separator}${libnd4jhome}/../nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/target/classes
|
||||||
</LD_LIBRARY_PATH>
|
</LD_LIBRARY_PATH>
|
||||||
</environmentVariables>
|
</environmentVariables>
|
||||||
<testSourceDirectory>src/test/java</testSourceDirectory>
|
<testSourceDirectory>src/test/java</testSourceDirectory>
|
||||||
|
@ -119,7 +119,6 @@
|
||||||
|
|
||||||
For testing large zoo models, this may not be enough (so comment it out).
|
For testing large zoo models, this may not be enough (so comment it out).
|
||||||
-->
|
-->
|
||||||
<argLine>-Ddtype=float -Dfile.encoding=UTF-8 -Xmx8g</argLine>
|
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
|
|
|
@ -59,7 +59,9 @@ public class AeronUtil {
|
||||||
ipcLength += 2;
|
ipcLength += 2;
|
||||||
// System.setProperty("aeron.term.buffer.size",String.valueOf(ipcLength));
|
// System.setProperty("aeron.term.buffer.size",String.valueOf(ipcLength));
|
||||||
final MediaDriver.Context ctx =
|
final MediaDriver.Context ctx =
|
||||||
new MediaDriver.Context().threadingMode(ThreadingMode.SHARED).dirsDeleteOnStart(true)
|
new MediaDriver.Context().threadingMode(ThreadingMode.SHARED)
|
||||||
|
.dirDeleteOnStart(true)
|
||||||
|
.dirDeleteOnShutdown(true)
|
||||||
/* .ipcTermBufferLength(ipcLength)
|
/* .ipcTermBufferLength(ipcLength)
|
||||||
.publicationTermBufferLength(ipcLength)
|
.publicationTermBufferLength(ipcLength)
|
||||||
.maxTermBufferLength(ipcLength)*/
|
.maxTermBufferLength(ipcLength)*/
|
||||||
|
|
|
@ -34,8 +34,7 @@ public class LowLatencyMediaDriver {
|
||||||
|
|
||||||
@SuppressWarnings("checkstyle:UncommentedMain")
|
@SuppressWarnings("checkstyle:UncommentedMain")
|
||||||
public static void main(final String... args) {
|
public static void main(final String... args) {
|
||||||
MediaDriver.loadPropertiesFiles(args);
|
MediaDriver.main(args);
|
||||||
|
|
||||||
setProperty(DISABLE_BOUNDS_CHECKS_PROP_NAME, "true");
|
setProperty(DISABLE_BOUNDS_CHECKS_PROP_NAME, "true");
|
||||||
setProperty("aeron.mtu.length", "16384");
|
setProperty("aeron.mtu.length", "16384");
|
||||||
setProperty("aeron.socket.so_sndbuf", "2097152");
|
setProperty("aeron.socket.so_sndbuf", "2097152");
|
||||||
|
@ -43,7 +42,8 @@ public class LowLatencyMediaDriver {
|
||||||
setProperty("aeron.rcv.initial.window.length", "2097152");
|
setProperty("aeron.rcv.initial.window.length", "2097152");
|
||||||
|
|
||||||
final MediaDriver.Context ctx =
|
final MediaDriver.Context ctx =
|
||||||
new MediaDriver.Context().threadingMode(ThreadingMode.DEDICATED).dirsDeleteOnStart(true)
|
new MediaDriver.Context().threadingMode(ThreadingMode.DEDICATED).dirDeleteOnStart(true)
|
||||||
|
.dirDeleteOnShutdown(true)
|
||||||
.termBufferSparseFile(false).conductorIdleStrategy(new BusySpinIdleStrategy())
|
.termBufferSparseFile(false).conductorIdleStrategy(new BusySpinIdleStrategy())
|
||||||
.receiverIdleStrategy(new BusySpinIdleStrategy())
|
.receiverIdleStrategy(new BusySpinIdleStrategy())
|
||||||
.senderIdleStrategy(new BusySpinIdleStrategy());
|
.senderIdleStrategy(new BusySpinIdleStrategy());
|
||||||
|
|
|
@ -28,13 +28,14 @@ import org.nd4j.common.tests.BaseND4JTest;
|
||||||
import org.nd4j.linalg.api.ndarray.INDArray;
|
import org.nd4j.linalg.api.ndarray.INDArray;
|
||||||
import org.nd4j.linalg.factory.Nd4j;
|
import org.nd4j.linalg.factory.Nd4j;
|
||||||
|
|
||||||
|
import javax.annotation.concurrent.NotThreadSafe;
|
||||||
import java.io.BufferedOutputStream;
|
import java.io.BufferedOutputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.DataOutputStream;
|
import java.io.DataOutputStream;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
@NotThreadSafe
|
||||||
public class AeronNDArraySerdeTest extends BaseND4JTest {
|
public class AeronNDArraySerdeTest extends BaseND4JTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -31,11 +31,13 @@ import org.nd4j.common.tests.BaseND4JTest;
|
||||||
import org.nd4j.linalg.api.ndarray.INDArray;
|
import org.nd4j.linalg.api.ndarray.INDArray;
|
||||||
import org.nd4j.linalg.factory.Nd4j;
|
import org.nd4j.linalg.factory.Nd4j;
|
||||||
|
|
||||||
|
import javax.annotation.concurrent.NotThreadSafe;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
|
|
||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertFalse;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
@NotThreadSafe
|
||||||
public class LargeNdArrayIpcTest extends BaseND4JTest {
|
public class LargeNdArrayIpcTest extends BaseND4JTest {
|
||||||
private MediaDriver mediaDriver;
|
private MediaDriver mediaDriver;
|
||||||
private Aeron.Context ctx;
|
private Aeron.Context ctx;
|
||||||
|
@ -73,9 +75,10 @@ public class LargeNdArrayIpcTest extends BaseND4JTest {
|
||||||
int length = (int) 1e7;
|
int length = (int) 1e7;
|
||||||
INDArray arr = Nd4j.ones(length);
|
INDArray arr = Nd4j.ones(length);
|
||||||
AeronNDArrayPublisher publisher;
|
AeronNDArrayPublisher publisher;
|
||||||
ctx = new Aeron.Context().publicationConnectionTimeout(-1).availableImageHandler(AeronUtil::printAvailableImage)
|
ctx = new Aeron.Context()
|
||||||
|
.driverTimeoutMs(-1).availableImageHandler(AeronUtil::printAvailableImage)
|
||||||
.unavailableImageHandler(AeronUtil::printUnavailableImage)
|
.unavailableImageHandler(AeronUtil::printUnavailableImage)
|
||||||
.aeronDirectoryName(mediaDriver.aeronDirectoryName()).keepAliveInterval(10000)
|
.aeronDirectoryName(mediaDriver.aeronDirectoryName()).keepAliveIntervalNs(10000)
|
||||||
.errorHandler(err -> err.printStackTrace());
|
.errorHandler(err -> err.printStackTrace());
|
||||||
|
|
||||||
final AtomicBoolean running = new AtomicBoolean(true);
|
final AtomicBoolean running = new AtomicBoolean(true);
|
||||||
|
@ -149,10 +152,10 @@ public class LargeNdArrayIpcTest extends BaseND4JTest {
|
||||||
|
|
||||||
private Aeron.Context getContext() {
|
private Aeron.Context getContext() {
|
||||||
if (ctx == null)
|
if (ctx == null)
|
||||||
ctx = new Aeron.Context().publicationConnectionTimeout(-1)
|
ctx = new Aeron.Context().driverTimeoutMs(-1)
|
||||||
.availableImageHandler(AeronUtil::printAvailableImage)
|
.availableImageHandler(AeronUtil::printAvailableImage)
|
||||||
.unavailableImageHandler(AeronUtil::printUnavailableImage)
|
.unavailableImageHandler(AeronUtil::printUnavailableImage)
|
||||||
.aeronDirectoryName(mediaDriver.aeronDirectoryName()).keepAliveInterval(10000)
|
.aeronDirectoryName(mediaDriver.aeronDirectoryName()).keepAliveIntervalNs(10000)
|
||||||
.errorHandler(err -> err.printStackTrace());
|
.errorHandler(err -> err.printStackTrace());
|
||||||
return ctx;
|
return ctx;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,8 +26,11 @@ import org.nd4j.common.tests.BaseND4JTest;
|
||||||
import org.nd4j.linalg.api.ndarray.INDArray;
|
import org.nd4j.linalg.api.ndarray.INDArray;
|
||||||
import org.nd4j.linalg.factory.Nd4j;
|
import org.nd4j.linalg.factory.Nd4j;
|
||||||
|
|
||||||
|
import javax.annotation.concurrent.NotThreadSafe;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
@NotThreadSafe
|
||||||
public class NDArrayMessageTest extends BaseND4JTest {
|
public class NDArrayMessageTest extends BaseND4JTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -32,12 +32,14 @@ import org.nd4j.linalg.factory.Nd4j;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import javax.annotation.concurrent.NotThreadSafe;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
|
|
||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertFalse;
|
||||||
|
|
||||||
|
@NotThreadSafe
|
||||||
public class NdArrayIpcTest extends BaseND4JTest {
|
public class NdArrayIpcTest extends BaseND4JTest {
|
||||||
private MediaDriver mediaDriver;
|
private MediaDriver mediaDriver;
|
||||||
private static Logger log = LoggerFactory.getLogger(NdArrayIpcTest.class);
|
private static Logger log = LoggerFactory.getLogger(NdArrayIpcTest.class);
|
||||||
|
@ -223,10 +225,10 @@ public class NdArrayIpcTest extends BaseND4JTest {
|
||||||
|
|
||||||
private Aeron.Context getContext() {
|
private Aeron.Context getContext() {
|
||||||
if (ctx == null)
|
if (ctx == null)
|
||||||
ctx = new Aeron.Context().publicationConnectionTimeout(1000)
|
ctx = new Aeron.Context().driverTimeoutMs(1000)
|
||||||
.availableImageHandler(image -> System.out.println(image))
|
.availableImageHandler(image -> System.out.println(image))
|
||||||
.unavailableImageHandler(AeronUtil::printUnavailableImage)
|
.unavailableImageHandler(AeronUtil::printUnavailableImage)
|
||||||
.aeronDirectoryName(mediaDriver.aeronDirectoryName()).keepAliveInterval(1000)
|
.aeronDirectoryName(mediaDriver.aeronDirectoryName()).keepAliveIntervalNs(1000)
|
||||||
.errorHandler(e -> log.error(e.toString(), e));
|
.errorHandler(e -> log.error(e.toString(), e));
|
||||||
return ctx;
|
return ctx;
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,8 +25,11 @@ import org.nd4j.common.tests.BaseND4JTest;
|
||||||
import org.nd4j.aeron.ipc.NDArrayMessage;
|
import org.nd4j.aeron.ipc.NDArrayMessage;
|
||||||
import org.nd4j.linalg.factory.Nd4j;
|
import org.nd4j.linalg.factory.Nd4j;
|
||||||
|
|
||||||
|
import javax.annotation.concurrent.NotThreadSafe;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
@NotThreadSafe
|
||||||
public class ChunkAccumulatorTests extends BaseND4JTest {
|
public class ChunkAccumulatorTests extends BaseND4JTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -27,11 +27,13 @@ import org.nd4j.aeron.ipc.NDArrayMessage;
|
||||||
import org.nd4j.aeron.util.BufferUtil;
|
import org.nd4j.aeron.util.BufferUtil;
|
||||||
import org.nd4j.linalg.factory.Nd4j;
|
import org.nd4j.linalg.factory.Nd4j;
|
||||||
|
|
||||||
|
import javax.annotation.concurrent.NotThreadSafe;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
|
|
||||||
import static org.junit.Assert.assertArrayEquals;
|
import static org.junit.Assert.assertArrayEquals;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
@NotThreadSafe
|
||||||
public class NDArrayMessageChunkTests extends BaseND4JTest {
|
public class NDArrayMessageChunkTests extends BaseND4JTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -33,12 +33,14 @@ import org.nd4j.aeron.ipc.*;
|
||||||
import org.nd4j.linalg.api.ndarray.INDArray;
|
import org.nd4j.linalg.api.ndarray.INDArray;
|
||||||
import org.nd4j.linalg.factory.Nd4j;
|
import org.nd4j.linalg.factory.Nd4j;
|
||||||
|
|
||||||
|
import javax.annotation.concurrent.NotThreadSafe;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
@NotThreadSafe
|
||||||
public class AeronNDArrayResponseTest extends BaseND4JTest {
|
public class AeronNDArrayResponseTest extends BaseND4JTest {
|
||||||
private MediaDriver mediaDriver;
|
private MediaDriver mediaDriver;
|
||||||
|
|
||||||
|
@ -51,7 +53,8 @@ public class AeronNDArrayResponseTest extends BaseND4JTest {
|
||||||
public void before() {
|
public void before() {
|
||||||
if(isIntegrationTests()) {
|
if(isIntegrationTests()) {
|
||||||
final MediaDriver.Context ctx =
|
final MediaDriver.Context ctx =
|
||||||
new MediaDriver.Context().threadingMode(ThreadingMode.SHARED).dirsDeleteOnStart(true)
|
new MediaDriver.Context().threadingMode(ThreadingMode.SHARED).dirDeleteOnShutdown(true)
|
||||||
|
.dirDeleteOnStart(true)
|
||||||
.termBufferSparseFile(false).conductorIdleStrategy(new BusySpinIdleStrategy())
|
.termBufferSparseFile(false).conductorIdleStrategy(new BusySpinIdleStrategy())
|
||||||
.receiverIdleStrategy(new BusySpinIdleStrategy())
|
.receiverIdleStrategy(new BusySpinIdleStrategy())
|
||||||
.senderIdleStrategy(new BusySpinIdleStrategy());
|
.senderIdleStrategy(new BusySpinIdleStrategy());
|
||||||
|
@ -69,10 +72,10 @@ public class AeronNDArrayResponseTest extends BaseND4JTest {
|
||||||
int streamId = 10;
|
int streamId = 10;
|
||||||
int responderStreamId = 11;
|
int responderStreamId = 11;
|
||||||
String host = "127.0.0.1";
|
String host = "127.0.0.1";
|
||||||
Aeron.Context ctx = new Aeron.Context().publicationConnectionTimeout(-1)
|
Aeron.Context ctx = new Aeron.Context().driverTimeoutMs(-1)
|
||||||
.availableImageHandler(AeronUtil::printAvailableImage)
|
.availableImageHandler(AeronUtil::printAvailableImage)
|
||||||
.unavailableImageHandler(AeronUtil::printUnavailableImage)
|
.unavailableImageHandler(AeronUtil::printUnavailableImage)
|
||||||
.aeronDirectoryName(mediaDriver.aeronDirectoryName()).keepAliveInterval(1000)
|
.aeronDirectoryName(mediaDriver.aeronDirectoryName()).keepAliveIntervalNs(1000)
|
||||||
.errorHandler(e -> log.error(e.toString(), e));
|
.errorHandler(e -> log.error(e.toString(), e));
|
||||||
|
|
||||||
int baseSubscriberPort = 40123 + new java.util.Random().nextInt(1000);
|
int baseSubscriberPort = 40123 + new java.util.Random().nextInt(1000);
|
||||||
|
|
Loading…
Reference in New Issue