public String getExecutionPlan() throws Exception {
Plan p = createProgramPlan("unnamed");
p.setDefaultParallelism(getDegreeOfParallelism());
registerCachedFilesWithPlan(p);
PlanExecutor executor = PlanExecutor.createRemoteExecutor(host, port, jarFiles);
return executor.getOptimizerPlanAsJSON(p);
}