14th International Symposium on Parallel and Distributed Computing
A Web-Based Platform for Publication and Distributed Execution
- f Computing Applications
A Web-Based Platform for Publication and Distributed Execution of - - PowerPoint PPT Presentation
14th International Symposium on Parallel and Distributed Computing A Web-Based Platform for Publication and Distributed Execution of Computing Applications Oleg Sukhoroslov, Sergey Volkov, Alexander Afanasiev Institute for Information
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 2 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 3 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 4 / 30
Hosted vs Standalone Arbitrary Resources Application Sharing Application Composition
Remote API Grid Middleware User-level Toolkits / Workflow Systems Scientific Gateways Web Service Toolkits
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 5 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 6 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 7 / 30
– Follows REST (Representational state transfer) architectural style
– Service Runtime Environment (Container) – Service Catalogue – Workfmow Management System (WfMS) – Security Mechanism – Client Interfaces
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 8 / 30
Service Container Workfmow Management System Service Catalogue HTTPS + REST API External Application Web UI
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 9 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 10 / 30
– Describing and hosting computational applications as services – Binding applications to external computing resources – Running applications on arbitrary sets of resources – Sharing applications and resources with other users
– Accessible via web browser and REST API – No installation is required
– Uniform REST interface for accessing applications – Web UI for application description – Automatic generation of web UI for application invocation
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 11 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 12 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 13 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 14 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 15 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 16 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 17 / 30
./povray_run.sh +Iscene.pov +F${format} +W${width} +H${height} +Q${quality} -D +A -Oimage
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 18 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 19 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 20 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 21 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 22 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 23 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 24 / 30
– Protecting users/resources from malicious/broken code
– Making applications portable across resources
– Sheduling of application tasks across heterogeneous
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 25 / 30
– Automation
– Integration with external systems and third-party tools
– Accessing application via web service interface (REST API)
– Using client library (Python API)
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 26 / 30
import everest session = everest.Session( 'https://everest.distcomp.org', token = '...' ) appA = everest.App('52b1d2d13b...', session) appB = everest.App('...', session) appC = everest.App('...', session) appD = everest.App('...', session) jobA = appA.run({'a': '...'}) jobB = appB.run({'b': jobA.output('out1')}) jobC = appC.run({'c': jobA.output('out2')}) jobD = appD.run({'d1': jobB.output('out'), 'd2': jobC.output('out')}) print(jobD.result()) session.close()
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 27 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 28 / 30
– Single server: 2 quad-core Xeon E5620 (2.4 GHz), 24GB RAM, Ubuntu 12.04 – Applications: Sleep, Autodock Vina, Parameter Sweep
– Capable of serving 1000 concurrent clients with acceptable latencies – Input fjle uploads negatively impact throughput and latency
– Job processing overhead introduced by Everest+agent is 10s of seconds – Could be improved to better accommodate short jobs
– 100 agents with 10 slots running in difgerent locations – Maximum observed overhead for 1000 jobs is 23 seconds
– Ad-hoc grid: 3 servers + 3 clusters (316 cores) – Autodock Vina, Parameter Sweep application from geophysics domain
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 29 / 30
01.07.2015 A Web-Based Platform for Publication and Distributed Execution of Computing Applications 30 / 30
– Enables users with minimal skills to publish and share scientifjc
– Executes applications on external resources attached by users – Implements decoupling of published applications from resources – Supports programmatic access to the platform's functionality