Skip to content

cathyhongzhang/global-scheduler

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Global Scheduler

Go Report Card LICENSE

What Global Scheduler is

Global Scheduler is an open source global scheduling management system designed for large scale clouds. It helps coordinate resource consumption among multi cloud data centers and edge sites, and intelligently place workloads on the best DC or edge site based on traffic patterns and global resource availability It is evolved from the open source Kubernetes v1.15 codebase with some fundamental improvements.

Global Scheduler aims to address key scheduling challenges of compute units (e.g. VM and containers) across a large number of DC clouds and edge clouds---system scalability, resource sharing, resource efficiency, scheduling rate/latency, application-performance-aware scheduling, etc.


Key Features of Global Scheduler

Large Scalability

Global Scheduler achieves a scalable architecture by partitioning and replicating system components, including API Server, storage, scheduler, etc. The eventual goal of Global Scheduler is to support 100K clusters with a single cross-AZ control plane.

Intelligent Scheduling Algorithm

Global Scheduler implements a multi-dimension optimization model based scheduling algorithm.

Application Aware Scheduling

The Global Scheduler Monitors each application’s input flow characteristics and automatically scale out/in VMs/Containers or migrate the hosting VMs/Containers to a better geo-location to meet the application QOS requirement

Build Global Scheduler

To build Global Scheduler, you just need to clone the repo and run "make":

Note: you need to have a working Go 1.12 environment. Go 1.13 is not supported yet.
mkdir -p $GOPATH/src/github.com
cd $GOPATH/src/github.com
git clone https://github.com/futurewei-cloud/global-scheduler
cd global-scheduler
make

Run Global Scheduler

To run a single-node Global Scheduler cluster in your local development box:

cd $GOPATH/src/github.com/global-scheduler
hack/global-scheduler-up.sh

Documents and Support

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

The user guide folder provides information about these features from users' perspective.

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.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 89.5%
  • Starlark 6.4%
  • Shell 3.6%
  • PowerShell 0.2%
  • Makefile 0.1%
  • Dockerfile 0.1%
  • Other 0.1%