INVESTIGATING A SCIENCE GATEWAY FOR AN AGENT-BASED

Slides:



Advertisements
Similar presentations
Introduction on Science Gateway Understanding access and functionalities Catania, 09/06/2014Riccardo Rotondo
Advertisements

Catania Science Gateway Framework Motivations, architecture, features Catania, 09/06/2014Riccardo Rotondo
Customized cloud platform for computing on your terms !
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) Hostname-portlet Template Riccardo Rotondo
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) Grid Engine Riccardo Rotondo
1 ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe confidential. 1 Building Portlets with ColdFusion Pete Freitag Foundeo, Inc.
STAR net, Resources and VOs C. Vuerli, A. Costa, U. Becciani, P. Massimino, G. Castelli.
Application portlets within the PROGRESS HPC Portal Michał Kosiedowski
Holding slide prior to starting show. A Portlet Interface for Computational Electromagnetics on the Grid Maria Lin and David Walker Cardiff University.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
GO-ESSP Workshop, LLNL, Livermore, CA, Jun 19-21, 2006, Center for ATmosphere sciences and Earthquake Researches Construction of e-science Environment.
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement n° Energising Scientific.
Holding slide prior to starting show. Lessons Learned from the GECEM Portal David Walker Cardiff University
Grid Execution Management for Legacy Code Architecture Exposing legacy applications as Grid services: the GEMLCA approach Centre.
Tutorial on Science Gateways, Roma, Riccardo Rotondo Introduction on Science Gateway Understanding access and functionalities.
Tutorial on Science Gateways, Roma, Catania Science Gateway Framework Motivations, architecture, features Riccardo Rotondo.
Grid Initiatives for e-Science virtual communities in Europe and Latin America Riccardo Rotondo
Utilizzo di portali per interfacciamento tra Grid e Cloud Workshop della Commissione Calcolo e Reti dell’INFN, May Laboratori Nazionali del.
Development of portlets for special jobs: parametric, collections, workflows Mario Torrisi National Institute of Nuclear Physics.
REST API to develop application for mobile devices Mario Torrisi Dipartimento di Fisica e Astronomia – Università degli Studi.
Grid Initiatives for e-Science virtual communities in Europe and Latin America Elisa Ingrà
Development of portlets for special jobs: parametric, collections, workflows Mario Torrisi Istituto Nazionale di Fisica Nucleare.
Convert generic gUSE Portal into a science gateway Akos Balasko.
A. Costa, P. Massimino, C. Vuerli, U. Becciani INAF CTA Gateway Prototype Based on gUSE/WS-PGRADE and Single-Sign-On (SSO)
Tutorial on Science Gateways, Roma, Riccardo Rotondo Web Application Development Introduction to application servers, web applications and portlets.
1 RIC 2009 Symbolic Nuclear Analysis Package - SNAP version 1.0: Features and Applications Chester Gingrich RES/DSA/CDB 3/12/09.
A Data Engine for Grid Science Gateways Enabling Easy Transfers and Data Sharing Dr. Marco Fargetta (1), Mr. Riccardo Rotondo (2,*), Prof. Roberto Barbera.
Co-ordination & Harmonisation of Advanced e-Infrastructures for Research and Education Data Sharing Grant.
Introduction to portlet development Carla Carrubba INFN Dpt. Of Catania Giuseppina Inserra
Accessing the VI-SEEM infrastructure
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CLOUD COMPUTING
(Exchange Programme to advance e-Infrastructure Know-How)
WEKA Machine Learning Use Case – Breast Cancer - Final report
The End of the Beginning
Open Simulation for Public Health in Africa Sci-GaIA Final Conference
GWAS-TOOL – Final report
Hydrodynamic Galactic Simulations
Joslynn Lee – Data Science Educator
Design rationale and status of the org.glite.overlay component
Java standalone version
Identity Federations - Overview
Information Collection and Presentation Enriched by Remote Sensor Data
Open Science Approaches to Modelling & Simulation
Design and Manufacturing in a Distributed Computer Environment
Sci-GaIA Workshop on "e-Infrastructures and Open Science in support of Public Health" Wednesday, 8 February 2017 Kenyatta University Conference Centre.
CHAIN-REDS computing solutions for Virtual Research Communities CHAIN-REDS Workshop – 11 December 2013 Roberto Barbera – University of Catania and.
Simon J E Taylor, Project Coordinator
Riccardo Rotondo INFN Catania – Italy
Recap: introduction to e-science
Chapter 18 MobileApp Design
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
WIMEA – ICT: Science Gateway for Weather Information Management in East Africa to interact with ICT Tool WRF MAKWEBA, Damas – DSM Institute of Technology.
GSAF Grid Storage Access Framework
University of Technology
MIK 2.1 DBNS - introduction to WS-PGRADE, 2013
Lecture 1: Multi-tier Architecture Overview
Elisa Ingrà – Consortium GARR
Module 01 ETICS Overview ETICS Online Tutorials
Software models - Software Architecture Design Patterns
MIPAR (Extension)– Intermediate report
Grid Engine Riccardo Rotondo
A technical look at new capabilities and features
University of Westminster Centre for Parallel Computing
Grid Engine Diego Scardaci (INFN – Catania)
Introduction To Distributed Systems
New Tools In Education Minjun Wang
Ponder policy toolkit Jovana Balkoski, Rashid Mijumbi
Introduction to the SHIWA Simulation Platform EGI User Forum,
ONAP Optimization Framework (OOF) POC for Physical CellID (PCI) Optimization July 30, 2018.
Presentation transcript:

INVESTIGATING A SCIENCE GATEWAY FOR AN AGENT-BASED INVESTIGATING A SCIENCE GATEWAY FOR AN AGENT-BASED SIMULATION APPLICATION USING REPAST Adedeji Fabiyi, Simon J.E. Taylor, Anastasia Anagnostou (Brunel University London) WACREN e-Research Hackfest – Lagos (Nigeria)

Outline Motivation Objectives Background Science Gateways and Science Gateway Frameworks The Catania Science Gateway Framework Simulation infection model Results Conclusions and Future Work

Motivation e-Infrastructures can support scientists with complex distributed computing but they could be hard to use. Therefore there are two important issues to consider when making use of e-Infrastructures namely: (1) Interoperability across different e-Infrastructures and middleware and (2) Easiness of use.

Objectives To show how an Agent Based Infection Simulation (implemented using REPAST Simphony) can be ported to a Science Gateway and deployed on an e-Infrastructure To ultimately illustrate how a Science Gateway can be used to allow multiple users across the world to access a simulation and execute their applications in an e-Infrastructures environment

What are e-Infrastructures? Powerful integrated Information and Communication Technologies High speed research communication networks Computational resources (grids, clouds, etc.) Software services Data services (data sources, scientific literature) Sensors Securely accessed via web-based portals or science gateways

But Can be Delivered Simply! Science Gateways can facilitate simple secure access to e-Infrastructures Science Gateways can be focal points for scientific collaborations Science Gateways can support communities of practice

Science Gateways can enable CoPs e-Infrastructures accessed through Science Gateways can help Communities of Practice to Work intensively and collaboratively to boost research potential and impact Share and disseminate knowledge, experience and state-of-the-art research to speed up scientific progress Expand its scope across the world Promote easily access to software, computing, data and sensor services used by participants

For science and engineering research and education. Science Gateways? What is it… A digital interface. For science and engineering research and education. Implemented in web and/or mobile applications. Provide access to community resources such as software, data, and high HPC facilities

Science Gateway Framework There are different Science Gateway frameworks used for building/customizing instances of science gateways. The Catania Science Gateway Framework (CSGF) approach, which has been adopted in this work, is one of such frameworks. CSGF consists of two major components (Liferay portal framework for the design of the user interface, and the Catania Grid and Cloud engine for the execution of jobs on different DCIs).

