[MINOR] DML config enabled for Federated Worker
diff --git a/src/main/java/org/apache/sysds/api/DMLScript.java b/src/main/java/org/apache/sysds/api/DMLScript.java
index 635aef7..2f01647 100644
--- a/src/main/java/org/apache/sysds/api/DMLScript.java
+++ b/src/main/java/org/apache/sysds/api/DMLScript.java
@@ -256,6 +256,7 @@
 			}
 			
 			if (dmlOptions.fedWorker) {
+				loadConfiguration(fnameOptConfig);
 				new FederatedWorker(dmlOptions.fedWorkerPort).run();
 				return true;
 			}
@@ -355,6 +356,15 @@
 	// (core compilation and execute)
 	////////
 
+	private static void loadConfiguration(String fnameOptConfig) throws IOException {
+		DMLConfig dmlconf = DMLConfig.readConfigurationFile(fnameOptConfig);
+		ConfigurationManager.setGlobalConfig(dmlconf);
+		CompilerConfig cconf = OptimizerUtils.constructCompilerConfig(dmlconf);
+		ConfigurationManager.setGlobalConfig(cconf);
+		LOG.debug("\nDML config: \n" + dmlconf.getConfigInfo());
+		setGlobalFlags(dmlconf);
+	}
+
 	/**
 	 * The running body of DMLScript execution. This method should be called after execution properties have been correctly set,
 	 * and customized parameters have been put into _argVals
@@ -372,13 +382,7 @@
 		printStartExecInfo( dmlScriptStr );
 		
 		//Step 1: parse configuration files & write any configuration specific global variables
-		DMLConfig dmlconf = DMLConfig.readConfigurationFile(fnameOptConfig);
-		ConfigurationManager.setGlobalConfig(dmlconf);
-		CompilerConfig cconf = OptimizerUtils.constructCompilerConfig(dmlconf);
-		ConfigurationManager.setGlobalConfig(cconf);
-		LOG.debug("\nDML config: \n" + dmlconf.getConfigInfo());
-		
-		setGlobalFlags(dmlconf);
+		loadConfiguration(fnameOptConfig);
 		
 		//Step 3: parse dml script
 		Statistics.startCompileTimer();
@@ -392,7 +396,7 @@
 		dmlt.constructHops(prog);
 		
 		//init working directories (before usage by following compilation steps)
-		initHadoopExecution( dmlconf );
+		initHadoopExecution( ConfigurationManager.getDMLConfig() );
 	
 		//Step 5: rewrite HOP DAGs (incl IPA and memory estimates)
 		dmlt.rewriteHopsDAG(prog);
@@ -401,7 +405,7 @@
 		dmlt.constructLops(prog);
 		
 		//Step 7: generate runtime program, incl codegen
-		Program rtprog = dmlt.getRuntimeProgram(prog, dmlconf);
+		Program rtprog = dmlt.getRuntimeProgram(prog, ConfigurationManager.getDMLConfig());
 		
 		//Step 9: prepare statistics [and optional explain output]
 		//count number compiled MR jobs / SP instructions	
@@ -421,14 +425,14 @@
 		ExecutionContext ec = null;
 		try {
 			ec = ExecutionContextFactory.createContext(rtprog);
-			ScriptExecutorUtils.executeRuntimeProgram(rtprog, ec, dmlconf, STATISTICS ? STATISTICS_COUNT : 0, null);
+			ScriptExecutorUtils.executeRuntimeProgram(rtprog, ec, ConfigurationManager.getDMLConfig(), STATISTICS ? STATISTICS_COUNT : 0, null);
 		}
 		finally {
 			if(ec != null && ec instanceof SparkExecutionContext)
 				((SparkExecutionContext) ec).close();
 			LOG.info("END DML run " + getDateTime() );
 			//cleanup scratch_space and all working dirs
-			cleanupHadoopExecution( dmlconf );
+			cleanupHadoopExecution( ConfigurationManager.getDMLConfig());
 		}
 	}