Global Resource Service(GRS)

LICENSE

What is Global Resource Service

Global Resource Service(GRS) is one of the corner stones for the Regionless Cloud Platform. It provides abstraction, collection, aggregation of resources from each region and dynamic resource distribution to schedulers cross all regions globally.

GRS aims to be an open source solution to address key challenges of managing compute resources in the regionless cloud platform, such as:

  1. Provide resource abstraction for various hardware types and machine types
  2. Aggregate compute resources from all regions globally and distribute the desired set of resources to schedulers globally
  3. Manage large scale of resource pool and distribute them with low latency
  4. Balance resource allocation for ideal resource utilization globally

Architecture

Architecture Diagram

Key Features

  • Large Scalability and high performance resource service and resource change propagation pipeline

  • Provide resource collection and aggregation from multiple regions globally

  • Heterogenious hardware type and machine type support

  • Abstraction of compute resources

  • Distribute/Balance/adjustment of resource allocation for ideal resource utilization

Build and Run GRS

Please refer to the dev-env-setup instruction for setting up local dev environment.

Please refer to the setup-grs-test instruction for building, running end to end GRS tests.

Contribute to the GRS project

Please refer to the CONTRIBUTING guideline for details and guidelines on how to contribute to the GRS project.

Community Meetings

Pacific Time: Tuesday, 6:00PM PST (Weekly)

Resources: Meeting Link | Meeting Summary

Documents and Support

The design document folder contains the detailed design of already implemented features, and also some thoughts for planned features.

To report a problem, please create an issue in the project repo.

To ask a question, here is the invitation to join Arktos slack channels. You can also post in the email group, or create an issue of question type in the repo.