Science Gateway Framework There are different Science Gateway frameworks used for building/customizing instances of science gateways. The Catania Science Gateway Framework (CSGF) approach, which has been adopted in this work, is one of such frameworks. CSGF consists of two major components (Liferay portal framework for the design of the user interface, and the Catania Grid and Cloud engine for the execution of jobs on different DCIs).

Science Gateway Requirements Authentication and Authorisation . SAML, LDAP Application e-Infrastructure independent . jSAGA, SAGA, OCCI Standard Java Technology . JSR 168/286 Web Technology . Web CMS . Wiki, Blog, Messages Board, Vconf, Adobe Connect Portal Frameworks . Liferay portlet container . Liferay Service Builder

The Catania Science Gateway Framework CSGF showing the different applications implemented as portlet, and the Grid and Cloud engine that is responsible for submitting jobs on different e-infrastructures. CSGF hides all details of the complexity of the underlying infrastructures from the final user.

Agent-Based Modelling and Simulation Originated from Cellular Automata (CA) and Complex Adaptive Systems (CAS) -Network of autonomous agents that interact, adapt and learn ABMS studies the behaviour of individual and autonomous agents and their interactions Characteristics -Autonomy, locality, decentralisation State -Each agent has its own state with clearly defined boundaries -Model state is the collection of agents’ states and environment state Many application areas Many open source tools (REPAST SIMPHONY)

Agent-Based Modelling and Simulation ABMS components Agents Active Passive Environment Agents characteristics Attributes Behaviours Rules Active Agent Attributes Static: name … Dynamic: state, memory, resources, neighbours … Methods Behaviours (goal driven, e.g., find target and kill) Ability to modify behaviours Update rules / dynamic attributes … Passive Agent Attributes Static: name … Dynamic: state, resources … Methods Behaviours (passive, e.g., ageing) … Macal, C. and North, M. Introductory Tutorial. www.informs-sim.org/wsc11papers/130.pd Simon JE Taylor (2014) “OR Essentials: Agent-Based Modelling and Simulation.” Palgrave Macmilan, ISBN-10: 1137453621

Agent-Based Modelling and Simulation

Simulation Infection Model Application As a simple demonstration, we ported: A simulation infection model on the SG. This was Implemented in Repast Simphony. For life sciences and healthcare sector. How can a SG be used to support our Agent-based simulation application? We start by Identifying Simulation needs, such as: input data, upload data/model Execution, and Visualization.

Simulation Infection Model Application Infection model together with its dependencies are deployed in a pre-configured virtual machine image. A pilot_script.sh (consisting of instructions to start a simulation) is also uploaded on the remote virtual machine (VM). Whenever a simulation job is submitted, the VM image is started according to the passed parameters, and the executable will be performed.

Portlet code snippets(1) Methods of the Generic Portlet Class Class myRepast-infection-portlet extends GenericPortlets { Init (PortletConfig); processAction (ActionRequest, ActionResponse); Render (RenderRequest, RenderResponse); Destroy (); Do View (Request, Response); Do Edit (Request, Response); Do Help (Request, Response); }

Portlet Action Status ACTION_ACTIVATE ACTION_INPUT ACTION_SUBMIT ACTION_PILOT and their corresponding VIEW_ACTIVATE VIEW_INPUT VIEW_SUBMIT VIEW_PILOT

getInputForm method void getInputForm(ActionRequest request AppInput appinput) { appInput.inputValue = (String) request.getParameter("inputValue"); appInput.inputValue2 = (String) request.getParameter("inputValue2"); appInput.inputValue3 = (String) request.getParameter("inputValue3"); appInput.inputValue4 = (String) request.getParameter("inputValue4"); appInput.jobIdentifier = (String) request.getParameter("JobIdentifier"); }

