You are on page 1of 14

> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

Giải pháp tổng thể thiết kế SDN-Switch có đặc


tính tiết kiệm năng lượng
Tuan Nguyen-Trong, Cuong Nguyen-Van, Thang Huynh-Viet

Abstract – – Mạng SDN hiện nay là một xu hướng tất yếu được áp không phải bất kỳ thời điểm nào tất cả Sub-Module đều hoạt
dụng thay cho kiến trúc mạng truyền thống, trong đó tách biệt phần động, mà chỉ hoạt động trong một thời điểm ngắn nhất định. Do
điều khiển và phần xử lý dữ liệu. Bên cạnh đó với khả năng Defined đó mục tiêu thiết kế là Active những module hay Sub-module tại
bằngSoftware cho phép phần điều khiển trở nên linh động, mềm dẻo những thời điểm cần thiết, sau thời điểm đó sẽ De-Active các
và cho phép lập trình được qua đó tăng khả năng tự động hóa và đơn
giản việcquản trị. SDN-Switch hiện đã sử dụng rộng rãi trong các hệ
thành phần này.
thống mạng, đặt biệt tại các Trung Tâm Dữ liệu lớn. Với xu thế điện Đối với Case (2): Các Device khi kết nối tại các Port ở SDN-
toán đám mây, các dịch vụ số được tập trung hóa tại các Data Center Switch sẽ là Input, hoặc Output và cả Input/Output. SDN-Switch
như AWS..thì yêu cầu SDN-Switch hoạt động ở các băng thông cao, có chức năng phát hiện trình trạng kết nối của Device như Energy
và số lượng Port kết nối khổng lồ. Điều này phát sinh việc tiêu hao detect, Data Flow detect, 10/100/1G bandwidth để thực hiện việc
năng lượng rất lớn. Với hiệu ứng nhà kính do khí thải các nhà máy Active hay De-Active các Tri_MAC và Port liên quan, và thiết
điện, giá nhiên liệu tăng cao, nhiên liệu hóa thạch ngày càng cạn kiệt, lập tần số hoạt động Clock cho phù hợp với băng thông Device
thì việc tiết kiệm năng lượng trở nên ngày càng cấp thiết. Tiết kiệm đang được kết nối vào, cụ thể như sẽ thiết lập tần số Clock
năng lượng trong mạng SDN được xem xét trên hai giải pháp, giải
125Mhz/25Mhz/2.5Mhz tương ứng cho băng thông 10/100/1G.
pháp bằng tối ưu hóa bằng phương pháp định tuyến Topology của
toàn mạng, và giải pháp thứ hai là tối ưu năng lượng tiêu thụ bên Đặc biệt trong các Data Center, các kết nối hoạt động ở băng
trong SDN-Switch. Tối ưu hóa định tuyến trong SDN Topology đã thông rất cao như 10G; 40G [1]; 50G [2] sẽ có Clock tương ứng
được nhiều công trình nghiên cứu đề cập đến. Riêng tối ưu năng 156.25Mhz; 312.5Mhz; 390.625Mhz…, cho nên việc thiết lập tần
lượng SDN-Switch nói chung và OpenFlow nói riêng, thì rất ít và số hoạt động Clock phù hợp băng thông kết nối sẽ giảm năng
chưa có một giải pháp nào mang tính tổng thể. Trong bài báo này, lượng tiêu thụ rất nhiều [3] [xapp790].
chúng tôi trình bày một giải pháp thiết kế tổng thể cho SDN-Switch
với đặc tính tiết kiệm năng lượng, từ OpenFlow đến các thành phần Đối với Case (3): Đối với các SDN-Self Service trên các
ngoại vi. Cloud, các ASP (Application Service Provider) như AWS,
Huawei.. cung cấp các dịch vụ như “Băng Thông Kết Nối” ,
Index Terms - Clock Gating, OpenFlow, Power Saving, SDN-Switch
“Dịch vụ Lưu Trữ”, “Dịch vụ sử dụng nội dung số (Video, Music
online)”. Khi End-User đăng ký và trả tiền mua dịch vụ, Nhà
cung cấp dịch vụ sẽ mở kết nối và cung cấp dịch vụ đến End-
I. INTRODUCTION
User cho đến khi dịch vụ được thỏa mãn, cắt kết nối. Việc cắt kết
O nối sẽ giảm năng lượng tiêu thụ trên SDN-Switch. Theo chuẩn
verview consumed energy of SDN-Switch: OpenFlow, các Capacities of Service, Time of Service … sẽ liên
tục cập nhật trạng thái như “dung lượng gói tin”, “thời gian truy
Một hệ thống SDN điển hình bao gồm 3 thành phần: SDN- cập’ về Application để Application sẽ ra quyết định cắt kết nối.
Switch, SDN Controller (as OpenDaylight, Floodlight…) và Điều này sẽ gây nên sự quá tải cho Controller và Application khi
SDN-Application. Thành phần SDN-Application nơi cung cấp và có quá nhiều Ports ở một SDN-Switch và hệ thống có quá nhiều
quản lý các dịch vụ liên quan đến Network. Để tiết kiệm năng SDN-Switch. Yêu cầu đặt ra là trên SDN-Switch sẽ nhận lệnh và
lượng trên SDN-Switch một cách toàn diện và triệt để, yêu cầu tham số từ Application, và quyết định việc Connect hoặc
phát triển một hệ thống SDN-Switch for PowerSaving cần được Disconnect các kết nối. Vui lòng xem Demo liên quan đến SDN-
xem xét trên ba khía cạnh gồm: (1) OpenFlow IP Core của SDN- Self Service liên quan đến Case (3) trong link [4][link_1] và [5]
Switch có chức năng Power-Saving, (2) Dựa vào vào trạng thái [link_2]
các thiết bị kết nối vào SDN-Switch, SDN-Switch sẽ điều khiển
các module ngoại vi như Ethernet Controller (Xilinx định danh là
Tri-EMAC), PHY thực hiện chức năng Power-Saving, (3) SDN- P/s : [4][Link 1] và [5][Link_2] được thực hiện khi tác giả làm tại
Switch hỗ trợ Application Layer thực hiện chế độ Power-Saving Hitachi Consoulting, nay là Hitachi Vantara

Ví dụ: với Case (1): Trong OpenFlow IP Core, có nhiều Bên cạnh đó, hệ thống có thể kết hợp cả Case (2) và Case (3) để
Input/Output Port, nhiều Table... Các Table được kết nối đến các đạt tối ưu về Power-Saving.
Input/Output Ports đó. Sẽ có nhiều trường hợp không phải tất cả
các Input/Output port đều đồng thời hoạt động, hoặc không phải II. CÁC CÔNG VIỆC LIÊN QUAN TRƯỚC ĐÂY VÀ
tất cả các Table đều đồng thời hoạt động. Bên cạnh đó, trong PROPOSAL CHO ĐỀ XUẤT MỚI
một module (Table, GroupExecutor… ) sẽ có nhiều Sub-module,
1
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

A. Đánh giá các công việc liên quan trước đây. Vũ)NetFPGA Based OpenFlow Switch Extension for Energy
Hầu hết các công trình nghiên cứu trước đây, chỉ tập trung cho Saving in Data Centers.pdf
việc phân tích và thống kê các Traffic Data Flow, sau đó định Tác giả phát triển message mở rộng tại Host Controller NOX và
tuyến các Router, Switch sao cho Traffic tối ưu nhất, sẽ tắt các một Circuit OSC mở rộng bên ngoài. Căn cứ vào các Message
Router, Switch không sử dụng để giảm năng lượng tiêu thụ. điều khiển mà OSC sẽ quyết định On/Off cho từng mỗi PHY của
Phương pháp này gọi là tối ưu về Network topology, với phương Port Switch hay sẽ On/Off luôn Switch. Với giải pháp này tác giả
pháp này thì ưu điểm trong trường hợp tối ưu hóa dồn và có khả đề xuất giải pháp tiết kiệm công suất thiết bị ngoại vi của
năng dồn về hết một/vài switch, nếu không dồn hết thì bắt buộc OpenFlow chứ chưa có giải pháp tiết kiệm bên trong OpenFlow
phải có ít nhất một số Switch phải hoạt động, cho dù chỉ dùng IP Core. Bên cạnh đó cũng không đề cập đến việc tiết kiệm năng
một số ít trên tổng số nhiều Port mà Switch đang có. Cụ thể được lượng khi băng thông thay đổi. Cho nên giải pháp của bài báo này
liệt kê một số Paper như sau được : không tiết kiệm năng lượng cho SDN-Switch một cách triệt để.

Powwer Saving by Network topology: Phát hiện các Traffic và [18] NetFPGA Based OpenFlow Switch Extension for Energy
định tuyến lại Router tối ưu, tắt các Router khác để giảm năng Saving in Data Centers.pdf
lượng như [6]; [7]; [8]; [9]; [10]; or [11] https://ieeexplore.ieee.org/document/6404282
Một số Paper đề cập việc tiết kiệm năng lượng cho thiết bị mạng
bằng cách giám sát luồng dữ liệu và băng thông kết nối đến thiết [19] Power Saving bằng việc phân tích kỹ thuật hàng
bị mạng, nếu không có luồng dữ liệu thì sẽ thiết lập thiết bị mạng đợi (Trần Hoàng Vũ)
ở trạng thái IDLE, cũng như kiểm tra băng thông kết nối để thiết Energy saving for OpenFlow switch on the NetFPGA
lập tần số hoạt động thiết bị mạng cho phù hợp như được mô tả platform based on queue engineering.pdf:[queue engineering]
tại [12] và [13]. Tuy nhiên những Paper này đề cập đến thiết bị Sử dụng phương pháp lưu các Data Flow vào hàng đợt
mạng Switch, chứ không đề cập đến SDN-Switch. Những Paper ở NF2 MAC. Khi hàng đợi đến ngưỡng đầy, thì sẽ cấp Clock cho
nói trên đề cập việc tiết kiệm năng lượng liên quan đến định hệ thống để đọc các Data Flow từ hàng đợi này. Phương pháp
tuyến Mạng SDN hay on/off các thành phần ngoại vị một thiết bị này cần yêu FIFO dung lượng đủ lớn, vì FIFO dung lượng nhỏ
mạng nói chung, thì Paper [14] đề cập vấn đề tiết kiệm năng thì phương pháp này không có tác dụng tiết kiệm năng lượng.
lượng bằng cách đề xuất định tuyến traffic tối ưu cho FlowTable Tuy nhiên nếu FIFO dung lượng lớn thì sẽ bị tiêu hao điện năng
được dựa trên kiến trúc TCAM bằng kỹ thuật DVFS, hay tại nhiều hơn so với FIFO dung lượng nhỏ, đồng thời không đảm
Paper [15] [16] (cần bổ xung thêm một số ý liên quan đến 16) thì bảo với các luồng dữ liệu yêu cầu Real-time, vì bị delay khi lưu
đề xuất việc tiết kiệm năng lượng cho OpenFlow tại các vào FIFO. Bên cạnh đó mô hình OpenFlow trong Paper không
FlowTable bằng cách kiến trúc lại và tối ưu hóa các cell NAND phù hợp với mô hình OpenFlow chuẩn, tức là không có thành
and NOR của bộ nhớ TCAMs để tiết kiệm năng lượng hơn. phần được chuẩn hóa như Table; Metertable; Execute Action Set,
thực hiện các ActionSet như Figure 2 tại tài liệu chuẩn hóa [20]
Các Paper trên được mô tả trên tập trung vào việc thiết kế các [openflow]. Bên cạnh đó tác giả chỉ điều khiển Clock ở 125Mhz
cổng Logic-cell tại bộ nhớ TCAM trong FlowTable nhằm mục khi hoạt động và 0Mhz khi SLEEP mode, chứ không điều chỉnh
đích tiết kiệm năng lượng, chứ không đề cập đến tiết kiệm năng Clock phù hợp với băng thông kết nối 10M/100M/1G, nên giải
lượng trên một kiến trúc chuẩn của OpenFlow. pháp tiết kiệm chưa tối ưu.
Từ Paper nói trên, chúng ta nhận thấy ngoài một số Paper tập
Tại [17] --- Chỗ này cần bổ xung thêm các ý cho 17 trung vào tối ưu Topology Network để tối ưu năng lượng cho một
mạng, thì các Paper còn lại chưa có một giải pháp tổng thể để tiết
Simultaneously Reducing Latency and Power on OpenFlow kiệm năng lượng cho một OpenFlow nói riêng và SDN-Switch
Switch.pdf nói chung. Các paper hoặc chỉ tập trung một thành phần nhỏ
[17] https://ieeexplore.ieee.org/document/6558861 trong OpenFlow ( như tối ưu TCAM), hoặc tập trung vào các
propose enhancing an OpenFlow Ethernet switch with per-port Port của OpenFlow. Bên cạnh đó mô hình OpenFlow trong các
packet prediction circuitry in order to Paper này không phải là mô hình chuẩn của OpenFlow tại [20]
simultaneously reduce latency and power consumption without Mục tiêu Proposal này phát triển một SDN-Switch trên
sacrificing rich policy-based forwarding enabled by the FPGA Platform với OpenFlow Core được phát triển theo đúng
OpenFlow architecture. Packet prediction exploits the temporal theo kiến trúc chuẩn hóa theo tổ chức Open Networking
locality in network communications to predict the flow Foundation (ONF) [20] [openflow] như hình [hình OpenFlow] ,
classification of incoming packets. When predictions are correct, với giải pháp là tối ưu hóa năng lượng tiêu thụ trên OpenFlow IP
latency can be reduced, and significant power savings can Core và trên SDN-Switch, bao gồm chỉ Active Clock cho những
beachieved from bypassing the full lookup process. Simulation Module & Sub-Module nào cần thiết liên quan đến luồng dữ liệu
studies using actual network traces indicate that correct tương ứng trong OpenFlow IP Core. Active Clock cho Port và
prediction rates of 97% are achievable using only a small ngoại vi liên quan khi có nhu cầu truyền nhận dữ liệu, thiết lập
amount of prediction circuitry per port. tần số hoạt động Clock phù hợp với băng thông kết nối ở ngoại vi
OpenFlow, tức là SDN-Switch. Trong các Data Center và các hệ
Tại [18] Power Saving by Phân tích trạng thái đường truyền thống mạng lớn, là nơi tập trung số lượng lớn các SDN-Switch
dùng để đóng mở Switch hay Port của Switch (Trần Hoàng với 48-96 Port và băng thông 10-40Gbps thì giải pháp của đề

2
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

xuất này sẽ tiết kiệm năng lượng một cách đáng kể, như kết quả Quad Ports [24][FMC] và thiết bị đo đạc công suất Power
đã được kiểm chứng tại mục VI- Results Measurement của TI [25] [TI]. Bên cạnh đó Board ML605 được
thiết kế phù hợp cho việc kiểm tra, đo đạc công suất tiêu thụ các
thành phần ngoại vi như PHY hay FPGA [26][Power for Xilinx]
Các thông tin điều khiển ( Set các Rule, hay các Action … ) từ
Host đưa xuống sẽ dùng Tool Packeth [27] thiết lập

SDN-Switch phát triển dựa trên OpenFlow Version 1.3.4 ,với 3


Table, Meter Table và mỗi Table chứa 1024 Flow Entry và 4
Group_id và mỗi Group_id có 4 Action Buckets
OpenFlow Version 1.3.4 là Verison hiện đang được các hãng
Cisco Catalyst-9300-Series-Switches [28][Cisco]; [29]QFX5100
Ethernet Switch [Juniper]; Aruba 2920 Switch Series [30]
[Aruba]. Các thông tin điều khiển ( Set các Rule, hay các Action
… ) từ Host đưa xuống sẽ dùng [30] Tool Packeth thiết lập.
SDN-Switch phát triển dựa trên OpenFlow Version 1.3.4 ,với 3
Hình 1 [hình OpenFlow] :mô hình xử lý luồng dữ liệu trong Table, Meter Table và mỗi Table chứa 1024 Flow Entry và 4
OpenFlow [20][openflow] Group_id và mỗi Group_id có 4 Action Buckets
Hiện nay, các Switch ở các Data Center đa số dùng tốc độ
10G/40G, để phát triển giải pháp Proposal như Paper này trên
B. Đề xuất mô hình tiết kiệm năng lượng trong SDN-Switch 10G/40G thì chi phí khá cao, như cần License 10G/25G Ethernet
Liên quan đến Case (1): Phân tích các Header của các MAC/PCS [31] [10G/20]; các FMC 10G SFP+ [32] [10G SFP+],
DataFlow vào, DataFlow nào có matching với Instruction từ và các PC cần trang bị các Card mạng 10G; cáp và các module
Host thì sẽ Active Clock các Module & Sub-Module liên quan liên quan. Chi phí để thực hiện cho tốc độ 10G khá cao so với
đến Action của Instruction đó. Clock duy trì (Active) khi luồng ngân sách của Team, nên team thực hiện ở tốc độ 10/100/1G. Tuy
Data đi vào Module & Sub-Module, và kết thúc (De-Active) khi nhiên khi đánh giá được mức tiết kiệm năng lượng ở 10/100/1G,
luồng Data đi ra hết. thì chúng ta sẽ đánh giá được mức độ tiết kiệm năng lượng ở tốc
Liên quan đến Case (2): Giám sát luồng dữ liệu vào/ra tại độ 10G/40G. Vì mức độ tiêu hao năng lượng tuyến tính theo tần
Port và sẽ Active & De-Active Clock tương ứng. số, kết quả thực nghiệm ở mục VI- Results sẽ minh chứng cho
Giám sát băng thông của các End-User hay các Device kết điều này.
nối, để thiết lập tần số Clock cho SDN Switch cho phù hợp.
Để thực hiện các chức năng này, sẽ phát triển thêm các Module P/s (*): Port ở đây có 3 thành phần, gồm: PHY, Tri-EMAC và
và tích hợp các Module có sẵn của Xilinx, Altera PortComsumer
Yêu cầu quan trọng đặt ra là Module phát triển thêm và cơ chế
hoạt động tích hợp thêm bên trong SDN-Switch vẫn tuân thủ III. PHÁT TRIỂN HỆ THỐNG
OpenFlow Specification [20][openflow], cũng như kiến trúc
SDN-Switch có chức năng Power-Saving này vẫn hoạt động bình A. Mô hình tổng quát kiến trúc cho SDN-Switch thực hiện chức
thường trong tất cả Data Center hay Cloud. năng Power-Saving
Phát triển chức năng Power-Saving for SDN Switch sẽ bao
Liên quan đến Case (3) gồm các thành phần sau:
Các End-User và Nhà mạng sau khi đã thỏa thuận các dịch vụ 1) Chức năng Power Saving cho OpenFlow IP Core: Thiết kế
liên quan đến “Time of Service”, hay “Volume storage of OpenFlow Core tối ưu tiết kiệm năng lượng nhất theo hướng sẽ
Service” … [21][aws]; [22] [huawei] thì Nhà mạng sẽ thiết lập active Clock cho những Module và Sub-Module liên quan đến
các thông số dịch vụ này xuống Local of SDN-Switch. Local sẽ các luồng dữ liệu Matching với Module & Sub-Module đó.
cập nhật các thông số này và sau khi các thông số dịch vụ này đã Những Module & Sub-Module không liên quan thì sẽ không
được hoàn tất thì Local sẽ tắt các Ports và module liên quan đến active Clock.
các End-User đó, cho dù End-User có duy trì kết nối hay truyền 2) Chức năng Power Saving cho mỗi Port: Với một Switch
nhận dữ liệu hay không. Các Ports và module liên quan được nhiều Ports, thông thường Clock hệ thống sẽ cung cấp thường
hoạt động khi có giao dịch mới được khởi tạo. Với giải pháp này, trực cho các Port này (Port được hiểu là PHY + Tri-EMAC +
việc thực hiện Power-Saving xảy ra hoàn toàn tự động và không PortComsumer), đều này sẽ làm tiêu thụ năng lượng rất nhiều, vì
cần can thiệp thủ công từ người quản trị mạng, điều này sẽ giảm không phải tất cả các Port luôn hoạt động mà sẽ có thời điểm chỉ
tải cho các đường Uplink giữa Switch với trung tâm điều hành. có một vài Port hoạt động. Do đó mục tiêu đặt ra là cần có cơ chế
Trong giới hạn phạm vi bài báo này, chỉ phát triển các giải pháp theo dõi việc trao đổi dữ liệu tại các Port mà qua đó cung cấp
thực hiện chức năng PowerSaving cho Case (1) và Case (2). Và Clock cho các Port đó một cách hợp lý. Vấn đề tiết kiệm năng
Case (3) sẽ đề cập trong một bài báo khác lượng ở PHY đã đề cập ở nhiều Paper trước đây, do vậy paper
này, chúng ta xây dựng cơ chế giám sát luồng dữ liệu In/Out tại
C. Giới hạn phạm vi công việc: các module Tri-EMAC & Port Consumer (on OpenFlow), khi
Paper được phát triển dựa trên các thiết bị sẵn có tại Lab, bao phát hiện có luồng dữ liệu In/Out thì sẽ cấp Clock cho các
gồm: Xilinx Virtex6 ML605 [23] [ML605]; các Ethernet FMC
3
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

module này và các Sub-module bên trong cho đến khi dữ liệu từ Host và gởi kết quả và trạng thái của OpenFlow về Host sẽ
In/Out hết. luôn luôn được cấp Axis_Common_clk để đảm bảo Host điều
3) Quản lý băng thông của hệ thống: phát triển cơ chế giám khiển và nhận status của OpenFlow được thông suốt.
sát băng thông kết nối đến các PHY của SDN-Switch mà qua đó Mô hình phân bố các miền Clock được thể hiện ở hình 4 [phân bổ
sẽ cung cấp Clock cho hệ thống SDN-Switch phù hợp, tức là với Clock]
băng thông 10/100/1G thì sẽ cấp Clock phù hợp 2.5Mhz; 25Mhz
và 125 Mhz.
Hình 2 [kiến trúc] bên dưới mô tả kiến trúc tổng thể một SDN-
Switch có chức năng PowerSaving.

Hình 3 [Instruction]: Mô tả một số Action và ActionSet của


Instruction từ Host thiết lập xuống OpenFlow

Hình 2 [kiến trúc]: Kiến trúc tổng quát một SDN-Switch với

Phát họa các miền Clock trong OpenFlow for chức năng
Power_Saving, bao gồm:
- Clock for PortConsumer & Tri_EMAC: Clock này sẽ được cấp
và duy trì (active) khi xuất hiện có FlowData tại FIFO của hai
module, cũng như các FIFO bên trong OpenFlow mà FlowData
đi qua. Clock sẽ de-active khi các FIFO đã empty. Clock này
được đặt tên là Axis_Port[0..N]_Clk.
-Trong OpenFlow core, có một số module được sử dụng 1 Clock
dùng chung để phân xử (gọi là arbiter); xử lý dữ liệu đầu vào, và
quyết định dữ liệu đó đi tiếp đến module nào tiếp theo. Ví dụ 1)
Hình 4 [phân bổ Clock] : phân bổ chi tiết các Clock đến các
module Arbiter dùng Clock dùng chung này để arbier các Data
module bên trong OpenFlow
input luân phiên từ các port_in và xuất data ra đến module tiếp
theo, hoặc 2) dùng để cấp cho các module để kiểm tra xem các
Giải pháp Enable cho các mạch cấp Clock là chúng ta sử
lệnh Instruction Goto Table, Goto Meter Table có matching với
dụng Gate chuyên dụng của Xilinx là BUFGCE [33] [BUFGCE],
Table đó hay Meter Table đó hay không ?.... Chi tiết các Module
để đảm bảo đồng bộ clock trong toàn bộ thiết kế và không bị trục
và Sub-Module được cấp Clock dùng chung sẽ trình bày chi tiết ở
trặc “glitches” khi Enable/Disable Clock.
các phần tiếp theo. Clock này được đặt tên là
Số lượng BUFGCE trên mỗi dòng chip Xilinx là cụ thể. Trong
Axis_Common_Clk.
Paper này, chúng ta sẽ dùng 8 BUFGCE cho 8 Ports dựa theo cấu
- Các Clock dùng riêng cho mỗi module & Sub module: Khi
hình board ML605 [23] [ML605] và 2 FMC Etherent card [24]
Instruction thực hiện GotoTable[i], Goto MeterTable[i] như mô
[FMC] với 2 BUFGCE for Table 1 & Table 2; 3 BUFGCE cho 3
tả trong hình 3 [Instruction]…cho mỗi FlowData hay
RateLimiter; 1 BUCF for MeterTable; ; 1 BUFGCE for
Group_Executer được matching, thì module đó sẽ được cấp clock
GroupTable; 1 BUFGCE for Common; 3 BUFGCE for MMCN
tương ứng cho đến khi dữ liệu được đi ra khỏi module đó. Trong
( one for Bus Input, one for Bus Output and One for Clock
thiết kế này, các Clock được cấp riêng cho các module tương ứng
Feedback)
gồm Axis_Tb[1…N] _Clk được cấp cho các Table[1..N] tương
ứng; Axis_Mtc_Clk được cấp cho MeterTable; Axis_Grp_Clk B. Phát triển SDN-Switch có chức năng Power-Saving
được cấp cho Group_Executer và Axis_Rl[0..N]_clk cho các 1) Tích hợp module MMCM, giám sát băng thông kết nối để
module Rate Limiter trong module RateControl tại mỗi Table. thiết lập tần số Clock phù hợp:
Riêng Table_0 là Table đầu tiên xử lý Flows, cũng như các bộ
Mux và De-Mux tại Table [i] sẽ sử dụng tín hiệu xung nhịp Switch thông thường có 3 mode Bandwidth gồm 10M; 100M
chung “Axis_Common_clk”. Thiết kế của Sub-module Mux và và 1Gbps với tần số Clock tương ứng 2.5Mhz; 25Mhz và
De-Mux cho OpenFlow rất đơn giản và tương tự như các mạch 125Mhz. Tần số càng cao thì tiêu thụ năng lượng càng lớn.
điện tử khác. Do đó, thiết kế của Mux và De-Mux sẽ không được Chúng ta sử dụng module Mixed-Mode Clock Managers [34]
đưa vào bài báo này. Ngoài ra, khối Control dùng để nhận lệnh [MMCM] để thiết lập tần số phù hợp với băng thông kết nối
4
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

SDN-Switch. PHY sẽ thông báo về Local thông số băng thông hoạt động nhiều băng thông khác nhau, tương ứng mỗi băng
thông qua module MDIO. Căn cứ vào các thông số này, Local sẽ thông thì khối User DataPath trong mỗi Tri_MAC sẽ có độ rộng
cấu hình cho khối MMCM để thiết lập tần số Clock tương ứng. tương ứng. Ví dụ User DataPath của Tri_EMAC 10/100/1G
[35]; Tri_EMAC 10G/40G [36] hay Tri_EMAC 100G [37] thì
2) Phát triển module MDIO với chức năng tạo ngắt độ rộng tương ứng là sẽ 8bit; 64/128 bit; hay 128bit. Do đó
thông thường dùng bộ User Data Path Converter để chuyển đổi
Để thu nhận trạng thái và điều khiển các PHY và IP Core ngoại Bus dữ liệu giữa các Module này. Bus chuyển đổi được sử dụng
vi thì cần MDIO IP Core (Management Data Input/Output). Core axi4stream-infrastructure [infrastructure] [38] để thực hiện
Xilinx cũng như các hãng FPGA khác cung cấp các MDIO có sẵn
trong thư viện thiết kế của các hãng. Tuy nhiên các MDIO này
không có các ngắt, nên khả năng đáp ứng hệ thống khá chậm. Cụ Hình 6 [Tri_MAC] mô tả module infrastructure cũng như các tín
thể như thông thường các Switch trong các DC có số lượng port hiệu từ FIFO dùng để cung cấp trạng thái FIFO đến module
khá nhiều, (e.g : 24 – 48 Ports), để tránh việc bỏ sót (missing) Clock Management để thực hiện chức năng PowerSaving.
các thay đổi của các trạng thái Port, yêu cầu Local phải liên tục
đọc các giá trị tại MDIO tại các PHY. Điều này sẽ dẫn đến Local
bị quá tải (overload), và không có khả năng thực hiện giám sát và
điều khiển các module khác. Do vậy trong Paper này, nhóm tác
giả đã phát triển MDIO như mô tả trong hình 5 [MDIO] này có
chức năng sẽ tạo ngắt, ngắt đưa thông tin về về Local khi có bất
kỳ thay đổi về Bandwidth và Trạng thái kết nối của PHY. Căn cứ
vào Vector ngắt, Local sẽ đọc các thông số tại các MDIO của mỗi
PHY tương ứng. Mỗi Device kết nối đến mỗi Port có thể có các
băng thông khác nhau, cho nên module MMCM sẽ thiết lập
Clock phù hợp, tuy nhiên nếu hai Device trao đổi có trao dữ liệu
với nhau mà có băng thông Port khác nhau, thì sẽ gây tình trạng
mất dữ liệu. Trong trường hợp này hệ thống sẽ nhận dạng Port
nào có băng thông cao hơn, thì sẽ thiết lập băng thông tương ứng
cho Port còn lại. Trong phạm vi bài báo này, để đơn giản hóa thì
khối MMCM sẽ chọn Mode bandwidth cao nhất của Port nào kết Hình 6 [Tri_MAC]: Sơ đồ khối và các tín hiệu trạng thái
nối với Switch và thiết lập cho các Port còn lại FIFO của module Tri_MAC.

Phân tích và trích xuất các tín hiệu trạng thái của các FIFO
trong Tri_MAC; PortConsummer, và các FIFO bên trong
OpenFlow để phát triển mạch Clock Gating cho module Clock
Management. Trong đó: 1) trích xuất các trạng thái FIFO
Ingress/Outgress tại Tri_MAC, đảm bảo dữ liệu trong FIFO được
xuất ra hết, 2) trích xuất các trạng thái FIFO của các module bên
trong OpenFlow như PortConsumer; Header Paser, Table, Fabric
được empty.
Module Clock Management sẽ tổ hợp các tín hiệu trên cũng như
mạch Clock Gating cho module Clock Managerment được mô tả
trong hình 7 [Clock Gating]

Hình 5 [MDIO] : Các thành phần chức năng của MDIO có
chức năng ngắt

3) Phát triển module Clock Management thực hiện chức năng


Power-Saving tại các Port
Với mỗi Switch, có những thời điểm chỉ một hay vài port
hoạt động, cho nên phát triển cơ chế giám sát và chỉ cấp Clock
cho các Port và Tri_MAC và các thành phần liên quan bên trong
OpenFlow có nhu cầu truyền nhận dữ liệu, nhằm tiết kiệm năng
lượng. Module Clock Management sẽ giám sát luồng dữ liệu
trong các FIFO của khối Tri_MAC và FIFO của các module bên
trong OpenFlow. Clock Management sẽ căn cứ vào các tín hiệu Hình 7 [Clock Gating] : Kết nối các tín hiệu của mạch Clock
trạng thái FIFO như Full, Empty…. để cấp và tắt Clock…Switch Gating cho module Clock Management
5
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

không có lệnh GotoTable đến Table[i] thì packet được đưa thẳng
đến Table[i+1] mà không đi qua các module MatchingFlow;
4) Phát triển chức năng Power Saving for Table module (
RateControl; Instruction tại Table[i]. Lúc này tắt clock
tín hiệu số 1 và tín hiệu số 2 tại hình 4 [phân bổ
Clock]) Axis_Tb[i]_Clk để tiết kiệm năng lượng.
5) Phát triển chức năng Power Saving cho module Rate
OpenFlow sẽ gồm Tabe 0 và Table[1…N] như được mô tả Control tại Meter Table – tín hiệu số 3 tại hình [phân
Figure 2 tại ở [20][openflow]. Nhiều Table sẽ cho phép SDN- bổ Clock]
Switch thực hiện nhiều chức năng của mạng. Giải pháp trong RateControl là module chỉ được sử dụng khi có Action
Paper sẽ sử dụng 2 miền Clock khác nhau để thực hiện việc Meter được xác định trong Instruction, chúng ta phát triển một
PowerSaving cho các Table, cụ thể như sau: Clock riêng để điều khiển tắt/mở module RateControl khi có
Hoạt động của core OpenFlow sẽ cho phép tất cả Packet của Action Meter. Để thực hiện Power Saving cho module
Flowdata đi qua Table đầu tiên là Table 0, vì vậy Table 0 sẽ sử RateControl, kiến trúc sử dụng các bộ Demux/Mux để thực hiện
dụng clock cho các module sử dụng chung là hướng đường dữ liệu dựa trên Meter_ID và Meter_ID_Mask
Axis_Common_Clk. Clock này sẽ luôn được Enable khi có được xác định trong Instruction. Nếu trong Instruction xác định
DataFlow đi vào OpenFlow core từ port bất kì. một Meter_ID và Meter_ID_Mask thì sẽ cho phép điều khiển tốc
độ của luồng dữ liệu ứng với Meter_ID trong Instruction thông
Các Table[1-N] chỉ hoạt động khi có action GoToTable [1-N] qua RateLimiter. Nếu không thì sẽ forward packet tới bộ Mux để
được xác định tại Instruction sau khi qua Table 0. Vì vậy các đến Module tiếp theo. Mạch Clock Gating cho Rate Limited và
Table này ngoài việc sử dụng Clock sử dụng chung cho các bộ Cấu trúc module RateControl được mô tả trong hình 10 [Rate
MUX và DEMUX thì còn sử dụng Clock riêng biệt cho từng Limited] và hình 11 [RateControl]
Table, các clock này chỉ được cấp khi có action GoToTable và Tín hiệu RateControl được thể hiện tín hiệu số 3 tại hình [phân
Mactching với TableID tương ứng được xác định. Clock cho các bổ Clock]
Table[1-N] được đặt tên Axis_Tb[1-N]_Clk. Trong thiết kế của
Paper này, sẽ là tín hiệu số 1 và tín hiệu số 2 tương ứng Table_1
và Table_2 trong hình [phân bổ Clock].

Kiến trúc module clock gating của Table[1..N] được mô tả trong


Hình figure 8 [ClockGating_Table] và mạch Table có chức
năng Power Saving được thể hiện trong hình 9 [Table]

Hình 10 [Rate Limited] : Clock Gating cho


module Rate Control

Hình 8 [ClockGating_Table] : Mạch Clock Gating cho các


module Table

Hình 11[RateControl] : Sơ đồ mạch Power Saving for


RateControl
6)Phát triển chức năng Power Saving cho module Meter Table –
tín hiệu số 4 tại hình 4 [phân bổ Clock]
Module MeterTable chỉ hoạt động khi có action Meter được xác
định trong instruction. Việc sử dụng Clock riêng để điều khiển
tắt/mở Module Meter Table giúp giảm thiểu được năng lượng
Hình 9 [Table]: Sơ đồ Table[i]có chức năng PowerSaving tiêu thụ khi trong thời gian chờ.Clock cho MeterTable được mô
Nếu instruction có lệnh GotoTable đến Table[i] thì packet được tả trong hình 12 [Clock_MeterTable]
xử lý qua các module MatchingFlow; RateControl; Instruction
trong Table[i] để lookup entry, thực hiện kiểm soát lưu lượng và Kiến trúc: Để thực hiện PowerSaving cho MeterTable, kiến trúc
instruction (nếu có). Lúc này clock Axis_Tb[i]_Clk cho các sử dụng bộ BUFGCE để cung cấp clock cho toàn bộ các process
module này được cung cấp để xử lý dữ liệu và tắt khi quá trình của module. Module MeterTable được mô tả trong hình 13
xử lý gói tin được kết thúc. Ngược lại, nếu trong instruction [Meter Table].
6
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

Hình 12 [Clock_MeterTable]: Clock Gating cho


module Meter Table Control Hình 15 [Group Executer]: Module Group Executer sử dụng
Clock Axis_Grp_Clk cho chức năng tiết kiệm năng lượng.
8) Phát triển software giám sát và điều khiển chức năng
PowerSaving cho SDN-Switch
Mục đích của Paper Proposal này là phát triển giải pháp
PowerSaving toàn diện cho SDN-Switch, bao gồm PowerSaving
từ OpenFlow Core đến các thành phần ngoại vi như MMCM,
Tri_MAC, Clock_Managerment… Tính mới, và tính sáng tạo
trong Paper này, áp dụng một Vi xử lý Microblaze vào đặc tính
“Optional: LOCAL” trong OpenFlow Switch Specification [20]
[openflow] để quản lý toàn bộ trạng thái và băng thông kết nối,
qua đó thực hiện chức năng PowerSaving. Kiến trúc OpenFlow
Hình 13 [Meter Table] : Sơ đồ mạch Power Saving IPCore sẽ phân tích các trường trong FlowData tại các Port vào,
for Module Meter Table kết hợp Rule được thiết lập từ Host. Nếu so khớp (matching) là
đúng sẽ enable Clock tại các module, sub-module tương ứng, nếu
so khớp không đúng thì disable Clock. Quá trình này thực hiện
7)Phát triển PowerSaving cho Group_Table - tín hiệu số 5 tại bên trong OpenFlow IPCore mà không cần sự điều khiển từ bên
hình 4 [phân bổ Clock] ngoài. Các thành phần ngoại vi Switch thông qua Bus hệ thống
Trong OpenFlow core, GroupTable là một option được xác định và Local sẽ giám sát thông qua MDIO. Local sẽ thu nhận và phân
trong Instruction bởi Controller, vì vậy việc sử dụng một clock tích các thông tin tại các Port kết nối của Device/End-User thông
riêng biệt để điều khiển tắt mở cho module này cũng giúp giảm qua các PHY. Thông qua thông tin từ PHY, Local sẽ điều khiển
năng lượng tiêu thụ của hệ thống. Mạch mô tả tín hiệu điều các nội dung tại các module sau:
khiển bật tắt clock Axis_Grp_Clk được mô tả trong 14 [Clock -Module MMCM: Cấu hình tốc độ Clock cho khối Clock
Gating Group_Table] Management & khối OpenFlow : Gồm hai thanh ghi chính, thanh
ghi lưu giá trị Clock hiện tại và thanh ghi cấu hình Clock
Clock cho GroupTable được mô tả trong 15 [Clock
Group_Table]. Module GroupTable chỉ hoạt động khi trong - Module Clock Mamagement: Cấp Clock cho mỗi bộ
ActionSet có action Group và khi Host request để set/update các Tri_MAC & PortConsumer: gồm hai thanh ghi là thanh ghi reset
group entry Clock cho GroupTable sẽ được bật khi có action và thanh ghi cấp Clock (Clock_en) cho từng Port
Group được xác định hoặc có request từ host, và tắt khi - Module Tri_MAC: dùng để thiết lập tốc độ cho Tri_MAC
Group_Data_Fifo empty. Nguyên lý điều khiển có một số nội dung tương tự trong [39]
[A Traffic], có nghĩa làm giám sát các kết nối như tình trạng kết
nối, băng thông kết nối để điều khiển các Module cho phù hợp.
Thiết lập các chế độ hoạt động của PHY cho phù hợp ( Sleep,
IDLE, Active). Các PHY được điều khiển bởi Local thông qua
MDIO module, Local cấu hình vào các thanh ghi của PHY để các
mode hoạt động Sleep, IDLE hay Active. Thông qua MDIO,
Local thu nhận thông số băng thông các Port, để thực hiện việc
cấu hình Clock cho phù hợp. Nhận dạng băng thông
Device/End_User kết nối đến Switch để thiết lập tần số cấp cho
SDN-Switch phù hợp thông qua module MMCM [34] [MMCM]
Hình 14 [Clock Gating Group_Table] : Mạch Clock Gating [34] đã được trích dẫn ở trên – ghi chú
cho Group_Table Trong MMCM được cấu hình 3 thông số cho 3 tần số 2.5Mhz;
25Mhz và 125Mhz tương ứng băng thông 10/100/1G

7
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

Khi Local nhận giá trị từ PHY đưa về, Local sẽ thực hiện cấu Thiết lập lại tốc độ vào Speed_Config_Reg của
hình MMCM theo tần số đã định thông qua đường AXI_Lilte. Tri_MAC
MMCM sẽ cấp Clock đồng thời cho Clock_Management và }
OpenFlow core Phát triển các hàm xử lý ngắt [1..8]
Nếu có Interrupt [i] xảy ra
Chương trình xử lý chính Main ( ): {
1)-Thiết lập các giá trị ban đầu của Clock & Reset Đọc các thanh ghi MDIO[i] tương ứng
(Có thể cho mặc định Clock management; reset Kiểm tra kết nối:
management ….) If có kết nối tại PHY [i]
2) -Thiết lập các trạng thái link_status; link_speed cho PHY Reset Clock tại Port [i] tương ứng
3) - Khởi động hàm xử lý ngắt …. Cấp Clock tại Port [i] tương ứng
4) - Cấu hình cho MMCM để cấp Clock với tần số 125MHz ban Nếu không có kết nối
đầu Ngắt Clock tại Port [i] tương ứng
5) – Nếu ngắt xảy ra, gọi hàm xử lý tương ứng với Vector Ngắt
- Xử lý ngắt từ 8 bộ MDIO, nếu có ngắt xảy ra thì gọi chương Kiểm tra link_speed tại Port [i]:
trình phục vụ ngắt. Module xử lý ngắt được mô tả bên dưới Nếu PHY_speed[i] = 10; thì thiết lập thông số
Link_speed [i] = 10
Nếu PHY_speed_0 = 100; thì thiết lập thông số
-Kiểm tra tốc độ kết nối tại các Port [1..8] : Link_speed[1..8] Link_speed_ [i] = 100
For I = 1…8 Nếu PHY_speed_0 = 1000; thì thiết lập thông số
If any Link_Speed [i] có tốc độ 1G, thiết lập New_Config = 1G Link_speed_ [i] = 1000
Else if any Link_Speed [i] có tốc độ 100M, thiết lập New_Config
= 100M Kiểm tra thanh ghi trạng thái speed của Tri_MAC[i]
Else if any Link_Speed [i] có tốc độ 10M, thiết lập New_Config (Tri_MAC_speed)
= 10M Nếu Tri_MAC_speed!= tốc độ PHY_speed
Else thiết lập New_Config = 1G Thì gán tốc độ Tri_MAC_speed <= PHY_speed
End. Thiết lập lại tốc độ vào Speed_Config_Reg của
-Cấu hình Clock cho bộ MMCM Tri_MAC
Đọc Clock_status_reg (thanh ghi trạng thái Clock) hiện tại của }
MMCM: Current_Config
If Current_Config != New_Config Phân tích Action liên quan đến dịch vụ sử dụng, nếu các dịch vụ
Then gán Current_Config <= New_Config sử dụng (e.g Limited Access-Time, Limited Capacity, Limited
Viết giá trị Current_Config vào Clock_control_reg Throughtput) của End-User đã hết, thì sẽ De-Active các Module
(thanh ghi điều khiển Clock) của MMCM tương ứng.

- Module xử lý ngắt Ví dụ: Một End-User khi kết nối vào mạng (được xác định qua
Phát triển các hàm xử lý ngắt [1..8] IP, MAC hay Port) sử dụng dịch vụ lưu trữ 1GB dữ liệu trên
Khi có Interrupt [i] xảy ra Cloud của một Server. End_User hay Server được xác định trên
{ Gọi hàm MDIO ( hàm MDIO trả về : Trạng thái kết nối & mạng thông qua IP, MAC hay Port kết nối. Khi dung lượng đạt
tốc độ kết nối đến 1G thì OpenFlow core sẽ thông báo đến Local, Local sẽ thực
Gọi hàm MDIO với số hiệu ngắt tương ứng. hiện De-Active các module liên quan đến End-User tại Port 1
If có kết nối tại PHY [i] (PHY_1; Tri_MAC_1 và PortConsumer_1). Tất nhiên trường
Reset Clock tại Port [i] tương ứng hợp này chỉ phù hợp End_User chỉ sử dụng duy nhất dịch vụ tại
Cấp Clock tại Port [i] tương ứng Cloud của Server Port 4
Nếu không có kết nối tại PHY[i]
Ngắt Clock tại Port [i] tương ứng Phân tích các Action liên quan đến Output Port: Local sẽ phân
Kiểm tra link_speed tại Port [i]: tích Action Forwarding đến một Output Port. Nếu phát hiện PHY
Nếu PHY_speed_0 = 10; thì thiết lập thông số tại Output Port không có kết nối, thì Action Forwarding đó sẽ
Link_speed [i] = 10 không thực hiện, tức là các module liên quan như PortComsumer
Nếu PHY_speed_0 = 100; thì thiết lập thông số và Tri-MAC của Port đó không được cấp Clock. Tất nhiên trường
Link_speed_ [i] = 100 hợp này Output Port đó chỉ có liên quan đến Input Port có actions
Nếu PHY_speed_0 = 1000; thì thiết lập thông số Fowarding.
Link_speed_ [i] = 1000
IV. MÔ HÌNH HÓA TOÁN HỌC CHỨC NĂNG
Kiểm tra thanh ghi trạng thái speed của Tri_MAC[i] POWER SAVING CHO SDN-SWITCH
(Tri_MAC_speed)
Nếu Tri_MAC_speed!= tốc độ PHY_speed Như đã trình bày ở mục II.A đã nêu ra các công trình nghiên cứu
Thì gán tốc độ Tri_MAC_speed <= PHY_speed liên quan đến thiết kế một hệ thống PowerSaving cho OpenFlow
hay SDN-Switch không được nhiều, đặc biệt vấn đề tiết kiệm
8
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

năng lượng cho một OpenFlow đúng nghĩa trên phương diện thiết *) Ở các module ngoại vi như MDIO, Clock
kế vi mạch và SoC. Cho nên tìm một mô hình toán học phù hợp Management, MMCM, UART và Local. Local ở đây là vi xử
để mô hình hóa chức năng PowerSaving cho OpenFlow hay xử lý Microblaze…
SDN-Switch hiện nay chưa tìm thấy. Trong Paper [40] *) Ở OpenFlow core khi không có DataFlow In/Out. Với
[Measuring] đề cập một mô hình toán học [1] dựa trên các thiết bị giải pháp trong paper này, khi không có DataFlow In/Out thì
của hãng NEC, và mô hình toán học phù hợp với luồng hoạt hệ thống sẽ thiết lập Clock tần số 2.5Mhz để duy trì sự hoạt
động của OpenFlow động của Core.
Pswitch = Pbase + Pconfig + Pcontrol + Pof [1] *) Các module liên quan đến kết nối Host trong
OpenFlow
Tuy nhiên tại Fig.2 của [40][Measuring] này, các tác giả chỉ xây
dựng các kịch bản Power Saving Testing cho trường hợp Mục tiêu bài báo là đề xuất các giải pháp tiết kiệm năng lượng
matching IP; matching MAC và matching Port cũng như kết luận liên quan đến SDN-Switch trong đó tập trung vào OpenFlow và
“number of actions and matches within an OpenFlow rule does phương pháp quản lý các tần số hoạt động của hệ thống, và đã có
not significantly influence the power consumption.” – có thể do nhiều Paper [41][PHY] hay [42] [PHY_1]công bố đề cập đến các
cách thiết kế của NEC, cho nên giải pháp đo đạc chưa thật sự ấn phương pháp tiết kiệm năng lượng trên PHY . Nên trong bài báo
tượng và không tối ưu như trong Proposal của Paper này này sẽ không đề cập đến giải pháp tiết kiệm năng lượng trên PHY

[40] [Measuring] https://ieeexplore.ieee.org/document/7014156 [41][PHY] https://dl.acm.org/doi/abs/10.1007/s10586-012-0225-


8
A. Phân tích mô hình: (A survey on Green communications using Adaptive Link
Rate.pdf)
Dựa trên ý tưởng tại [40][Measuring] và kiến trúc tại Hình 2 [42] [PHY_1]
[kiến trúc] ở Mục III.A, thì phân chia các thành phần tiêu hao ttps://people.eecs.berkeley.edu/~sylvia/papers/power_nsdi08.pdf
năng lượng trong SDN-Switch được thể hiện tại hình 16 [Mô
hình hóa] bên dưới : - Pof_core: là năng lượng tiêu thụ tại các module bên trong
OpenFlow Core như Arbiter, Header Paser, Fabric…

- Phost: là năng lượng tiêu thụ của module Control liên quan trong
quá trình Host thiết lập các Rule xuống OpenFlow và Host đọc về
các thông tin thống kê & tình trạng hoạt động của OpenFlow.
Tùy theo mức độ quan trọng sử dụng Switch trong lãnh vực nào,
có yêu cầu thu nhận dữ liệu thống kê ở Real-time hay không ? thì
sẽ áp dụng chức năng Power Saving vào. Host có hai 2 kết nối
với SDN-Switch gồm kết nối điều khiển , hay được gọi là đường
Consoler, và kết nối Dữ liệu hay được gọi là đường Uplink. Hai
kết nối này có thể được phân chia thành 2 đường vật lý riêng biệt,
Hình 16 [Mô hình hóa] : Các thành phần tiêu hao năng lượng và có thể gộp chung thành 1 đường vật lý chung. Trong kiến trúc
trong SDN-Switch các NetFPGA card, OpenFlow Core kết nối với Host thông qua
kết nối PCIe, kết nối PCIe [43][PCIe] và [44] [FPGA based] sẽ
Ptotal = Pphy + Pof_peripheral + Pof_core + Phost + Pstatic [2] có hai bus, bus AXI-lite dùng để thiết lập các Rule, và bus Bus
AXI-Stream, [44] là kết quả một PoC mà Team đã từng làm
- Pphy: Là năng lượng tiêu thụ của PHY trong quá trình SDN- demo cho khách hàng trước đây.
Switch hoạt động. Trong thiết kế phần cứng của ML605, điện áp
cung cấp cho FPGA IP Core hoạt động là 1 Voltage ( được gọi là [43][PCIe] http://yuba.stanford.edu/~derickso/docs/ancs-
VCCINT 1V) và điện áp cung cấp cho PHY sẽ là 2.5Voltage openflow-2008.pdf
(được gọi là VCC0 2V5) tại [26] [Power for Xilinx] [44] [FPGA based]
https://www.youtube.com/watch?v=oBri5W-IWO0

- Pof_peripheral: là năng lượng tiêu thụ liên quan trực tiếp Trong mô hình SDN-Switch ở bài báo này, sẽ tích hợp tích hợp
DataFlow In/Out đến SDN bao gồm các phần: các FIFO In/Out chức năng thiết lập Rule & thống kê cùng chung đường Uplink,
tại các PortConsummer; các FIFO bên trong Tri_EMAC và AXI và được kết nối thông qua Marvell Alaska PHY -88E1111 được
Instrucfacture. tích hợp trên board Virtex6 ML605 [23][ML605]

- Pof_core: là năng lượng tiêu thụ của OpenFlow Core Việc áp dụng chức năng Power Saving ở Port kết nối Host cũng
giống như các Port In/Out của Switch. Tuy nhiên để đơn giản hóa
- Pstatic là năng lượng tiêu thụ SDN-Switch ở trạng thái không thì tác giả thiết lập chế độ luôn luôn cấp Clock
nhận FlowData In/Out và là năng lượng tĩnh. Năng lượng này Axis_Common_clk cho Module kết nối đến Host. Các switch
được tiêu thụ ở ba thành phần chính trong hệ thống: lớn trong các DC Datacenter với số lượng 24-48 Port, thì việc
tiêu hao năng lượng tại Port của Host để đảm bảo tính real-time
9
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

thì không nhiều so với tổng số Port trên Switch. Do đó công suất Năng lượng tiêu thụ ở Group_Executer = 0.02W; 0.03W
tĩnh được hiểu là bao gồm Phost và Pstatic và 0.32 W tương ứng băng thông 10/100/1G.
Năng lượng tiêu thụ MeterTable tại Rate Meter là 5Mbps
B. Mô hình hóa công thức toán học áp dụng : là 1.53W; 1.67W và 2.43W tương ứng băng thông 10/100/1G.

Do đó công thức tính năng lượng tiêu thụ [2] được viết P/s : Do Pof_peripheral phụ thuộc vào luồng DataFlow tại
lại như sau: OpenFlow core, cũng như thiết bị đo TI đo đạc điện áp VCCINT
Ptotal = Pstatic + Pof_core + Pof_peripheral [3] 1V của FPGA, cho nên các giá trị năng lượng tiêu thụ đo ở trên
được hiểu bao gồm cả Pof_peripheral.
Các thông số đầu vào cho biểu thức toán học [3] sẽ là:
VI- Results
N: số Port của Switch, tương ứng có 8 Port
1 – So sánh năng lượng tiêu thụ ở trường hợp không có Flow
F: tần số cấp cho Switch, tương ứng: 2.5Mhz, 25Mhz và Data vào:
125Mhz. So sánh kết quả đo tại Switch khi ở trạng thái “No Data in”: với
TB : số TableFlow được matching, gồm 2 Table là Table[1] và hai trường hợp là không có chức năng Power Saving (No_PS) và
Table[2]. có chức năng Power Saving (PS)
MTB: số MeterTable được matching, gồm 3 Meter Table tại
Table[0], Table[0] và Table[2]. Nếu Switch hoạt động không có chức năng Power Saving: thì
GRE: GroupExecuter được matching và kiến trúc OpenFlow Clock mặc định là 125Mhz và công suất tiêu thụ là 3.35W
[20][openflow] chỉ có 1 GroupExecuter Nếu Switch hoạt động không có chức năng Power Saving thì
Clock sẽ được thiết lập 2.5Mhz và công suất tiêu thụ là 1.51W.
- Pof_core: là năng lượng tiêu thụ của OpenFlow core Đây là công suất tĩnh Pstatic tối thiểu dùng để cung cấp cho các
trong quá trình hoạt động, năng lượng này phụ thuộc vào 3 thông module bên trong OpenFlow dùng chung như: các bộ Mux, De-
số: băng thông; số Port kết nối; số module & sub-module hoạt Mux, Packet Parser và các module ngoại vi như MDIO; MMCM,
động khi các FlowData matching với Actions Local … Kết quả đo được thể hiện ở Row “No data in” tại Table
1) Băng thông: Băng thông lớn thì tần số Clock phải cấp 1
càng cao, cụ thể băng thông 10/100/1G sẽ dùng MMCM để thiết Nhận xét: Như vậy ở trường hợp không có Flow Data_in thì
lập Clock 2.5Mhz, 25Mhz và 125 Mhz tương ứng. Switch_PS sẽ tiết kiệm đến 54.93% năng lượng tiêu thụ so với
2) Số Port của Switch: số Ports này liên quan đến Switch_no_PS
PortConsumer + Tri-EMAC, do độ phân giải của thiết bị đo
Power của TI lớn so với công suất tiêu thụ của mỗi Port nên quá 2 - So sánh năng lượng tiêu thụ ở trường hợp có các Flow
trình thực nghiệm sẽ thử nghiệm sẽ test trên 4 Port và 8 Port. Data vào.
Kết quả so sánh xét trong 3 trường hợp băng thông là 10/100/1G,
Biểu thức toán học của: Pof_core = ứng trong mỗi trường hợp Băng thông sẽ xem xét với các yếu tố
F
gồm: matching Table; matching MeterTable; matching Table &
∑ F ( i) ¿ GroupTable với hai trường hợp là 4 Port và 8 Port
i

Biểu thức toán học của: Pof_peripheral = 2.1- Các kịch bản và kết quả testing tại các Table
N Case 1: FlowData vào Table_0 (Table _0 luôn luôn được cấp
¿ ∑ F ( m , F ) . E (m) Clock);
m Case 2: FlowData vào Table_0 and matching Table_1;
Case 3: FlowData vào Table_0 and matching Table_2;
Quá trình thực nghiệm đã cho ra kết quả: 0.025W /1G và Case 4: FlowData vào Table_0 and matching Table_1 & Table
0.0025W /100M. Tại Bandwidth 10M thì công suất tiêu thụ quá 2;
nhỏ nên thiết bị TI [25][TI] không phân giải được kết qủa. Với
những Switch tốc độ cao tại các Data Center có tốc độ 10G; 40G P/s : Action cho các test case ở trên là forwarding FlowData đến
hay 100G nên sẽ tiết kiệm năng lượng đáng kể. Port khác
Nhận xét: Xem kết quả đo tại bảng Xls và biểu đồ so sánh bên
3) Các module matching: sẽ matching với Table [1…N], dưới
MeterTable (có liên quan đến RateLimiter tại mỗi Table) và Biểu đồ 1:
Group_Executer
Khi Matching thì năng lượng tiêu thụ sẽ là:
- Năng lượng tiêu thụ ở Table_0 (luôn luôn hoạt động) &
các thành phần sử dụng chung = 2.45w
-Năng lượng tiêu thụ ở mỗi Table (gồm Table_1,
Table_2): là xấp xỉ 0W; 0.03W và 0.2W tương ứng băng thông
10/100/1G.
10
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

Nhận xét: Tương ứng với tốc độ 10/100/1G, với với Switch_PS
sẽ tiết kiệm tương ứng 20.86%; 16.52% và 10.26% năng lượng
tiêu thụ.
2.3 – Các kịch bản và kết quả testing tại Table và GroupTable:
TABLE 1: thông số đo Power Saving tại các Table gồm 4 case
Tương ứng với :
Case 1: Data in Table_0 và GroupTable;
Case 2: Data in Table_0; matching Table_1 và GroupTable;
Case 3: matching Table_2 và GroupTable;
Case 4: matching Table_0 & Table_1 & Table_2 và GroupTable.

Biểu đồ 3:

2.2 – Các kịch bản và kết quả testing tại các Table và Meter
Table
Case 1 : Data in on Table 0 and matching Meter Table 0
Case 2: Data in on Table 0 and matching Meter Table 1
Case 3: Data in on Table 0 and matching Meter Table_02;
Case 4: Data in on Table 0; go to Table 1 and Table 2 ; matching
Table_0 then goto Table_1; then goto Table_2 và matching
Meter Table 2.

Biểu đồ 2:

TABLE 3: thông số đo Power Saving tại các Table &


Group Table

TABLE 2: thông số đo Power Saving tại các Table & Meter
Table

Nhận xét: Tương ứng với tốc độ 10/100/1G, với Switch_PS sẽ tiết
kiệm tương ứng 20.86%; 16.52% và 10.26% năng lượng tiêu thụ.

2.4 - Nhận xét về các kết quả đo tiêu thụ tại mỗi Module trong
SDN-Switch
11
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

Từ các bảng trên, chúng ta cũng tính toán được mỗi Table là [47][PMBus]
tiêu thụ bao nhiêu năng lượng. Với dữ liệu thu được, thì mỗi https://www.intel.com/content/www/us/en/docs/programmable/6
Table sẽ tiêu tốn 0.2W và 0.03W với băng thông 1G và 100Mhz. 83373/current/power-management-overview.html
Với băng thông 10MHhz mức sai lệch quá nhỏ thì thiết bị đo của [48][TI_1] https://www.ti.com/lit/ug/tidud48b/tidud48b.pdf?
TI không phân giải được. ts=1656736732563&ref_url=https%253A%252F
Với kết quả đo với các trường với cho 4 Port và 8 Port cho %252Fwww.google.com%252F
một Test Case Ta thấy Test case cho 4 Port tiêu thụ 2.86W. Test
case cho 8 Port tiêu thụ 2.95W. Vậy 4 Port (gồm phần Tri_MAC [49][TI-2] https://www.ti.com/tool/PMP20176?HQS=ti-null-null-
và PortComsumer) tiêu thụ 0.09 W, vậy mỗi Port tiêu thụ trung productcentre_refdes-manupromo-rd-ElectronicSpecifier-
bình 0.0225W. Với kiến trúc Power Saving trong Proposal Paper eu#technicaldocuments
này, cho phép chúng ta tính toán được mức độ tiêu hao năng
lượng cho mỗi module, điều này sẽ rất hữu ích cho người thiết kế Bên cạnh việc tối ưu hóa năng lượng tiêu thụ tại các module
SDN-Switch khi phát triển hệ thống mức độ tiêu hao năng lượng ngoại vi và các module bên trong OpenFlow, có những hạn chế
khi mở rộng các module liên quan. Hệ thống thực tế kiểm chứng gồm là ngoài việc tăng tài nguyên FPGA do thêm các module
tính năng tiết kiệm năng lượng được nhóm thực hiện được thể ngoại vị, thì giải pháp của Proposal vẫn có những hạn chế mà cần
hiện trong Video [45] phải cần cải thiện, những hạn chế bao gồm
[45] https://www.youtube.com/watch?v=ffS8XcTkUMk
Thiết lập băng thông: Như đề cập ở phần B.2, chương trình sẽ
giám sát băng thông các Port kết nối PHY thông qua MDIO,
VII – Conclusion và các hướng xử lý tiếp tương ứng mỗi băng thông, MMCM sẽ thiết lập tần số phù hợp.
Tuy nhiên Port này có mối liên kết đến 1 hay nhiều các Port
theo khác. Ví dụ băng thông tại Port 1 là 10Mbps nhận dữ liệu từ Port
2 có băng thông là 10Mbps thì MMCM sẽ thiết lập tần số 2.5Mhz
Trên đây đã trình bày một giải pháp tổng thể để phát triển SDN- thì việc trao đổi dữ liệu bình thường, tuy nhiên nếu Port 2 có
Switch có đặc tính tiết kiệm năng lượng. Bao gồm ba giải pháp, băng thông là 1Gbps thì sẽ mất dữ liệu, do đó để đảm bảo toàn
với giải pháp 1) là phương pháp thiết kế một OpenFlow Core có vẹn dữ liệu thì trước khi cấu hình MMCM cho Port 1, cần phân
chức năng tiết kiệm năng lượng phụ thuộc vào luồng dữ liệu đó tích Action forwarding data Flow đến Port_x nào, và cần phân
matching với chức năng nào trong OpenFlow Core; Với giải pháp tích băng thông Port_x đó, để thiết lập tần số MMCM cho Port 1
2) là phát triển module quản lý luồng dữ liệu tại Port để cung cấp cho phù hợp. Để thực hiện điều này thì chương trình điều khiển
Clock hợp lý; tích hợp MMCM và phát triển chương trình điều khá phức tạp, cho nên ở Proposal Paper này, hệ thống sẽ dựa vào
khiển để cung cấp Clock phù hợp với băng thông của End- Port có băng thông cao nhất, để thiết lập cho các Port còn lại
User.Bên cạnh đó, tác giả đã phác họa giải pháp 3) là thực hiện
tiết kiệm năng lượng cho Software Defined Data Center cho các Độ trể do MMCM tạo ra : Trong quá trình cấu hình tần số cho ra
dịch vụ SD-Wan Seflservice. Với giải pháp 1) và 2) đã cho kết Clock output, MMCM sẽ nhưng hoạt động thông qua tín hiệu
quả tiết kiệm năng lượng rất ấn tượng so các paper trước đây. Lock cho đến khi cấu hình xong. Thời gian Lock này sẽ gây ra
Trong các Data Center, nơi sử dụng số lượng lớn các Switch, và gián đoạn kết nối tại các Tri_MAC và OpenFlow.
Switch băng thông cao (10Gb/s; 40Gb/s; 200G thậm chí 400G)
và số Port kết nối rất lớn thì các giải pháp trên sẽ tiết kiệm rất Các tài liệu liên quan đến MMCM của Xilinx [50]
lượng nguồn năng lượng tiêu thụ.Việc phát triển các SDN-Switch [MMCM_Lock] và [51][MMCM_Reconf] không công bố thời
tiết kiệm năng lượng sẽ gián tiếp tiết kiệm nguồn năng lượng cho gian Lock chính xác, mà dựa vào bản “Lookup table được tạo ra
điều hòa, quạt thông gió và giảm hư hỏng thiết bị. Ưu điểm của từ đặc tính từng chủng loại FPGA”. Tuy nhiên chúng ta có thể
giải pháp này là tích hợp một Local (dùng Microblaze/ARM) sẽ kiểm chứng thời gian Delay bằng cách thực hiện trên ISIM, với
thực hiện các chức năng quản lý OpenFlow một cách linh động số Clock xử lý Lock cho hoặc trên hệ thống SoC thông có kết
mà vẫn tuân thủ tiêu chuẩn OpenFlow. Ngoài phát triển các RTL nối các RTC, đây là hướng thực hiện cho các Paper trong thời
Verilog cho các module OpenFlow và các module khác. Chúng ta gian đến.
có sử dụng các Logic Device chuyên biệt của Xilinx như MMCM
hay BUGCFE bằng phương pháp Clock Gating của Xilinx, thì Đối với ứng dụng liên quan yêu cầu thời gian thực và đảm bảo
Altera cũng có các Logic Device có chức năng tương tự trên các tính toàn vẹn luồng dữ liệu như trong Y tế - phẫu thuật từ xa, hoạt
dòng FPGA như Stratix [46][Stratix], cũng như các phương pháp động quân sự, giao dịch ngân hàng… thì yếu tố tiết kiệm năng
đo công suất tiêu thụ Power Management BUS [47][PMBus] lượng không phải ưu tiên hàng đầu, mà khả năng đáp ứng Real-
được áp dụng trên Paper này trên Virtex6 – Xilinx, cũng áp dụng time mới là quan trọng. Giải pháp ở đây là hệ thống SDN-Switch
trên các FPGA của Intel-Altera [PMBus] [48][TI_1]; [49][TI-2] sẽ bắt (capture) và phân tích luồng dữ liệu vào, kiểm mức độ ưu
tiên trong “Priority levels” theo tiêu chuẩn IEEE 802.1p Priority
[46][Stratix] [52][Priority]. Nếu các giá trị trong Priority levels được thiết lập
https://www.intel.com/content/www/us/en/docs/programmable/6 thì Local sẽ Disable chức năng MMCM, mà chuyển PHY qua
83418/21-1/power-management-overview.html mode hoạt động Auto-negotiation. Tất nhiên Flow Data đầu tiên
sẽ bị loss, khi đó giao thức TCP căn cứ về việc Loss data sẽ yêu
cầu gởi gói tin đó lại.

12
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

Trong các mô hình Testing ở trên xây dựng hai trường hợp là [15] J. Jones. (1991, May 10). Networks. (2nd ed.) [Online]. Available:
http://www.atm.com
Power_Saving và No_Power_Saving, chức năng
No_Power_Saving có hình thức tương tự như xử lý gói tin có
“High Priority”, là không cấu hình MMCM, không De_Active Basic format for journals (when available online):
[16] Author. (year, month). Title. Journal. [Type of medium]. volume (issue),
Clock, No_Power_Saving được xử lý thông qua Dip_switch trên pages. Available: site/path/file
board và xử lý gói tin có “High Priority” thì cần DPI luồng dữ Example:
liệu của Flowdata để đưa về Local xử lý. Đây là một hướng cần [17] R. J. Vidmar. (1992, Aug.). On the use of atmospheric plasmas as
phải giải quyết nếu SDN-Switch hướng đến thương mại hóa sản electromagnetic reflectors. IEEE Trans. Plasma Sci. [Online]. 21(3), pp.
phẩm, để sản phẩm được hoàn thiện. 876–880. Available: http://www.halcyon.com/pub/journals/21ps03-vidmar

Basic format for papers presented at conferences (when available


online):
[50][MMCM_Lock] [18] Author. (year, month). Title. Presented at Conference title. [Type of
medium]. Available: site/path/file
https://docs.xilinx.com/v/u/en-US/ug472_7Series_Clocking
Example:
[51][MMCM_Reconf]:https://docs.xilinx.com/v/u/en-US/ [19] PROCESS Corp., MA. Intranets: Internet technologies deployed behind the
xapp888_7Series_DynamicRecon firewall for corporate productivity. Presented at INET96 Annual Meeting.
[52][Priority] https://en.wikipedia.org/wiki/IEEE_P802.1p [Online]. Available: http://home.process.com/Intranets/wp2.htp

Basic format for reports and handbooks (when available


Basic format for books: online):
[1] J. K. Author, “Title of chapter in the book,” in Title of His Published Book, [20] Author. (year, month). Title. Company. City, State or Country. [Type of
xth ed. City of Publisher, Country if not USA: Abbrev. of Publisher, year, medium]. Available: site/path/file
ch. x, sec. x, pp. xxx–xxx. Example:
Examples: [21] S. L. Talleen. (1996, Apr.). The Intranet Architecture: Managing
[2] G. O. Young, “Synthetic structure of industrial plastics,” in Plastics, 2nd information in the new paradigm. Amdahl Corp., CA. [Online]. Available:
ed., vol. 3, J. Peters, Ed. New York: McGraw-Hill, 1964, pp. 15–64. http://www.amdahl.com/doc/products/bsg/intra/infra/html
[3] W.-K. Chen, Linear Networks and Systems. Belmont, CA: Wadsworth,
1993, pp. 123–135.
Basic format for computer programs and electronic documents
(when available online): ISO recommends that capitalization
Basic format for periodicals:
[4] J. K. Author, “Name of paper,” Abbrev. Title of Periodical, vol. x, no. x, pp.
follow the accepted practice for the language or script in which
xxx–xxx, Abbrev. Month, year. the information is given.
Examples: Example:
[5] J. U. Duncombe, “Infrared navigation—Part I: An assessment of [22] A. Harriman. (1993, June). Compendium of genealogical software.
feasibility,” IEEE Trans. Electron Devices, vol. ED-11, no. 1, pp. 34–39, Humanist. [Online]. Available e-mail: HUMANIST@NYVM.ORG
Jan. 1959. Message: get GENEALOGY REPORT
[6] E. P. Wigner, “Theory of traveling-wave optical laser,” Phys. Rev., vol. 134,
pp. A635–A646, Dec. 1965.
[7] E. H. Miller, “A note on reflector arrays,” IEEE Trans. Antennas Propagat., Basic format for patents (when available online):
to be published. [23] Name of the invention, by inventor’s name. (year, month day). Patent
Number [Type of medium]. Available: site/path/file
Basic format for reports: Example:
[24] Musical toothbrush with adjustable neck and mirror, by L. M. R. Brooks.
[8] J. K. Author, “Title of report,” Abbrev. Name of Co., City of Co., Abbrev.
(1992, May 19). Patent D 326 189 [Online]. Available: NEXIS Library:
State, Rep. xxx, year.
LEXPAT File: DESIGN
Examples:
[9] E. E. Reber, R. L. Michell, and C. J. Carter, “Oxygen absorption in the
earth’s atmosphere,” Aerospace Corp., Los Angeles, CA, Tech. Rep. TR- Basic format for conference proceedings (published):
0200 (4230-46)-3, Nov. 1988. [25] J. K. Author, “Title of paper,” in Abbreviated Name of Conf., City of Conf.,
[10] J. H. Davis and J. R. Cogdell, “Calibration program for the 16-foot Abbrev. State (if given), year, pp. xxx–xxx.
antenna,” Elect. Eng. Res. Lab., Univ. Texas, Austin, Tech. Memo. NGL- Example:
006-69-3, Nov. 15, 1987. [26] D. B. Payne and J. R. Stern, “Wavelength-switched passively coupled
single-mode optical network,” in Proc. IOOC-ECOC, 1985, pp. 585–590.
Basic format for handbooks: Example for papers presented at conferences (unpublished):
[11] Name of Manual/Handbook, x ed., Abbrev. Name of Co., City of Co., [27] D. Ebehard and E. Voges, “Digital single sideband detection for
Abbrev. State, year, pp. xxx–xxx. interferometric sensors,” presented at the 2nd Int. Conf. Optical Fiber
Examples: Sensors, Stuttgart, Germany, Jan. 2–5, 1984.
[12] Transmission Systems for Communications, 3rd ed., Western Electric Co.,
Winston-Salem, NC, 1985, pp. 44–60. Basic format for patents:
[13] Motorola Semiconductor Data Manual, Motorola Semiconductor Products [28] J. K. Author, “Title of patent,” U.S. Patent x xxx xxx, Abbrev. Month, day,
Inc., Phoenix, AZ, 1989. year.
Example:
Basic format for books (when available online): [29] G. Brandli and M. Dick, “Alternating current fed power supply,” U.S. Patent
[14] Author. (year, month day). Title. (edition) [Type of medium]. volume 4 084 217, Nov. 4, 1978.
(issue). Available: site/path/file
Example: Basic format for theses (M.S.) and dissertations (Ph.D.):
13
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

[30] J. K. Author, “Title of thesis,” M.S. thesis, Abbrev. Dept., Abbrev. Univ., graduated from the Austrian Polytechnic School, Graz, and studied at the
City of Univ., Abbrev. State, year. University of Prague.
[31] J. K. Author, “Title of dissertation,” Ph.D. dissertation, Abbrev. Dept., His employment experience included the American Telephone Company,
Abbrev. Univ., City of Univ., Abbrev. State, year. Budapest, the Edison Machine Works, Westinghouse Electric Company, and
Examples: Nikola Tesla Laboratories. His special fields of interest included high frequency.
[32] J. O. Williams, “Narrow-band analyzer,” Ph.D. dissertation, Dept. Elect. Dr. Tesla received honorary degrees from institutions of higher learning
Eng., Harvard Univ., Cambridge, MA, 1993. including Columbia University, Yale University, University of Belgrade, and the
[33] N. Kawasaki, “Parametric study of thermal and chemical nonequilibrium University of Zagreb. He received the Elliott Cresson Medal of the Franklin
nozzle flow,” M.S. thesis, Dept. Electron. Eng., Osaka Univ., Osaka, Japan, Institute and the Edison Medal of the IEEE. In 1956, the term “tesla” (T) was
1993. adopted as the unit of magnetic flux density in the MKSA system. In 1975, the
Power Engineering Society established the Nikola Tesla Award in his honor. He
died on January 7, 1943.
Basic format for the most common types of unpublished
references:
[34] J. K. Author, private communication, Abbrev. Month, year.
[35] J. K. Author, “Title of paper,” unpublished.
[36] J. K. Author, “Title of paper,” to be published.
Examples:
[37] A. Harrison, private communication, May 1995.
[38] B. Smith, “An approach to graphs of linear forms,” unpublished.
[39] A. Brahms, “Representation error for real numbers in binary computer
arithmetic,” IEEE Computer Group Repository, Paper R-67-85.

Basic format for standards:


[40] Title of Standard, Standard number, date.
Examples:
[41] IEEE Criteria for Class IE Electric Systems, IEEE Standard 308, 1969.
[42] Letter Symbols for Quantities, ANSI Standard Y10.5-1968.

III. BIOGRAPHIES
A technical biography and photograph for each author may be
included. The photo should be 2.54 centimeters (1 inch) wide by
3.18 centimeters (1.25 inches) high. The head and shoulders
should be centered, and the photo should be flush with the left
margin. The space required for the biographies and photos is
included in the eight-page limit.
The first paragraph should begin with the author’s name (as it
appears in the byline) and IEEE membership history. A place
and/or date of birth may be included (list place, then date). Next,
the author’s educational background is listed. The degrees should
be listed with type of degree in what field, which institution, city,
state, and country, and year the degree was earned. The author’s
major field of study should be lower-cased.
The second paragraph uses the pronoun of the person (he or
she) and not the author’s last name. It lists military and work
experience, including summer and fellowship jobs. Job titles are
capitalized. The current job must have a location; previous
positions may be listed without one. Information concerning
previous publications may be included. Try not to list more than
three books or published articles. The format for listing
publishers of a book within the biography is: title of book (city,
state: publisher name, year) similar to a reference. Current and
previous research interests end the paragraph.
The third paragraph begins with the author’s title and last name
(e.g., Dr. Smith, Prof. Jones, Mr. Kajor, Ms. Hunter). List any
memberships in professional societies other than the IEEE.
Finally, list any awards and work for IEEE committees and
publications.
The following is a biography of Nikola Tesla as an example.

Nikola Tesla (M’1888, F’17) was born in Smiljan in


the Austro-Hungarian Empire, on July 9, 1856. He

14

You might also like