Apache Airavata is a science gateway application that enables managing different scientific computational tasks among computational resources. Here I describe how to register a simple echo application in Airavata and launch it using Airavata API
1. Clone Airavata source https://github.com/apache/airavata/tree/0.14_release and build
2. Start Airavata server as given in https://cwiki.apache.org/confluence/display/AIRAVATA/XBAYA+Quick-Start+Tutorial
3. Run Sample class to register echo application
https://github.com/apache/airavata/blob/0.14_release/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
4. Run following command to create and run the experiment
1. Clone Airavata source https://github.com/apache/airavata/tree/0.14_release and build
2. Start Airavata server as given in https://cwiki.apache.org/confluence/display/AIRAVATA/XBAYA+Quick-Start+Tutorial
3. Run Sample class to register echo application
https://github.com/apache/airavata/blob/0.14_release/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
4. Run following command to create and run the experiment
Airavata.Client airavataClient = AiravataClientFactory.createAiravataClient("127.0.0.1", 8930); String appId = "Echo_e82aa96b-66ea-4f31-97e7-1182a32e55d2"; ListexInputs = new ArrayList (); InputDataObjectType input = new InputDataObjectType(); input.setName("Input_to_Echo"); input.setType(DataType.STRING); input.setValue("Echoed_Output=Hello World"); exInputs.add(input); List exOut = new ArrayList (); OutputDataObjectType output = new OutputDataObjectType(); output.setName("Echoed_Output"); output.setType(DataType.STRING); output.setValue(""); exOut.add(output); Experiment simpleExperiment = ExperimentModelUtil.createSimpleExperiment("default", "admin", "echoExperiment", "Echo Exp", appId, exInputs); simpleExperiment.setExperimentOutputs(exOut); Map computeResources = getClient().getAvailableAppInterfaceComputeResources(appId); String id = computeResources.keySet().iterator().next(); String resourceName = computeResources.get(id); System.out.println(computeResources.size()); System.out.println(id); System.out.println(resourceName); ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(id, 1, 1, 1, "normal", 30, 0, 1, "sds128"); UserConfigurationData userConfigurationData = new UserConfigurationData(); userConfigurationData.setAiravataAutoSchedule(false); userConfigurationData.setOverrideManualScheduledParams(false); userConfigurationData.setComputationalResourceScheduling(scheduling); simpleExperiment.setUserConfigurationData(userConfigurationData); String exp = airavataClient.createExperiment(simpleExperiment); airavataClient.launchExperiment(exp,"sample");
No comments:
Post a Comment