development of distributed computing applications and
play

Development of Distributed Computing Applications and Services with - PowerPoint PPT Presentation

6 th International Conference "Distributed Computing and Grid-technologies in Science and Education" (GRID'2014) Development of Distributed Computing Applications and Services with Everest Cloud Platform Oleg Sukhoroslov , Anton


  1. 6 th International Conference "Distributed Computing and Grid-technologies in Science and Education" (GRID'2014) Development of Distributed Computing Applications and Services with Everest Cloud Platform Oleg Sukhoroslov , Anton Rubtsov, Sergey Volkov Institute for Information Transmission Problems (Moscow, Russia)

  2. Scientifjc Application as a Service 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 2 / 19

  3. Related Approaches ● Computational Grids – Globus Toolkit, gLite, UNICORE... – Generic web service interfaces to computing resources – Low-level, hard to use for unskilled researchers ● Scientifjc Portals – P-GRADE, HubZero, Galaxy... – Convenient web user interfaces to applications and computing resources – Do not expose applications as services or provide programming interfaces ● Web Service Toolkits – GEMLCA, Opal, MathCloud... – Tools for exposing scientifjc applications as web services – Ad-hoc, no common practices, require an infrastructure for hosting services 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 3 / 19

  4. Everest ● Platform supporting publication, execution and composition of applications running across distributed computing resources – Describe and expose applications as services – Bind computing resources to applications – Run applications on arbitrary sets of resources – Share applications and resources ● Platform as a Service – Accessible via web browser and REST API – No installation is required ● Combination of existing approaches + PaaS – Uniform REST interface for accessing applications – Web UI for application description – Automatic generation of web UI for application invocation 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 4 / 19

  5. Everest 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 5 / 19

  6. REST API URI GET POST PUT DELETE /api/apps/ List applications Create application /api/apps/:id Get application Invoke application Modify Delete description (submit job) application application /api/jobs/:id Get job Modify job Delete job state/results /api/fjles/(path) List fjles Upload fjle /api/fjles/:id/:name Download fjle Delete fjle /auth/access_token Create access Delete access token (log in) token (log out) 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 6 / 19

  7. Application: Interface 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 7 / 19

  8. POV-Ray Service 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 8 / 19

  9. POV-Ray Service { "inputs": { "scene": "http://bit.ly/Pel8kW", "includes": [], "format": "N16", "width": 320, "height": 240, "quality": 9 } } 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 9 / 19

  10. Application: Implementation 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 10 / 19

  11. Command Application Skeleton 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 11 / 19

  12. POV-Ray Service: Confjguration povray +Iscene.pov +F${format} +W${width} +H${height} +Q${quality} -D +HTN -Oimage 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 12 / 19

  13. Everest Architecture 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 13 / 19

  14. Integration with Computing Resources 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 14 / 19

  15. Compute Agent 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 15 / 19

  16. Binding Resources to Applications 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 16 / 19

  17. Python API session = everest.Session( 'https://mc2.distcomp.org', user = '...', password = '...' ) 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()) 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 17 / 19

  18. Using Everest ● Personal use – Ubiquitous access to applications and resources – Automate repetitive tasks ● Sharing applications with colleagues – Collaborative workfmows – Publication of results – Reproducibility ● Education 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 18 / 19

  19. Conclusion ● Distributed Computing Platform as a Service – Publication of applications as RESTful web services – Flexible mapping of applications to external computing resources – Use of PaaS model (Web UI + REST API) – http://everest.distcomp.org/ ● Future Work – Experimental evaluation, application case studies – Advanced scheduling across multiple resources – Support for parallel applications – Integration with other types of computing resources – Optimization of data transfer 30.06.2014 Development of Distributed Computing Applications and Services with Everest (GRID'2014) 19 / 19

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend