This project has received funding from the European High-Performance Computing Joint Undertaking (JU) under grant agreement No 951732. The JU received support from the European Union’s Horizon 2020 research and innovation.
Table of Contents
1. Motivation
2. In a nutshell
3. The FirecREST API
4. Key capabilities
5. API Demonstration
3
Motivation
● Projects / Users have the need to integrate HPC into advanced workflows○ Proliferation of custom solution
■ Challenging for users■ Challenging for HPC providers
● Need for a standard modern interface to HPC resources○ HPC clusters○ Job schedulers○ Filesystem operations○ Moving data within filesystems○ Data transfer into and out from HPC infrastructure
● Should interface with existing HPC infrastructure○ Avoid new parallel infrastructure services
5
In a Nutshell
● FirecREST is a web-enabled API to HPC
● FirecREST abstracts, uniform, and standardizes communication between a web-client and HPC services and resources○ Translate web requests into HPC business logic○ Parse back HPC result into web-friendly format
● Ensures to developers secure authenticated and authorized access to services and resources
7
Key Capabilities
● Web interface for classic HPC● Agnostic and interoperable● Integration with HPC via standard cluster tools● Secure and protected usage of resources● Monitoring and logging● End-to-end format mapping● Service orchestration
14
Material
● FirecREST documentation○ https://firecrest.readthedocs.io/
● FirecREST source○ https://github.com/eth-cscs/firecrest/
● FirecREST demo test environment○ https://github.com/eth-cscs/firecrest/tree/master/deploy/demo
● Python helper library○ https://github.com/ekouts/pyfirecrest
● OpenAPI spec○ https://firecrest-api.cscs.ch/
● Hands-on tutorial○ https://firecrest.readthedocs.io/en/latest/tutorial.html
17