Jump to: navigation, search

Difference between revisions of "Cyborg"

(Initial Architecture)
(Overview)
(29 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/
  
https://docs.google.com/presentation/d/1xXjqlMaXjXe7mn-iwoETGcTPnTbqCDfpaT6yqlZ8srE/edit?usp=sharing
+
Oak Ridge National Lab Quantum Computing Acceleration: https://ornl-qci.github.io/xacc/  
  
 +
Neuromorphic Computing: https://github.com/nengo/nengo
  
==Initial Architecture==
+
OpenCL: https://www.khronos.org/opencl/
  
[[File: Cyborg_arch_latest.png|thumb|Cyborg Architecture]]
+
OpenML: http://www.openmp.org/
  
==Meeting==
+
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==
  
 
* 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]]
  
 
==How to contribute==
 
==How to contribute==
Line 33: Line 82:
  
 
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 04:16, 15 June 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/

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

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.