Jump to: navigation, search

Difference between revisions of "Cyborg"

(Initial Architecture)
(Related Industry Efforts)
(33 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
==Overview==
 
==Overview==
  
Cyborg (previously known as [[Nomad]]) is an OpenStack project that aims to provide a general purpose management framework for acceleration resources (i.e. various types of accelerators such as Crypto cards,GPU, FPGA, NVMe/NOF SSDs, ODP, DPDK/SPDK and so on).
+
Cyborg (previously known as [[Nomad]]) is an OpenStack project that aims to provide a general purpose management framework for acceleration resources (i.e. various types of accelerators such as GPU, FPGA, ASIC, NP, SoCs, NVMe/NOF SSDs, ODP, DPDK/SPDK and so on).
  
==Overall Design==
+
===Rocky Subteam Co-leads===
 +
* Release: Howard Huang
 +
* Doc: Yumeng Bao/Li Liu
 +
* Driver: Shaohe Feng/Li Liu
 +
 
 +
===Rocky Community Goals===
 +
* Mutable Config: Done (https://review.openstack.org/559303)
 +
* Mox/Mox3 Removal: Done
 +
 
 +
===Rocky Overall Design===
 +
 
 +
* Cyborg-Nova Finish Up: https://review.openstack.org/554717
 +
* Metadata Standardization: https://review.openstack.org/558265
 +
* FPGA Programming Support: https://review.openstack.org/559395
 +
* os-acc: https://review.openstack.org/566798
 +
* Quota: https://review.openstack.org/560285
 +
 
 +
===Pike/Queens Overall Design===
  
 
* API-DB: https://review.openstack.org/445814
 
* API-DB: https://review.openstack.org/445814
 
* Conductor-Agent: https://review.openstack.org/446091
 
* Conductor-Agent: https://review.openstack.org/446091
 
* Generic Driver: https://review.openstack.org/447257
 
* Generic Driver: https://review.openstack.org/447257
* Cyborg-Nova: https://review.openstack.org/448228
+
* Cyborg-Nova: https://review.openstack.org/448228, https://review.openstack.org/508572 (Queens Take 2)
 
* Sandbox: https://review.openstack.org/461220, https://review.openstack.org/444999
 
* Sandbox: https://review.openstack.org/461220, https://review.openstack.org/444999
  
==Master Slide Deck==
+
===Pike/Queens Initial Architecture===
 +
 
 +
[[File: Cyborg_arch_correct_1.0.png|300px|center|thumb|Cyborg Architecture 1.0]]
 +
 
 +
==Related Industry Efforts==
 +
Stanford DAWN Project:
 +
* spatial (FPGA programming) : https://github.com/stanford-ppl/spatial-lang
 +
* weld (ML IR) : https://github.com/weld-project/weld
 +
 
 +
USCD RIFFA Project:
 +
 
 +
http://riffa.ucsd.edu/node/2
 +
 
 +
FD.IO: https://fd.io/
 +
 
 +
SPDK: http://www.spdk.io/
 +
 
 +
Oak Ridge National Lab Quantum Computing Acceleration: https://ornl-qci.github.io/xacc/
 +
 
 +
Quantum Open Source Foundation: https://qosf.org/
 +
 
 +
Neuromorphic Computing: https://github.com/nengo/nengo
 +
 
 +
OpenCL: https://www.khronos.org/opencl/
 +
 
 +
OpenML: http://www.openmp.org/
 +
 
 +
CUDA: https://developer.nvidia.com/cuda-toolkit
  
https://docs.google.com/presentation/d/1xXjqlMaXjXe7mn-iwoETGcTPnTbqCDfpaT6yqlZ8srE/edit?usp=sharing
+
OpenACC: https://developer.nvidia.com/openacc
  
==Initial Architecture==
+
RISC-V: https://riscv.org/
  
[[File:Cyborg_arch.png|200px|frame|left]]
+
RISC-V on ICE40: https://github.com/grahamedgecombe/icicle
  
==Meeting==
+
eBPF: https://www.iovisor.org/technology/ebpf
 +
 
 +
==Meeting/Materials==
  
 
* Please refer to [[Meetings/CyborgTeamMeeting]] for meeting agenda and logistic info
 
* Please refer to [[Meetings/CyborgTeamMeeting]] for meeting agenda and logistic info
 +
* Please refer to [[Cyborg/Materials]] for additional materials regarding Cyborg.
 
* Please refer to [[Cyborg/MeetingLogs]] for meeting minutes archives.
 
* Please refer to [[Cyborg/MeetingLogs]] for meeting minutes archives.
 +
* Please refer to [[Cyborg/FirstContact]] for local on-boarding meeting agenda and logistic info
 +
 +
==Team Photo==
 +
 +
[[File:Cyborg_team_photo_denver.jpeg|thumb|center]]
 +
[[File:Cyborg team photo dublin.jpg|thumb|center]]
 +
[[File:Cyborg team photo denver 2018.jpg|thumb|center]]
  
 
==How to contribute==
 
==How to contribute==
Line 32: Line 86:
  
 
Cyborg is designed to use the same tools for submission and review as other OpenStack projects.  As such we follow the [http://docs.openstack.org/infra/manual/developers.html#development-workflow OpenStack development workflow]. New contributors should follow the [http://docs.openstack.org/infra/manual/developers.html#getting-started getting started] steps before proceeding, as a Launchpad ID and signed contributor license are required to add new entries.
 
Cyborg is designed to use the same tools for submission and review as other OpenStack projects.  As such we follow the [http://docs.openstack.org/infra/manual/developers.html#development-workflow OpenStack development workflow]. New contributors should follow the [http://docs.openstack.org/infra/manual/developers.html#getting-started getting started] steps before proceeding, as a Launchpad ID and signed contributor license are required to add new entries.
 +
 +
New contributors can follow this guide  [https://docs.openstack.org/cyborg/latest/contributor/devstack_setup.html#devstack-quick-start DevStack Quick Start] to setup cyborg environment.
  
 
The Cyborg Launchpad page can be found at https://launchpad.net/openstack-cyborg.
 
The Cyborg Launchpad page can be found at https://launchpad.net/openstack-cyborg.

Revision as of 02:30, 25 December 2018

Overview

Cyborg (previously known as Nomad) is an OpenStack project that aims to provide a general purpose management framework for acceleration resources (i.e. various types of accelerators such as GPU, FPGA, ASIC, NP, SoCs, NVMe/NOF SSDs, ODP, DPDK/SPDK and so on).

Rocky Subteam Co-leads

  • Release: Howard Huang
  • Doc: Yumeng Bao/Li Liu
  • Driver: Shaohe Feng/Li Liu

Rocky Community Goals

Rocky Overall Design

Pike/Queens Overall Design

Pike/Queens Initial Architecture

Cyborg Architecture 1.0

Related Industry Efforts

Stanford DAWN Project:

USCD RIFFA Project:

http://riffa.ucsd.edu/node/2

FD.IO: https://fd.io/

SPDK: http://www.spdk.io/

Oak Ridge National Lab Quantum Computing Acceleration: https://ornl-qci.github.io/xacc/

Quantum Open Source Foundation: https://qosf.org/

Neuromorphic Computing: https://github.com/nengo/nengo

OpenCL: https://www.khronos.org/opencl/

OpenML: http://www.openmp.org/

CUDA: https://developer.nvidia.com/cuda-toolkit

OpenACC: https://developer.nvidia.com/openacc

RISC-V: https://riscv.org/

RISC-V on ICE40: https://github.com/grahamedgecombe/icicle

eBPF: https://www.iovisor.org/technology/ebpf

Meeting/Materials

Team Photo

Cyborg team photo denver.jpeg
Cyborg team photo dublin.jpg
Cyborg team photo denver 2018.jpg

How to contribute

  1. git clone https://git.openstack.org/openstack/cyborg
  2. Make the changes to your entry, be sure to include what’s changed and why
  3. Commit the change for review
  4. The changes will be reviewed, merged within a day or so.

Cyborg is designed to use the same tools for submission and review as other OpenStack projects. As such we follow the OpenStack development workflow. New contributors should follow the getting started steps before proceeding, as a Launchpad ID and signed contributor license are required to add new entries.

New contributors can follow this guide DevStack Quick Start to setup cyborg environment.

The Cyborg Launchpad page can be found at https://launchpad.net/openstack-cyborg.