PHYSICS aims at democratizing and easing the deployment of the FaaS paradigm, through offering developers with popular, easy-to-use tools and techniques for designing and implementing FaaS applications. It also aims at boosting the deployment of effective FaaS applications through optimal placement and distribution of functions within cloud infrastructures. In this direction, PHYSICS undertakes research in three novel directions:
- Semantic descriptions for FaaS enabled Cloud services and Applications: PHYSICS will research semantic descriptions for FaaS resources and services, towards facilitating the discovery and selection of resources by application developers, as well as the functional adaptations of the functions during their operations. The PHYSICS semantic descriptions will incorporate information for application/service characteristics (e.g., GPUs existence, FPGA abilities, operators’ existence, caching memory levels etc.), user oriented QoS features (e.g., experienced performance, network latency, bandwidth), as well as metadata of existing FaaS platforms and container orchestration systems. The latter will be used to express applications needs in the context of service graphs to be deployed in the underlying cloud infrastructures.
- Flow programming approaches and cloud design patterns for FaaS applications: PHYSICS will offer design environments based on the flow programming style that may be used to dictate application structure based on existing components. These definitions will be translated in the underlying functional framework(s) to be leveraged by the project i.e., environments such as Openwhisk and OpenFaaS. The translation will enable the execution and deployment of flows across the range of available resources supported by these frameworks. Typical cloud design patterns abstracted implementations (e.g., map-reduce, AI model training, messaging, endpoint monitoring, gatekeeper etc) will be made available for incorporation in the abstract flows, while specific necessary helper constructs may be reused (e.g., scalers, control elements, storage clients etc).
- FaaS and Cloud Workflows distribution, functional incorporation, and runtime management: PHYSICS researches and designs a platform level offering for Cloud Service Providers (CPS) to enable the efficient and seamless distribution of application components (e.g., the above listed flows) across the overall Cloud computing continuum. Functional distribution will take into account the semantic descriptions of the FaaS applications and services, towards reasoning on the exploitation of each service’s features, as well as the graph-based study of the continuum. The final placement will take into consideration the optimized assignment that will cater for end user requirements. Relevant supporting structures such as distributed in memory systems will also be used so that quick reconfiguration can be applied in cases where there is misbehavior of the original placement decision or dynamic conditions that alter its effectiveness as well as enhance the ability of functions to maintain external state.
Leveraging on the above-listed research directions, PHYSICS aspires to deliver benefit to application developers, CSPs and end-users of FaaS services. In the coming months, the project will be publishing and disseminating results from the first round of research in these directions, while also exploring their integration in end-to-end FaaS cloud system.