macnica corporate update - wordpress.com · intel’s 5g end-to-end approach smart devices wireless...

Post on 28-Oct-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

インテル株式会社

小柳敏則

2

Intel® to Acquire Barefoot Networks (June 10, 2019)

https://newsroom.intel.com/editorials/intel-acquire-barefoot-networks/#gs.50ya99

3

Intel + P4

インテル® FPGA PAC N3000

Programable SwitchIA Server + Programable NIC

Intel’s 5G End-to-End Approach

Smart Devices

Wireless Technology

AccessNetwork

Core Network Cloud

INTEL® ARCHITECTURE, FPGAS, SOFTWARE, SECURITY, AI

Intel® EthernetController

Intel® QuickAssistTechnology

Intel®Silicon

Photonics

Intel® FPGA

Intel® Processors & SoCs

SCALABLE & FLEXIBLE TECHNOLOGIES AND OPEN SOURCENFV Foundation

Programmable Solutions Group Intel Confidential 5

5G Approach

COTS server+

Open Software⇓

Intel® FPGA PAC

Virtualization+

Software Radio+

Accelerator⇓

FlexRAN Ref. Solution

6

Intel® FPGA PAC N3000 Architecture

NIC Chip

NIC Chip

PCIe Switch

QSFP + / 28

QSFP + / 28

PCIe Gen3x8PCIe Gen3

x8PCIe Gen3

x8PCIe Gen3

x8

40 GbE4 x 10 GbE

25 GbE10 GbE

PCIe Gen3x16

HDL

7

Programed by P4

WhiteBox Switch with

8

Intel® FPGA PAC N3000 Use Case

https://corp.rakuten.co.jp/news/press/2019/0212_06.html

詳細解説--楽天モバイルネットワークの5G基盤はどうなっているのか(抜粋)

楽天モバイルネットワークでは、BBUをソフトウェアで仮想化し、x86サーバをエッジサーバとして配置する。エッジサーバは、NTTの電話局にコロケーションで設置する。基地局とエッジサーバ間は、専用の光ファイバ(100Gビット)で接続される。

ただ、単なるx86サーバだけでは、基地局からのパケットを

処理するのに負荷がかかる。このためエッジサーバに、携帯電話ネットワークのパケット処理にチューニングしたIntelのFPGAカードが使われている。1つの基地局に対して1つのFPGA

カードが接続されることで、負荷のかかるパケット処理を高速なFPGAでハードウェア処理してしまうというコンセプトだ。

https://japan.zdnet.com/article/35134297/

9

法務上の注意書きと最適化に関する注意事項

本資料の情報は、現状のまま提供され、本資料は、明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスも許諾するものではありません。製品に付属の売買契約書『Intel's Terms and Conditions of Sale』に規定されている場合を除き、インテルはいかなる責任を負うものではなく、またインテル製品の販売や使用に関する明示または黙示の保証 (特定目的への適合性、商品性に関する保証、第三者の特許権、著作権、その他、知的財産権の侵害への保証を含む) をするものではありません。

性能に関するテストに使用されるソフトウェアとワークロードは、性能がインテル® マイクロプロセッサー用に最適化されていることがあります。SYSmark* や MobileMark* などの性能テストは、特定のコンピューター・システム、コンポーネント、ソフトウェア、操作、機能に基づいて行ったものです。結果はこれらの要因によって異なります。製品の購入を検討される場合は、他の製品と組み合わせた場合の本製品の性能など、ほかの情報や性能テストも参考にして、パフォーマンスを総合的に評価することをお勧めします。詳細については、www.intel.com/benchmarks (英語) を参照してください。

© 2019 Intel Corporation.無断での引用、転載を禁じます。Intel、インテル、Intel ロゴ、Intel Inside、Intel Inside ロゴ、Intel Atom、Intel Core、 Quark、 Xeon、Intel Xeon Phi、VTune は、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。

最適化に関する注意事項

インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。

注意事項の改訂 #20110804

Confidential

NETCOPE P4 コンパイラー ワークフロー

日本 P4 ユーザ会 2019

2019.10.11

株式会社 マクニカ アルティマカンパニー

技術統括部応用技術4部

清水裕晶

Confidential

アジェンダ

⚫ NETCOPE 社概要

⚫ NETCOPE の Intel® FPGA 向け P4 コンパイラー・ワークフロー

⚫ Intel® FPGA での P4 ユースケース

⚫ Intel® FPGA PAC N3000 / NETCOPE P4 キャンペーンのご紹介

⚫ サマリ

12

Confidential

NETCOPE 概要

⚫ 会社所在地○ 本社:チェコ共和国ブルノ

○ セールスオフィス : 米国サンノゼ

⚫ 提供物○ FPGA 用 P4 コンパイラー

‐ 大規模 FPGA をより使い易く

‐ 仮想化ネットワークへの移行を促進

⚫ パートナー○ イギリス、ドイツ、日本

○ 日本 : マクニカアルティマカンパニー

Confidential

FPGA + P4 で実現する 主要分野

14

パケットキャプチャパケットフィルタ

カプセル化トンネル終端

インターネットサービスプロバイダ

データセンター セキュリティエンタープライズ

OVSvRouter

ロードバランシングセグメントルーティング

(SRv6, SR-MPLS)インバンドネットワークテレメトリ

仮想ゲートウェイの高速化vBNG, vEPC, S/PGW

パケットヘッダ変更大規模テーブル検索

QoS, 統計用カウンタ配列

仮想化機能のオフロード化 ネットワークセキュリティと監視

Confidential

Netcope P4、出力形式

⚫ Bitstream :○ Intel® FPGA PAC N3000 アクセレレーションカードな

どで動作可能な FPGA のプログラム用データ

⚫ Netlist (Option) :○ 3rd Party の IP を追加してお客様自身のサービスを

追加してデザインをカスタマイズできます

Confidential

NETCOPE P4 ワークフロー【設定手順】

1. P4 コードの記述

2. P4 コードを NETCOPE P4 Cloud へ登録

1. FPGA Bitstream の生成

16

Confidential

ログイン

P4 コード 入力

FPGA 用データ

P4 to HDL 変換

合成/配置配線

IP cores とリンク

HWに展開

Web インターフェース サーバー側処理デザイン設計、配置

P4 コード

Netcope P4 ワークフロー (Bit Stream)

33

Confidential

NETCOPE P4 ワークフロー (Bit Stream)

18

P4 Code

プルダウンにてTASK の選択

プルダウンにて使用するインテル® FPGA カードの選択

Confidential

NETCOPE P4 ワークフロー【設定手順】

1. FPGA を Programming

1. # ./load-fw-intel.sh FPGA <sof file>

2. デーモンの起動

○ sudo np4atomtool daemon --start --device /dev/alt_pf90

3. Atom の Table ルールファイルのロード

○ np4atomtool atom -i 0 --load <file>

○ np4atomtool atom -i 1 --load <file>

4. 送信データパスを設定(必要に応じて)

○ (例) np4tool-intel --tx-mode direct

○ (例) np4tool-intel --tx-bypass-enable

19

Confidential

Intel® FPGA PAC N3000 HW 構成

20

QSFP

QSFP

Intel® Arria® 10 GX FPGAXL710

NIC

4x10G

XL710

NIC

4x10G

8x10G Mode

N

E

T

W

o

R

K

x4

x4

4x10G

4x10G

QSFP

QSFP

Intel® Arria® 10 GX FPGAXL710

NIC

4x10G

XL710

NIC

4x10G

2x2x25G Mode

N

E

T

W

o

R

K

x2

x2

1x40G

1x40G

1x40G

1x40G

Nfv_eth_wrapper

(8x10)

Nfv_eth_wrapper

(8x10)

UPL

wire

Nfv_eth_wrapper

(4x40)

Nfv_eth_wrapper

(4x25)

UPL

wire

K

e

r

n

e

l

K

e

r

n

e

l

Confidential

NETCOPE P4 ワークフロー【FPGA データパス構成】

21

Ethernet MAC IF は NETCOPE Bit Stream に、含まれているので設計側で実装する必要はない=> P4 Atoms 設計にフォーカスできる

Network

Confidential

NETCOPE P4 ワークフロー【FPGA データパス構成】

22

TXトラフィックの制御- np4tool-intel

P4 Atom のルールテーブルの制御- np4atomtool

Egress Port の制御- P4コードで定義 して Intrinsic metadata から設定

Confidential

NETCOPE P4 ワークフロー【Egress Portの制御】

23

TXトラフィックの制御- np4tool-intel

P4 Atom のルールテーブルの制御- np4atomtool

Egress Port の制御- P4コードで定義 して Intrinsic metadata から設定

Confidential

NETCOPE P4 ワークフロー 【Egress portの制御】

24

Ethernet 0

Ethernet 1

NETCOPE P4

Atom 0

NETCOPE P4

Atom 1

Fortville 0

Fortville 1

Line 0

Line 1

Line 0

Line 1

enp6s0f0

enp6s0f1

enp8s0f0

enp8s0f1

Intrinsic metadata の egress port のオフセット値でセレクタを設定0 : Ethernet 0

1 : Ethernet 1

128 : Fortville 0, Line 0

129 : Fortville 0, Line 1

130 : Fortville 1, Line 0

131 : Fortville 1, Line 1

P4 コード上で Intrinsic metadata にアクセスする“Action”, Table を記述する

Eg

ress

Po

rtEg

ress

Po

rt

Confidential

NETCOPE P4 ワークフロー 【Egress Portの制御】

⚫ P4 記述例

25

※次に、API(np4atomtool) で Table の設定をする

Confidential

NETCOPE P4 ワークフロー【Egress Portのテーブル制御】

26

P4 Atom 0

Action Param

np4atomtool (API) で Port を設定する

Confidential

NETCOPE P4 ワークフロー【Egress Portのテーブル制御】

27

P4 Atom 0

Action Offset

select_line 128

API コマンド例# np4atomtool table -i 0 --load rules.txt

ルールファイル例NP4 ruleset 3.0

table_ePort default action select_line params ( offset 128 )

Ethernet 0

Ethernet 1

Atom 0 Fortville 0

Fortville 1

Line 0

Line 1

Line 0

Line 1

enp6s0f0

enp6s0f1

enp8s0f0

enp8s0f1

Confidential

NETCOPE P4 ワークフロー【Egress Portのテーブル制御】

28

P4 Atom 0

Action Offset

select_eth 1

API コマンド例# np4atomtool table -i 0 --load rules.txt

ルールファイル例NP4 ruleset 3.0

table_ePort default action select_eth params ( offset 1 )

Ethernet 0

Ethernet 1

Atom 0 Fortville 0

Fortville 1

Line 0

Line 1

Line 0

Line 1

enp6s0f0

enp6s0f1

enp8s0f0

enp8s0f1

Confidential

NETCOPE P4 ワークフロー 【P4 Atom Table の制御】

29

TXトラフィックの制御- np4tool-intel

P4 Atom のルールテーブルの制御- np4atomtool

Egress Port の制御- P4コードで定義 して Intrinsic metadata から設定

Confidential

NETCOPE P4 ワークフロー 【P4 Atom Tableの制御】

⚫ 使用する API

○ np4atomtool

‐ P4 Atom に対して “Match & Action”の設定や確認を行うことが可能

30

Confidential

NETCOPE P4 ワークフロー 【P4 Atom Tableの制御】

31

table table_ipv4_filter {

reads {

ipv4.srcAddr : ternary;

}

actions {

pass;

drop;

}

max_size: 1000;

}

P4 テーブル記述

起動時はテーブルは空なので np4atomtool で設定

Source Address Action

default

1000 entry

P4 Atom 0

Confidential

NETCOPE P4 ワークフロー 【P4 Atom Tableの制御】

Source Address Action

default pass

192.168.10.1/24 drop

192.168.30.2/24 drop

192.168.50.3/24 drop

32

1000 entry

P4 Atom 0コマンド例# np4atomtool table -i 0 --load rules.txt

ルールファイル例NP4 ruleset 3.0

table_ipv4_filter default action pass

table_ipv4_filter keys ( ipv4.srcAddr 192,168,10,1:255,255,255,0 ) action drop

table_ipv4_filter keys ( ipv4.srcAddr 192,168,30,2:255,255,255,0 ) action drop

table_ipv4_filter keys ( ipv4.srcAddr 192,168,50,3:255,255,255,0 ) action drop

ルールファイルのロード

Confidential

NETCOPE P4 ワークフロー 【TXトラフィックの制御】

33

TXトラフィックの制御- np4tool-intel

P4 Atom のルールテーブルの制御- np4atomtool

Egress Port の制御- P4コードで定義 して Intrinsic metadata から設定

Confidential

NETCOPE P4 ワークフロー 【TXトラフィックの制御】

⚫ 使用する API

○ np4tool-intel

‐ Fortville からのトラフィックの接続先を指定可能

‐ Atom を Bypass して直接 Ethernet

‐ Fortville 0/1 から Atom 0/1

34

Confidential

NETCOPE P4 ワークフロー 【TXトラフィックの制御】

⚫ Transmit bypass

35

Ethernet 0

Ethernet 1

Atom 0

Atom 1

Fortville 0

Fortville 1

Line 0

Line 1

Line 0

Line 1

enp6s0f0

enp6s0f1

enp8s0f0

enp8s0f1