void __submitJob(AppInput appInput) { Method that sends the infection model jobs into a distributed infrastructure (1) void __submitJob(AppInput appInput) { MultiInfrastructureJobSubmission miJobSubmission=null; if(null != appPreferences.getSciGwyUserTrackingDB_Hostname() && !appPreferences.getSciGwyUserTrackingDB_Hostname().equals("") && null != appPreferences.getSciGwyUserTrackingDB_Username() && !appPreferences.getSciGwyUserTrackingDB_Username().equals("") && null != appPreferences.getSciGwyUserTrackingDB_Password() && !appPreferences.getSciGwyUserTrackingDB_Password().equals("") && null != appPreferences.getSciGwyUserTrackingDB_Database() && !appPreferences.getSciGwyUserTrackingDB_Database().equals("") ) { String arg1="jdbc:mysql://" + appPreferences.getSciGwyUserTrackingDB_Hostname() + "/" + appPreferences.getSciGwyUserTrackingDB_Database(); String arg2=appPreferences.getSciGwyUserTrackingDB_Username(); String arg3=appPreferences.getSciGwyUserTrackingDB_Password(); miJobSubmission = new MultiInfrastructureJobSubmission(arg1,arg2,arg3); } Else{ miJobSubmission = new MultiInfrastructureJobSubmission(); _log.info("MultiInfrastructureJobSubmission [PROD]");

Method that sends the infection Method that sends the infection model jobs into a distributed infrastructure (2) Assign all enabled infrastructures and set portal IP address InfrastructureInfo[] infrastructuresInfo=appPreferences.getEnabledInfrastructures(); for(int i=0; i<infrastructuresInfo.length; i++) { _log.info("Adding infrastructure #"+(i+1) +" - Name: '"+infrastructuresInfo[i].getName()+"'"+LS); miJobSubmission.addInfrastructure(infrastructuresInfo[i]); } String portalIPAddress=""; try { InetAddress addr = InetAddress.getLocalHost(); byte[] ipAddr=addr.getAddress(); portalIPAddress= ""+(short)(ipAddr[0]&0xff) +":"+(short)(ipAddr[1]&0xff) +":"+(short)(ipAddr[2]&0xff) +":"+(short)(ipAddr[3]&0xff);

Method that sends the infection Method that sends the infection model jobs into a distributed infrastructure (3) Define job requirements, initialize their settings and submit job String executable="/bin/sh"; String arguments =appPreferences.getPilotScript(); String outputPath="/tmp/"; String outputFile="myRepast-infection-Output.txt"; String errorFile ="myRepast-infection-Error.txt"; String appFile ="myRepast-infection-Files.tar.gz"; miJobSubmission.setExecutable ( executable); miJobSubmission.setArguments ( arguments); miJobSubmission.setOutputPath ( outputPath); miJobSubmission.setOutputFiles(outputSandbox); miJobSubmission.setJobOutput ( outputFile); miJobSubmission.setJobError ( errorFile); Also prepare the GridEngine job description (GEJobDescription jobDesc = new GEJobDescription();) and set it for each of the above. miJobSubmission.submitJobAsync(appInput.username, portalIPAddress, applicationId, appInput.jobIdentifier);

Result (1) The figure showing the landing page of the portlet and a description of the application. Once a user has successfully sign on, they can click the run button to access the portlet main page.

Result (2) The main page of the infection simulation application. Users can specify their parameters, using this page, and then click on the submit button.

Result (3) The page that shows the MyJobs portlet, which is another dedicated portlets that displays the status of all jobs. As shown, this page displays a job in running mode as well as all jobs that’s finished running. Users can download results once a job is ready (as indicated by the two folder icon).

Result (4) The portlet also includes a visualizer page for graphically displaying results. Once a job is ready, users can upload their results by simply uploading their data.

Conclusion and Future work Presented an approach, a Science Gateway approach, for executing jobs on E-infrastructures. Adopted framework comprises of Liferay portal and the Catania Grid and Cloud engine. Used an Agent-based simulation application as a case study. Future work includes the implementation of WEKA (J48) on the SG – its analysis and use on the output of simulation results.

Thank you! sci-gaia.eu info@sci-gaia.eu