Created
September 15, 2017 17:12
-
-
Save hannibalhuang/b4a2522e8918649953793ca7196136e7 to your computer and use it in GitHub Desktop.
cyborg official application commit msg
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Cyborg Application For Official Projects | |
First of all thanks for TC audience for our project update at PTG. | |
The overview slide presented at the meeting could be found here[0]. | |
**What is Cyborg** | |
Cyborg is a new project that aims to provide a general management | |
framework for accelerators[1], such as FPGA, GPU, ARM SoCs, NVMe | |
SSDs,DPDK/SPDK and so forth, basically any types of dedicated | |
hardware/software that designed specifically to accelerate the | |
performance of the general computing infrastructure. | |
**Motivation** | |
The motivation behind Cyborg projects orginally came from Telco NFV, | |
and later on more from Scientific WG on HPC and public cloud providers | |
who want to provide FPGA/GPU instances. Details of the requirement for | |
Cyborg could be found in the slide[0] | |
**Two Important Facts** | |
- Cyborg is started from scratch within the community, which means there | |
was no code dump from vendor and we wrote every specs and code implement- | |
ation from zero in an OpenStack way. | |
- Every decision in Cyborg project is done through election/voting, even | |
the project name was voted from team members. | |
**One More Fun Fact** | |
* We have the LONGEST team meeting in OpenStack (meeting starts late in | |
China timezone and often left open since the organizer passed out on desk, | |
we are working hard to improve on that :) ) | |
**Functionality** | |
Cyborg's two main jobs are resource discovery and life cycle management, | |
which means Cyborg leaves the functionality of scheduling entirely to | |
Nova when the user needs a virtual machine deployment, or Kubernetes/Mesos | |
/Docker if the user needs container solution running on baremetal. | |
**Cross Projects Relationship** | |
As mentioned above, Cyborg interacts with Nova via Placement. Cyborg does | |
not reinvent any wheels or tries to drop in to replace any current modules. | |
It heavily relies on working with the current OpenStack structure. Nova's | |
FPGA/GPU support is very critical for Cyborg to be able to work for VM related | |
deployments. | |
Cyborg has constant discussion with the Nova/Placement team and | |
we will continue to do so in Queens and following cycles to make sure we got | |
an awesome collaboration. | |
Cyborg has also very good relationship with the Scientific WG and OPNFV | |
DPACC project. We gathered inputs/requirements from these groups. | |
**Scenario/Usage** | |
To put it very simply, if you have just one type of accelerator, you could just | |
use what Nova provides for PCI-passthrough functionalities. If you have more | |
than one types of accelerators, or you have one type of accelerator but you want | |
fine grained control, then you probably needs Cyborg on the side to help you manage | |
them, working alongside Nova. | |
**Community Principle Compliance** | |
Cyborg project follows the core principle of "Four Opens" within OpenStack | |
Community: | |
* Open Source | |
This goes without saying, all the Cyborg source code could be found at OpenStack | |
repo[2] or its github mirror[3], including feature codes, documentations[4] and | |
tests[5]. Apache Lisence 2.0 is applied as usual. | |
* Open Design | |
As mentioned above, Cyborg is designed from ground up within the community. We have | |
weekly team meetings[6] at #openstack-cyborg and public available/searchable meeting | |
logs[7]. We have organized PTG design sessions for each of the past ones[8][9]. We | |
have also used [acceleration] or [cyborg] for mailinglist discussion. | |
* Open Community | |
Cyborg has a truely diverse team composition with no single vendor dominance[10]. PTL | |
of Cyborg comes from Huawei and current two core reviewers come from RedHat and Lenovo. | |
We have also performed election/voting on these positions[11][12]. | |
* Open Development | |
All of the Cyborg pacthes could be found here[13]. We have a implicit policy of the | |
core that landed the patch should comes from different company from the ones that | |
submit the patches. We try to review the patches as thorough as possible and we are | |
honored to have people from other team help reviewing, for example[14][15]. | |
The Cyborg project team has been doing everything according to the community's tradition | |
and best practices, and we also believe that by putting Cyborg under official governance, | |
it will show OpenStack's capability on heterogeneous computing that provides the foundation | |
for Artificial Intelligence, Machine Learning, HPC, NFV and many other cutting-edge technologies. | |
0. https://docs.google.com/presentation/d/1RyDDVMBsQndN-Qo_JInnHaj_oCY6zwT_3ky_gk1nJMo/edit?usp=sharing | |
1. https://wiki.openstack.org/wiki/Cyborg | |
2. https://review.openstack.org/gitweb?p=openstack/cyborg.git;a=summary | |
3. https://github.com/openstack/cyborg | |
4. https://github.com/openstack/cyborg/tree/master/doc/source | |
5. https://github.com/openstack/cyborg/tree/master/cyborg/tests | |
6. https://wiki.openstack.org/wiki/Meetings/CyborgTeamMeeting | |
7. https://wiki.openstack.org/wiki/Cyborg/MeetingLogs | |
8. https://etherpad.openstack.org/p/cyborg-ptg-pike | |
9. https://etherpad.openstack.org/p/cyborg-queens-ptg | |
10. http://stackalytics.com/?project_type=openstack-others&module=cyborg&metric=person-day&release=all | |
11. https://openstack.nimeyo.com/113991/openstack-cyborg-nominate-rushil-justin-kilpatrick-reviewers | |
12. https://openstack.nimeyo.com/117806/openstack-dev-cyborg-queens-ptl-candidacy?show=117812 | |
13. https://review.openstack.org/#/q/project:openstack/cyborg | |
14. https://review.openstack.org/#/c/448228/ | |
15. https://review.openstack.org/#/c/445814/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment