This is an automated email from the ASF dual-hosted git repository.
baunsgaard pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git
The following commit(s) were added to refs/heads/main by this push:
new 0ae0204120 [MINOR] multitenant federated test solidify
0ae0204120 is described below
commit 0ae02041202c6fb6827bbd380f4debf0e0f8b65a
Author: baunsgaard <[email protected]>
AuthorDate: Fri Jan 20 13:21:46 2023 +0100
[MINOR] multitenant federated test solidify
---
.../multitenant/FederatedLineageTraceReuseTest.java | 19 ++++++++++---------
.../multitenant/FederatedMultiTenantTest.java | 13 +++++++++----
.../federated/multitenant/FederatedReuseReadTest.java | 14 ++++++++++++--
.../multitenant/FederatedReuseSlicesTest.java | 11 ++++++++++-
.../multitenant/FederatedSerializationReuseTest.java | 11 ++++++++++-
.../federated/multitenant/MultiTenantTestBase.java | 4 +++-
6 files changed, 54 insertions(+), 18 deletions(-)
diff --git
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedLineageTraceReuseTest.java
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedLineageTraceReuseTest.java
index 5d249abfb6..a7da74dcf1 100644
---
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedLineageTraceReuseTest.java
+++
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedLineageTraceReuseTest.java
@@ -19,6 +19,8 @@
package org.apache.sysds.test.functions.federated.multitenant;
+import static org.junit.Assert.fail;
+
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
@@ -132,6 +134,8 @@ public class FederatedLineageTraceReuseTest extends
MultiTenantTestBase {
c = cols;
}
+ int[] workerPorts = startFedWorkers(4, new String[]{"-lineage",
"reuse"});
+
double[][] X1 = getRandomMatrix(r, c, 0, 3, sparsity, 3);
double[][] X2 = getRandomMatrix(r, c, 0, 3, sparsity, 7);
double[][] X3 = getRandomMatrix(r, c, 0, 3, sparsity, 8);
@@ -146,15 +150,6 @@ public class FederatedLineageTraceReuseTest extends
MultiTenantTestBase {
// empty script name because we don't execute any script, just
start the worker
fullDMLScriptName = "";
- int[] workerPorts = startFedWorkers(4, new String[]{"-lineage",
"reuse"});
-
- try {
- Thread.sleep(4000);
- }
- catch(InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
rtplatform = execMode;
if(rtplatform == ExecMode.SPARK) {
DMLScript.USE_LOCAL_SPARK_CONFIG = true;
@@ -193,6 +188,12 @@ public class FederatedLineageTraceReuseTest extends
MultiTenantTestBase {
}
private void verifyResults(OpType opType, String outputLog, ExecMode
execMode) {
+ try{
+ Thread.sleep(100);
+ }
+ catch(Exception e){
+ fail(e.getMessage());
+ }
Assert.assertTrue(checkForHeavyHitter(opType, outputLog,
execMode));
// verify that the matrix object has been taken from cache
Assert.assertTrue(checkForReuses(opType, outputLog, execMode));
diff --git
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedMultiTenantTest.java
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedMultiTenantTest.java
index d03b9fd70c..6948e8ea17 100644
---
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedMultiTenantTest.java
+++
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedMultiTenantTest.java
@@ -19,13 +19,12 @@
package org.apache.sysds.test.functions.federated.multitenant;
-import java.lang.Math;
+import static org.junit.Assert.fail;
+
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
-import static org.junit.Assert.fail;
-
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.sysds.api.DMLScript;
@@ -166,6 +165,7 @@ public class FederatedMultiTenantTest extends
MultiTenantTestBase {
r = rows / 4;
c = cols;
}
+ int[] workerPorts = startFedWorkers(4);
double[][] X1 = getRandomMatrix(r, c, 0, 3, 1, 3);
double[][] X2 = getRandomMatrix(r, c, 0, 3, 1, 7);
@@ -181,7 +181,6 @@ public class FederatedMultiTenantTest extends
MultiTenantTestBase {
// empty script name because we don't execute any script, just
start the worker
fullDMLScriptName = "";
- int[] workerPorts = startFedWorkers(4);
rtplatform = execMode;
if(rtplatform == ExecMode.SPARK) {
@@ -297,6 +296,12 @@ public class FederatedMultiTenantTest extends
MultiTenantTestBase {
}
private void verifyResults(OpType opType, String outputLog, ExecMode
execMode) {
+ try{
+ Thread.sleep(100);
+ }
+ catch(Exception e){
+ fail(e.getMessage());
+ }
Assert.assertTrue(checkForHeavyHitter(opType, outputLog,
execMode));
// compare the results via files
diff --git
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedReuseReadTest.java
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedReuseReadTest.java
index 522c9aafc1..274ab1c483 100644
---
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedReuseReadTest.java
+++
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedReuseReadTest.java
@@ -19,6 +19,8 @@
package org.apache.sysds.test.functions.federated.multitenant;
+import static org.junit.Assert.fail;
+
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
@@ -142,6 +144,8 @@ public class FederatedReuseReadTest extends
MultiTenantTestBase {
c = cols;
}
+ int[] workerPorts = startFedWorkers(4, lineage ? new
String[]{"-lineage", "reuse"} : null);
+
double[][] X1 = getRandomMatrix(r, c, 0, 3, sparsity, 3);
double[][] X2 = getRandomMatrix(r, c, 0, 3, sparsity, 7);
double[][] X3 = getRandomMatrix(r, c, 0, 3, sparsity, 8);
@@ -156,7 +160,6 @@ public class FederatedReuseReadTest extends
MultiTenantTestBase {
// empty script name because we don't execute any script, just
start the worker
fullDMLScriptName = "";
- int[] workerPorts = startFedWorkers(4, lineage ? new
String[]{"-lineage", "reuse"} : null);
rtplatform = execMode;
if(rtplatform == ExecMode.SPARK) {
@@ -197,7 +200,14 @@ public class FederatedReuseReadTest extends
MultiTenantTestBase {
}
private void verifyResults(OpType opType, String outputLog, ExecMode
execMode) {
- Assert.assertTrue(checkForHeavyHitter(opType, outputLog,
execMode));
+ try{
+ Thread.sleep(100);
+ }
+ catch(Exception e){
+ fail(e.getMessage());
+ }
+ Assert.assertTrue("Heavy hitter should include: " + opType + "
outputLog:" + outputLog,
+ checkForHeavyHitter(opType, outputLog, execMode));
// verify that the matrix object has been taken from cache
Assert.assertTrue(outputLog.contains("Fed ReuseRead (Hits,
Bytes):\t"
+ Integer.toString((coordinatorProcesses.size()-1) *
workerProcesses.size()) + "/"));
diff --git
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedReuseSlicesTest.java
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedReuseSlicesTest.java
index 50d7f662a2..7b5a41bc77 100644
---
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedReuseSlicesTest.java
+++
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedReuseSlicesTest.java
@@ -19,6 +19,8 @@
package org.apache.sysds.test.functions.federated.multitenant;
+import static org.junit.Assert.fail;
+
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
@@ -132,6 +134,8 @@ public class FederatedReuseSlicesTest extends
MultiTenantTestBase {
c = cols;
}
+ int[] workerPorts = startFedWorkers(4, new String[]{"-lineage",
"reuse"});
+
double[][] X1 = getRandomMatrix(r, c, 0, 3, sparsity, 3);
double[][] X2 = getRandomMatrix(r, c, 0, 3, sparsity, 7);
double[][] X3 = getRandomMatrix(r, c, 0, 3, sparsity, 8);
@@ -146,7 +150,6 @@ public class FederatedReuseSlicesTest extends
MultiTenantTestBase {
// empty script name because we don't execute any script, just
start the worker
fullDMLScriptName = "";
- int[] workerPorts = startFedWorkers(4, new String[]{"-lineage",
"reuse"});
rtplatform = execMode;
if(rtplatform == ExecMode.SPARK) {
@@ -195,6 +198,12 @@ public class FederatedReuseSlicesTest extends
MultiTenantTestBase {
}
private void verifyResults() {
+ try{
+ Thread.sleep(100);
+ }
+ catch(Exception e){
+ fail(e.getMessage());
+ }
// compare the results via files
HashMap<CellIndex, Double> refResults0 =
readDMLMatrixFromOutputDir("S" + 0);
HashMap<CellIndex, Double> refResults1 =
readDMLMatrixFromOutputDir("S" + 1);
diff --git
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedSerializationReuseTest.java
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedSerializationReuseTest.java
index 05f02846c0..51714c71c8 100644
---
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedSerializationReuseTest.java
+++
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/FederatedSerializationReuseTest.java
@@ -19,6 +19,8 @@
package org.apache.sysds.test.functions.federated.multitenant;
+import static org.junit.Assert.fail;
+
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
@@ -133,6 +135,8 @@ public class FederatedSerializationReuseTest extends
MultiTenantTestBase {
c = cols;
}
+ int[] workerPorts = startFedWorkers(4, new String[]{"-lineage",
"reuse"});
+
double[][] X1 = getRandomMatrix(r, c, 0, 3, sparsity, 3);
double[][] X2 = getRandomMatrix(r, c, 0, 3, sparsity, 7);
double[][] X3 = getRandomMatrix(r, c, 0, 3, sparsity, 8);
@@ -147,7 +151,6 @@ public class FederatedSerializationReuseTest extends
MultiTenantTestBase {
// empty script name because we don't execute any script, just
start the worker
fullDMLScriptName = "";
- int[] workerPorts = startFedWorkers(4, new String[]{"-lineage",
"reuse"});
rtplatform = execMode;
if(rtplatform == ExecMode.SPARK) {
@@ -191,6 +194,12 @@ public class FederatedSerializationReuseTest extends
MultiTenantTestBase {
}
private void verifyResults(OpType opType, String outputLog, ExecMode
execMode) {
+ try{
+ Thread.sleep(100);
+ }
+ catch(Exception e){
+ fail(e.getMessage());
+ }
Assert.assertTrue(checkForHeavyHitter(opType, outputLog,
execMode));
// verify that the matrix object has been taken from cache
checkForReuses(opType, outputLog, execMode);
diff --git
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/MultiTenantTestBase.java
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/MultiTenantTestBase.java
index c2fbcbd0ed..aa7141bd18 100644
---
a/src/test/java/org/apache/sysds/test/functions/federated/multitenant/MultiTenantTestBase.java
+++
b/src/test/java/org/apache/sysds/test/functions/federated/multitenant/MultiTenantTestBase.java
@@ -33,6 +33,8 @@ import org.apache.sysds.common.Types.ExecMode;
import org.apache.sysds.test.AutomatedTestBase;
import org.junit.After;
+import com.google.crypto.tink.subtle.Random;
+
public abstract class MultiTenantTestBase extends AutomatedTestBase {
protected ArrayList<Process> workerProcesses = new ArrayList<>();
protected ArrayList<Process> coordinatorProcesses = new ArrayList<>();
@@ -66,7 +68,7 @@ public abstract class MultiTenantTestBase extends
AutomatedTestBase {
ports[counter] = getRandomAvailablePort();
// start process but only wait long for last one.
Process tmpProcess =
startLocalFedWorker(ports[counter], addArgs,
- counter == numFedWorkers-1 ? FED_WORKER_WAIT *
3 : FED_WORKER_WAIT_S);
+ counter == numFedWorkers-1 ? (FED_WORKER_WAIT +
Random.randInt(1000)) * 3 : FED_WORKER_WAIT_S);
workerProcesses.add(tmpProcess);
}
return ports;