commit 1b52f6defbf88532f2a0bd31d6aa2f8330675cfb Author: Yumeng_Bao Date: Wed Oct 14 16:36:41 2020 +0800 Move completed victoria features to implemented directory According to spec management convention: If the feature is completed within the release cycle, move SPEC from the approved directory to the implemented directory. This patch moved the completed victoria features to implemented directory Change-Id: I80365644559c1694aeec473973c2af70ef7c5c16 diff --git a/specs/victoria/approved/inspur-fpga-driver-proposal.rst b/specs/victoria/approved/inspur-fpga-driver-proposal.rst deleted file mode 100644 index b0c5c32..0000000 --- a/specs/victoria/approved/inspur-fpga-driver-proposal.rst +++ /dev/null @@ -1,159 +0,0 @@ -.. - This work is licensed under a Creative Commons Attribution 3.0 Unported - License. - - http://creativecommons.org/licenses/by/3.0/legalcode - -================================== -Cyborg Inspur FPGA Driver Proposal -================================== - -This spec proposes to provide the initial design for Cyborg's Inspur FPGA -driver. - -Problem description -=================== - -This spec will add an Inspur FPGA driver for Cyborg to manage specific -Inspur FPGA devices. - -Use Cases ---------- - -* When Cyborg agent starts or does resource checking periodically, the Cyborg - Inspur FPGA driver should provider discover() function to enumerate the - list of the Inspur FPGA devices, and report the details of all available - Inspur FPGA accelerators on the host, such as PID(Product id), - VID(Vendor id), Device and BSP(Inspur FPGA program environment). - -* When user uses empty Inspur FPGA as their accelerators, Cyborg agent will - call driver's program() interface by provide BSP to the driver. - - -Proposed changes -================ - -In general, the goal is to develop a Cyborg Inspur FPGA driver that supports -discover/program interfaces for Inspur FPGA accelerator framework. - -The driver should include the follow functions: -1. discover() -driver reports devices' raw info sample as following:: - - [{ - "vendor": "0x1db4", - "product": "a115", - "device": "0000:af:00:0", - "bsp": {"env": "/var/lib/inspur-fpga", - "cmd": "aocl"} - }] - -2. program(bsp) - program by bsp. - bsp: the environment of accelerator device. - -Image Format ----------------------------- - -Alternatives ------------- - -None - -Data model impact ------------------ - -Inspur FPGA driver will not touch Data model. -The Cyborg Agent can call Inspur FPGA driver to update the database -during the discover/program operations. - -REST API impact ---------------- - -The related Inspur FPGA accelerator APIs is out of scope for this spec. - -Security impact ---------------- - -None - -Notifications impact --------------------- - -None - -Other end user impact ---------------------- - -User can manage Inspur FPGA card by Cyborg Inspur FPGA driver. Such as list -of the Inspur FPGA devices, report the details of all available Inspur -FPGA accelerators on the host, program with Inspur FPGA and so on. - -Performance Impact ------------------- - -None - -Other deployer impact ---------------------- - -Deployers should install the specific Inspur FPGA management stack that the -driver depends on. - -Developer impact ----------------- - -None - -Implementation -============== - -Assignee(s) ------------ - -Primary assignee: - Wenping Song - -Work Items ----------- - -* Implement Inspur FPGA driver in Cyborg -* Add related test cases. - - -Dependencies -============ - -None - -Testing -======== - -* Unit tests will be added to test this driver. - -Documentation Impact -==================== - -Document Inspur FPGA driver in Cyborg project. - -References -========== - -None - - -History -======= - -.. list-table:: Revisions - :header-rows: 1 - - * - Release - - Description - * - Victoria - - Introduced - -References -========== - -None diff --git a/specs/victoria/approved/qat-driver-proposal.rst b/specs/victoria/approved/qat-driver-proposal.rst deleted file mode 100644 index aa05355..0000000 --- a/specs/victoria/approved/qat-driver-proposal.rst +++ /dev/null @@ -1,153 +0,0 @@ -.. - This work is licensed under a Creative Commons Attribution 3.0 Unported - License. - - http://creativecommons.org/licenses/by/3.0/legalcode - -================================= -Cyborg Intel® QAT Driver Proposal -================================= - -This spec proposes to provide the initial design for Cyborg's Intel® QAT -driver. - -Problem description -=================== - -Intel® QuickAssist Technology(Intel® QAT) provides security(encryption) HW -acceleration and compression HW acceleration. It improves performance across -applications and platforms. That includes symmetric encryption and -authentication, asymmetric encryption, digital signatures, RSA, DH, and ECC, -and lossless data compression. Hence, using Intel® QAT for application -acceleration in cloud has been becoming desirable. - -Intel® QAT card also support SRIOV [1]_, which means admin can virtualize it -into serveral VFs and assign VFs to the VM. One Intel® QAT Card usually has 3 -or 6 PFs which correspond to "Device" notion in Cyborg, and each of them can be -virtualize into 8 or 16 VFs. It depends on diffirent devices. - -This spec will add a Intel® QAT driver for Cyborg to manage specific Intel® QAT -devices. - -Use Cases ---------- -* When user want to boot up a VM with Intel® QAT card (PF or VF) attached in - order to accelerate TLS workload. Cyborg should be able to manage this kind - of acceleration resources and to assign it to the VM(binding). - -Proposed changes -================ - -In general, the goal is to develop a Cyborg Intel® QAT driver that supports -discover() interfaces, this driver is reponsible to encapsule the device -information to Cyborg's unified data model, such as Device, Deployale, -AttachHandle and so on. - -The driver should include discover functions which will be called by agent -periodically. - - -Image Format ----------------------------- - -Alternatives ------------- - -None - -Data model impact ------------------ - -None - - -REST API impact ---------------- - -None - -Security impact ---------------- - -None - -Notifications impact --------------------- - -None - -Other end user impact ---------------------- - -None - -Performance Impact ------------------- - -None - -Other deployer impact ---------------------- - -Deployers should install the specific Intel® QAT software package that the -driver depends on. - -Please see ref [2]_ for details. - -Developer impact ----------------- - -None - -Implementation -============== - -Assignee(s) ------------ - -Primary assignee: - Xinran Wang - -Work Items ----------- - -* Implement Intel® QAT driver in Cyborg -* Add related test cases. - - -Dependencies -============ - -None - -Testing -======== - -* Unit tests will be added to test this driver. - -Documentation Impact -==================== - -Document Intel® QAT driver in Cyborg project. - -References -========== - -None - - -History -======= - -.. list-table:: Revisions - :header-rows: 1 - - * - Release - - Description - * - Victoria - - Introduced - -References -========== -.. [1] https://01.org/sites/default/files/downloads//330689intelqatvirtualizationappnoterev009us.pdf -.. [2] https://01.org/sites/default/files/downloads//336212007qatswgsg.pdf diff --git a/specs/victoria/implemented/inspur-fpga-driver-proposal.rst b/specs/victoria/implemented/inspur-fpga-driver-proposal.rst new file mode 100644 index 0000000..b0c5c32 --- /dev/null +++ b/specs/victoria/implemented/inspur-fpga-driver-proposal.rst @@ -0,0 +1,159 @@ +.. + This work is licensed under a Creative Commons Attribution 3.0 Unported + License. + + http://creativecommons.org/licenses/by/3.0/legalcode + +================================== +Cyborg Inspur FPGA Driver Proposal +================================== + +This spec proposes to provide the initial design for Cyborg's Inspur FPGA +driver. + +Problem description +=================== + +This spec will add an Inspur FPGA driver for Cyborg to manage specific +Inspur FPGA devices. + +Use Cases +--------- + +* When Cyborg agent starts or does resource checking periodically, the Cyborg + Inspur FPGA driver should provider discover() function to enumerate the + list of the Inspur FPGA devices, and report the details of all available + Inspur FPGA accelerators on the host, such as PID(Product id), + VID(Vendor id), Device and BSP(Inspur FPGA program environment). + +* When user uses empty Inspur FPGA as their accelerators, Cyborg agent will + call driver's program() interface by provide BSP to the driver. + + +Proposed changes +================ + +In general, the goal is to develop a Cyborg Inspur FPGA driver that supports +discover/program interfaces for Inspur FPGA accelerator framework. + +The driver should include the follow functions: +1. discover() +driver reports devices' raw info sample as following:: + + [{ + "vendor": "0x1db4", + "product": "a115", + "device": "0000:af:00:0", + "bsp": {"env": "/var/lib/inspur-fpga", + "cmd": "aocl"} + }] + +2. program(bsp) + program by bsp. + bsp: the environment of accelerator device. + +Image Format +---------------------------- + +Alternatives +------------ + +None + +Data model impact +----------------- + +Inspur FPGA driver will not touch Data model. +The Cyborg Agent can call Inspur FPGA driver to update the database +during the discover/program operations. + +REST API impact +--------------- + +The related Inspur FPGA accelerator APIs is out of scope for this spec. + +Security impact +--------------- + +None + +Notifications impact +-------------------- + +None + +Other end user impact +--------------------- + +User can manage Inspur FPGA card by Cyborg Inspur FPGA driver. Such as list +of the Inspur FPGA devices, report the details of all available Inspur +FPGA accelerators on the host, program with Inspur FPGA and so on. + +Performance Impact +------------------ + +None + +Other deployer impact +--------------------- + +Deployers should install the specific Inspur FPGA management stack that the +driver depends on. + +Developer impact +---------------- + +None + +Implementation +============== + +Assignee(s) +----------- + +Primary assignee: + Wenping Song + +Work Items +---------- + +* Implement Inspur FPGA driver in Cyborg +* Add related test cases. + + +Dependencies +============ + +None + +Testing +======== + +* Unit tests will be added to test this driver. + +Documentation Impact +==================== + +Document Inspur FPGA driver in Cyborg project. + +References +========== + +None + + +History +======= + +.. list-table:: Revisions + :header-rows: 1 + + * - Release + - Description + * - Victoria + - Introduced + +References +========== + +None diff --git a/specs/victoria/implemented/qat-driver-proposal.rst b/specs/victoria/implemented/qat-driver-proposal.rst new file mode 100644 index 0000000..aa05355 --- /dev/null +++ b/specs/victoria/implemented/qat-driver-proposal.rst @@ -0,0 +1,153 @@ +.. + This work is licensed under a Creative Commons Attribution 3.0 Unported + License. + + http://creativecommons.org/licenses/by/3.0/legalcode + +================================= +Cyborg Intel® QAT Driver Proposal +================================= + +This spec proposes to provide the initial design for Cyborg's Intel® QAT +driver. + +Problem description +=================== + +Intel® QuickAssist Technology(Intel® QAT) provides security(encryption) HW +acceleration and compression HW acceleration. It improves performance across +applications and platforms. That includes symmetric encryption and +authentication, asymmetric encryption, digital signatures, RSA, DH, and ECC, +and lossless data compression. Hence, using Intel® QAT for application +acceleration in cloud has been becoming desirable. + +Intel® QAT card also support SRIOV [1]_, which means admin can virtualize it +into serveral VFs and assign VFs to the VM. One Intel® QAT Card usually has 3 +or 6 PFs which correspond to "Device" notion in Cyborg, and each of them can be +virtualize into 8 or 16 VFs. It depends on diffirent devices. + +This spec will add a Intel® QAT driver for Cyborg to manage specific Intel® QAT +devices. + +Use Cases +--------- +* When user want to boot up a VM with Intel® QAT card (PF or VF) attached in + order to accelerate TLS workload. Cyborg should be able to manage this kind + of acceleration resources and to assign it to the VM(binding). + +Proposed changes +================ + +In general, the goal is to develop a Cyborg Intel® QAT driver that supports +discover() interfaces, this driver is reponsible to encapsule the device +information to Cyborg's unified data model, such as Device, Deployale, +AttachHandle and so on. + +The driver should include discover functions which will be called by agent +periodically. + + +Image Format +---------------------------- + +Alternatives +------------ + +None + +Data model impact +----------------- + +None + + +REST API impact +--------------- + +None + +Security impact +--------------- + +None + +Notifications impact +-------------------- + +None + +Other end user impact +--------------------- + +None + +Performance Impact +------------------ + +None + +Other deployer impact +--------------------- + +Deployers should install the specific Intel® QAT software package that the +driver depends on. + +Please see ref [2]_ for details. + +Developer impact +---------------- + +None + +Implementation +============== + +Assignee(s) +----------- + +Primary assignee: + Xinran Wang + +Work Items +---------- + +* Implement Intel® QAT driver in Cyborg +* Add related test cases. + + +Dependencies +============ + +None + +Testing +======== + +* Unit tests will be added to test this driver. + +Documentation Impact +==================== + +Document Intel® QAT driver in Cyborg project. + +References +========== + +None + + +History +======= + +.. list-table:: Revisions + :header-rows: 1 + + * - Release + - Description + * - Victoria + - Introduced + +References +========== +.. [1] https://01.org/sites/default/files/downloads//330689intelqatvirtualizationappnoterev009us.pdf +.. [2] https://01.org/sites/default/files/downloads//336212007qatswgsg.pdf