Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Updated the proposal reflecting the feedback on general incubator

...

The motivation of YuniKorn project is to resolve common resource scheduling problems for various workloads, on large scale distributed systems. Apache is home to one of these systems in the form of Apache Hadoop YARN. Many of thee workloads that we expect to leverage YuniKorn are computing engines like Apache Spark, Apache Flink whether they run on top of YARN or on Kubernetes.

Known Risks

Project Name

We have done a search of the name "YuniKorn" on Github, and at the time of the search we found nothing related to resource scheduler or distributed system. We also did a search of the name YuniKorn as a trademark and there seem to be none. A generic web search also didn't return any relevant projects. Since the name seems to be unique, easy to remember, pronounce, and relevant to the project, we believe it is a suitable name even at the ASF.

Cloudera does NOT have a trademark on the name YuniKorn, so there is no trademark assignment needed. Cloudera will commit to using Apache YuniKorn as the project name when/if it graduates and becomes an Apache project.

Orphaned products

The core developers of YuniKorn project from different companies plan to work full time on this project. Currently, the initial team intends to continue the investments on the YuniKorn project, it will be integrated into the solutions to the customers. Several other organizations (like Alibaba) have also started to evaluate the project, and plan to adopt it in their production environments. We anticipate the adoption will be further improved once it becomes an Apache project.

...

We started the work 10 months ago, so far the groundwork for YuniKorn is done and the initial version can work with K8s seamlessly. Based on the initial contributers’ experience in ASF projects, we don’t expect that there will be huge gaps before YuniKorn can graduate with regarding to ASF’s policies on software and releases. The goal is to grow the community quickly and increase the user base within a few months while making releases that adhere to the ASF standards. When it reaches a reasonable size of adoption, and a strong community with a good number of committers/PMC members, we can prompt the graduation. We expect the length of incubation to be approximately 6 12 to 12 18 months.

Homogenous Development

...

External dependencies are listed in below table

Library

Type

License

k8s.io/api

K8s API

Apache License 2.0

k8s.io/apimachinery

K8s API

Apache License 2.0

k8s.io/client-go

K8s client library

Apache License 2.0

github.com/looplab/fsm

Go state machine library

MIT License

github.com/satori/go.uuid

Go UUID library

MIT License

github.com/uber-go/zap

Go logging library

MIT License

github.com/golang/protobuf

Go protobuf library

BSD 3-Clause License

github.com/gorilla/mux

Go network library

BSD 3-Clause License

google.golang.org/grpc

Go RPC library

Apache License 2.0

gopkg.in/yaml.v2

Go YAML library

Apache License 2.0

github.com/prometheus/client_golang

Prometheus Client Library

Apache License 2.0

Angular v6.1.x

Angular UI Framework Libraries

MIT License

TypeScript

TypeScript Language Compiler

Apache License 2.0

Chart.js

JavaScript Charting Library

MIT License

Moment.js

JavaScript Date & Time Library

MIT License


Build and test only:

gotest.tools

Test library

Apache License 2.0

github.com/stretchr/testify

Test library

MIT License

Karma

Unit test library

MIT License

Protactor

End2End test library

MIT License

Json-server

Test server

MIT License

Yarn

Dependency manager

BSD 2-Clause License


Cryptography

YuniKorn does not currently include any cryptography-related code.

...

JIRA YuniKorn (YUNIKORN-)

Other Resources

We have published a series of demo videos on Youtube channel: https://www.youtube.com/channel/UCDSJ2z-lEZcjdK27tTj_hGwNone

Initial Committers and Affinities

...