EnableEthernet 0

Ethernet 1

Atom 0

Atom 1

Fortville 0

Fortville 1

Line 0

Line 1

Line 0

Line 1

enp6s0f0

enp6s0f1

enp8s0f0

enp8s0f1

Disable

コマンド例# np4tool-intel --tx-bypass-enable

# np4tool-intel --tx-bypass-disable (default)

Confidential

NETCOPE P4 ワークフロー 【TXトラフィックの制御】

⚫ Transmit mode

36

コマンド例# np4tool-intel --tx-mode <mode>

direct : Fortville 0 => Atom 0 or Ethernet 0, Fortville 1 => Atom 1 or Ethernet 1

all0 : すべて Atom 0 or Ethernet 0

all1 : すべて Atom 1 or Ethernet 1

interleave :

Fortville0 line0 => Atom0 or Ethernet 0, Fortville0 line 1 => Atom 1 or Ethernet 1

Fortville1 line0 => Atom0 or Ethernet 0, Fortville1 line 1 => Atom 1 or Ethernet 1

Confidential

Macnica 評価環境

⚫ Packet Filter や Address 変換など P4 で記述して、FPGA 内部データパースを対象に NETCOPE P4 ワークフローを検証をしてみました

37

OS 環境OS : CentOS 7.3

DPDK : 17.02

GCC : 4.9.2

Programmer : 16.1

Server 環境-Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz

-Number of core : 12 Core

-MemTotal: : 32668856 kB

NIC Card

- Intel® FPGA Programmable Acceleration Card

Cable & Rate

- QSFP

- Finisar FCBN425QB1C01

- 40Gbps

Linux

-Packet 生成

Loopback@40G

Intel® FPGA

-Packet Filter

-Address rewrite

Confidential

Macnica 評価環境

⚫ Rule file

⚫ Result Wireshark

38

Input Output

Confidential

Macnica 評価環境

39

Confidential

ユースケース【Segment Routing】

✓ スケーラブルなエンドツーエンドのポリシー

✓ IP および SDN 用に設計

✓ シンプルさ

✓ 一部のプロトコルを排除

✓ オーバーヘッドを削減

✓ 集中化された最適化で、

既存インフラストラクチャの利用性向上

⚫ セグメントルーティングは、分散インテリジェンスと集中型最適化の適切なバランスを追求するソースルーティングアーキテクチャ

パケットは、Segment List に基づいて処理される

Confidential

ユースケース【Segment Routing】

⚫ セグメントルーティングは、分散インテリジェンスと集中型最適化の適切なバランスを追求するソースルーティングアーキテクチャ

Mobile telco

ユースケース

segment routing 機能例 機能の内容

T.Encaps SRv6でカプセル化

END.DX4 SRv6 カプセル解除し、IPV4 でカプセル化

T.M.GTP4.D (GTP → SR) GTP / UDP / IPv4パケットをカプセル化解除し、IPv6

SRヘッダーでカプセル化する

End.M.GTP4.E (SR → GTP) IPv6 SRパケットをカプセル化解除し、GTP / UDP /

IPv4ヘッダーでカプセル化する

Confidential

Example Code and NETCOPE P4

// Rewrites destination IPv6 address

action rewrite() {

// Rewrite the destination IPv6

// address with the last IPv6 segment

modify_field(ipv6.dstAddr,lastSeg.segVal);

add_to_field(ipv6_ext.next_seg,-1)

}

// Only default rule with action rewrite

table tab_rewrite {

actions {

rewrite;

}

}

42

Confidential 43

$5,000-※マクニカ受注期限: 2019 年 11 月 11 日

※ ソフトウェアライセンス期間(1か月) ※ Intel®FPGA Prgorammable Acceleartion Card

N3000

参加者様限定!『 』

Confidential

サマリ

⚫ ラインレートで低ジッタの処理を実現できる Intel® FPGA PAC

N3000 は 5G 時代の多様なパケット処理に最適

⚫ NETCOPE P4 コンパイラーにより、FPGA をソフトウェア・ライクに設計でき、製品開発のアジリティを向上

⚫ マクニカで P4 及び FPGA をワンストップでサポート

⚫ 各種パートナー企業様と連携して様々なユースケースを提唱予定

⚫ 日本 P4 ユーザ会 2019 参加者様限定のキャンペーンをご活用ください

44

キャンペーン受付先窓口㈱マクニカ アルティマカンパニー平部真彬hirabe-m@macnica.co.jp

Become flexible with Netcope P4

- paradigm shift in FPGA programming.

top related