Skip to content

[SYSTEMDS-3185] Federated Lookup Table Statistics#1487

Closed
ywcb00 wants to merge 8 commits into
apache:mainfrom
ywcb00:feat/fed/multitenancy/flt/stats
Closed

[SYSTEMDS-3185] Federated Lookup Table Statistics#1487
ywcb00 wants to merge 8 commits into
apache:mainfrom
ywcb00:feat/fed/multitenancy/flt/stats

Conversation

@ywcb00

@ywcb00 ywcb00 commented Dec 18, 2021

Copy link
Copy Markdown
Contributor

Hi,
this PR (1) adds statistics regarding the federated lookup table to the federated statistics, (2) splits the federated PUT request count into separate counts for the individual Object types (e.g., Matrix, Frame, Scalar, and MatrixCharacteristics) and adds a respective byte count for matrices and frames, and (3) refactors the whole Statistics class and moves related statistics into their own statistics class (Codegen, HOP, Native, ParamServ, ParFor, Spark, Transform).

Thanks for review :)

@ywcb00 ywcb00 force-pushed the feat/fed/multitenancy/flt/stats branch 2 times, most recently from 81a70d3 to 9b4c316 Compare December 19, 2021 22:09
Comment thread src/main/java/org/apache/sysds/api/DMLScript.java
}


DMLScript.USE_LOCAL_SPARK_CONFIG |= dmlconf.getBooleanValue(DMLConfig.USE_LOCAL_SPARK_CONFIG);

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mboehm7 Is this resolving the problem with the tests you mentioned in #1421 ?

Comment on lines -107 to +110
//FIXME still runs into blocking
// @Test
// public void testSumSharedWorkersSP() {
// runMultiTenantSharedWorkerTest(OpType.SUM, 3, 9, ExecMode.SPARK);
// }
@Test
public void testSumSharedWorkersSP() {
runMultiTenantSharedWorkerTest(OpType.SUM, 3, 9, ExecMode.SPARK);
}

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mboehm7 I wasn't able to reproduce the error you mentioned. Is the blocking state of this test caused by the not set DMLScript.USE_LOCAL_SPARK_CONFIG flag or is there another problem? 🤔

@ywcb00 ywcb00 force-pushed the feat/fed/multitenancy/flt/stats branch 2 times, most recently from 9cc1fac to ca675b1 Compare December 31, 2021 11:45
@ywcb00 ywcb00 force-pushed the feat/fed/multitenancy/flt/stats branch from ca675b1 to 6e2c816 Compare January 10, 2022 20:44
… coordinators all addressing the same federated workers (sameWorkers)
	create alsCG algorithm tests (SameWorkers and SharedWorkers)
	add runAll scripts

chore(FederatedLookupTable.java): add log trace message to log every call to getECM()
…ripts

docs(FederatedLookupTable.java): add class and function headers
…testing

feat(FederatedMultiTenantTest): add junit java class to test the multi tenancy within the test system
	add the respective dml script

chore(AutomatedTestBase.java): change the access specifier of CONFIG_DIR from private to protected

feat(SystemDS-MultiTenant-config.xml): add a systemds config with the federated initialization timeout set to 30 seconds
…ted lookup table entries and get requests

	add different counts for the different data types in put requests
	add a bytes count for put requests of matrices and frames

refactor(Statistics.java): divide related stats and their methods into own static classes

feat(utils/stats/**.java): create static classes for related statistics

refactor(**.java): change all calls to statistics according to the outsourced stats into new static classes
…le names inside the statistics classes (stat context is determined already by the class prefix)

refactor(**.java): change all calls to the modified statistics function according to the name changes
feat(ParamServStatistics.java): add reset method to reset all properties

chore(Statistics.java): call the new created reset methods

chore(SparkStatistics.java): reset all properties inside the reset method

chore(SparkExecutionContext.java): rename method call to the actual method inside the SparkStatistics (inconsistency introduced by rebasing)

chore(SparkParamServUtils.java): rename metho call to the actual method (w/o "PS") inside the ParamServStatistics (inconsistency introduced by rebase)
…ONFIG to the specified DMLConfig value when setting the global flags

chore(.gitignore): remove the artifacts of the multi tenant test shell scripts from gitignore again (rebase fail)

fix(Statistics.java): reset the FederatedStatistics with the Statistics

fix(SparkStatistics.java): increment the Spark collect count with every Spark collect time accumulation

chore(LocalInstruction.java): set the outputBufering flag to true in order to obtain the ByteArrayOutputStream from the runTest() call

chore(FederatedMultiTenantTest.java): do not redirect the error stream of the coordinator to its stdout since we are obtaining them separate now
@phaniarnab

Copy link
Copy Markdown
Contributor

Thanks for the refactoring @ywcb00.
I did a few syntax changes (split long lines into two) and renamed a couple of new files while merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants