Tải bản đầy đủ (.pdf) (24 trang)

Nghiên cứu giải pháp tiết kiệm năng lượng trong thiết kế chuyển mạch sử dụng ở trung tâm dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.98 MB, 24 trang )


1



M U
ng tiêu th ca thit b mng trong trung tâm d liu
Theo các nghiên              
Dynatmics 2012 ch
và 2012 . N
nhanh tr- 2020. T
 30%  
. ng
%  
.
  
nhói riêng  ban
   
còn  ( 6a 
.    


 



   
.  các ph
sau: (1) -engineering), (2) ), (3) 
g minh (Smart sleeping/standby)
2. Nhng v còn tn ti


:
 Khó có th tìm thy nhng công trình mang li cho ta thy chi tit v ng tiêu
th ca các thành ph thit k li các b chuyn mch có
kh tit king thì hiu sung ca các thành phn bên trong
các b chuyn mch NetFPGA hin nay cc nghiên cu chi ti
  ci thin hiu qu  xut trong các công trình
công b trên vi mc ti vì trong hu ht kt qu nghiên cu thích
ng tn s c áp dng cho mt s khi chi cho toàn b
h thng.
  s mng tiêu th ng tit kim ti
mt mc s dng nhnh.
Qua kho sát v các công trình nghiên cu trên v tit king trong trung tâm
d liu. Ta thy rng công trình nghiên cu v tit king cho thit b mng hin
nay c và không có nhic công b trên các tp
chí, hi tho khoa hc và quc t. Mc dù ng tiêu th ca các thit b

2



mng chim không nh khong t n 30% ng tiêu th trong trung tâm d
liu. Vì vy, vic u gii pháp tit king trong thit k chuyn mch
s dng  trung tâm d li   tài mang tính thi s.
3. Mc tiêu, ng và phm vi nghiên cu
 Mc tiêu nghiên cu:
  xut các gii pháp tit king và thit k chuyn mch mi có chc
t king theo b u khin NOX hoc POX.  xut gii pháp
thit k mt chuyn mch t ng tit kiu vào.
  xut các thut toán v gii hn nh nht, ln nht và trung bình ca ng
tiêu th trên các thit b mng ti khác nhau.  xut ch s công sut

trung bình A t l ng tit kim.
  xut gii pháp WOL (Wake on Lan) cho chuyn mch OpenFlow giúp cho vic
d dàng qun lý  u khin linh hot cho chuyn mch OpenFlow
ng hp h thng trung tâm d liu có quy mô ln hoc khi s c xy ra.
 ng nghiên cu:
 Tp trung vào kin trúc chuyn mch OpenFlow trên nn tng Kit NetFPGA-1G, và
bu khin OpenFlow c phát trin u tiên bi hc Standford.
 Tp trung nghiên cu các thut toán thut mô hình hóa ng cho chuyn mch
OpenFLow.
 u lý thuyt kt hp thc nghim.
 Phm vi nghiên cu:
 Nghiên cu các gii pháp tit king và ch cho chuyn mch
OpenFlow trên nn tng NetFPGA, trin khai trên h thng thc nghim bao gm b
u khin NOX /POX, b ng và s dng board PCIEXT-64UB
, cho .
 ng tiêu th ca chuyn mch và t toán t
NetFPGA-1G (4 cng) trong thc nghing tht toán bng Matlab
trên các mô hình ng ca chuyn mch NetFPGA m rng có s cng ln

 Ni dung ca lun án ch tp trung nghiên cu các gii pháp tit kim ng
tiêu th cho chuyn mch OpenFlow. Các kt qu c ca lu c các
ng nghip s dng  mc ng tiêu th trên toàn mng trong kin
trúc th nghim ECODANE.
4. 
   , và 


. 



3




Tng quan lý thuyt và các công ngh s dng trong trung tâm d liu
1.1. 
C           
Consumption in DAta Centre NEtworks based on Traffic Engineering) 



-  
 cho t.
1.2. 

Hình 1.5. 
1.3. Các    ECODANE
1.3.1. OpenFlow
  OpenFlow            
(Software Defined Networking) 

OpenFlow              
chính:   Flow-table), kênh an toàn (Secure Channel), giao t 
(OpenFlow Protocol).

Hình 1.6. 

4




1.3.2. 
 (Hình 1.8) 


                 
     ti            


Hình 1.8. 
1.3.3. COpenFlow trên  NetFPGA

 (Hình 1.13) 

Hình 1.13.  
1.4. 
bày .
 
.  
các  
 OpenFlow .

Các gii pháp tit king cho chuyn mch OpenFlow
2.1. 
C 
 -

i
M 


5



. 

2.2. PhâOpenFlow
2.2.1 NetFPGA-1G
Kit NetFPGA-1G là c
 net  

Hình 2.2  

Host PC
Chuyển mạch
NetFPGA
PCIEXT-64UB
C0
C1
C2
C3
Chuyển mạch
NetFPGA
C0
C1
Chuyển mạch
NetFPGA
C0
C1

Chuyển mạch
NetFPGA
C0
C1
Chuyển mạch
NetFPGA
C0
C1
Thiết bị
Oscilloscope
3.3V
5.0V
Bo mạch hiển thị
công suất
C0
C1
C2
C3
Phát lưu lượng 1
C0
C1
C2
C3
Phát lưu lượng 2
C2
C2
C2
C2
Chú ý: Băng thông
800Mbps

1Gbps

Hình 2.2.   NetFPGA
2.2.2  NetFPGA-1G
 NetFPGA (1)
   (2)    g, (3) 
 (4)  
OpenFlow. Hình 2.4.

Hình 2.4 
   NetFPGA
OpenFlow  
39% c 23.3% và 
37.7%.
2.3. 
 
chip FPGA  23.3%    
               

6



CC (Clock Controller),    NOX /POX  
 .
2.3.1. 
N







   

 

  (2.1)
(2.1), 
f/2, f/4, f/8, f/16, f/32, f/64
2.3.2.   CC (Clock Controller)
T CC  
, 
CC CD Hình 2.5 

Xử lý gói
tin
Bộ đệm
vào
Bộ đệm ra
Gói tin vào
Gói tin ra
NF2CORE
Clock
Divider
Xử lý gói
tin
Clock
Controller
UDP

master_clock
core clk
cpci clk
NF2TOP
Giảm tần

Hình 2.5.   )
     Hình 2.5          

, vv
     

hz.
2.3.3. OpenFlow 
              
OpenFlow

Bng 2.1. Bn tin OFPT_SWITCH_MOD gim tn
Opflow
header
Datapath ID
Switch state
Option
Pad
8bytes
8 bytes
1bytes
4bytes
3bytes
F

- - - -
M2 M1 M0
7 0
Reserved
ModeFlag

Hình 2.6. Switch state

7



2.4. 
 
37.7% 

   
   .
2.4.1. Nguyên  (link_rate)
Trong BCM5464SR NIC có 4 thanh ghi  .
OpenFlow
OpenFlow 
 Hình 2.8.
- -
27
- - -
31 2930 28
0 1 - -
Hoạt động2 bit đầu
22

- -
Địa chỉ thanh ghi [4:0]
- - -
17 15 016
- - - - -
TA
Bit điều khiển dữ liệu [15:0]
-
Địa chỉ vật lý[4:0]

Hình 2.8. 
K 
Hình 2.9)
Lựa chọn tốc độ
R - SP0 AN LP - -
6
0
-
SP1 - - -
15 13
Chế độ công suất thấp
Tự động thương lượng
-
5
- -
-

Hình 2.9. 
2.4.2. OpenFlow 
  Ethernet cho 

 OpenFlow.
  Hình 2.10. 

 
 

Bng 2.4. Bn tin OFPT_PORT_MOD
OpenFlow
header
Port no
MAC
address
Config
Mask
Link
state
Advertise
Pad
8bytes
2bytes
6bytes
4bytes
4bytes
1bytes
4bytes
3bytes
F
- - -
B1 B0 P1 P0
7 0

Link Rate Port No.Flag Reserved

Hình 2.10. Link state  

8



2.5. 
POX
2.5.1. 
               tên là Clock
 
     
 

Hình 2.12. 
2.5.2. 
 
 OpenFlow 
P

Hình 2.16.
ETHERNET FPGA
MII Control
Register
USER DATA
PATH
MDIO
PORT

[0:3]
PC SOFTWARE
DRIVER
CONTROL
SOFTWARE
NF2_REG_GRP

Hình 2.16. are)
        

ghi MII.
2.5.2.1. 
Các c 
Bng 2.5. Các ch  hong mi ca chuyn mch




125 MHz
Idle/10Mbps/100Mbps/1Gbps

62.5 MHz
Idle/10Mbps/100Mbps

3.90625 MHz
Idle


9




2.5.2.2. 
 cho  , 
n OpenFlow.
Switch.
Switch_ mode
:  (M1M0=00), 
(M1M0=01) và  (M1M0= (Hình 2.19).
Bng 2.6. Bn tin OFPT_Switch_mode cho 3 ch  hong
OpenFlow Header
Switch Mode
Pad
8 Bytes
1 Bytes
3 Bytes
F
- - - - -
M1 M0
7 0
Reserved
ModeFlag

Hình 2.19.  Switch Mode 
2.6. 







 NOX /POX.
2.6.1. 
                
mode.

sau:
E = P
working
* T
working
+ P
sleep
* T
sleep
(2.2)

working
và T
sleep


working
và P
sleep
 

T
sleep



(Hình 2.21).




i gian 


i gian (Phút)
(Mbps)

Hình 2.21. 

10



2.6.2. 
i
       DD         FC
Hình 2.22



2.6.2.1. 
Hình 2.22,
PCI Bus, NF2 DMA, CPU DMA Queue, NF2 Reg
grp, User Data Path và NF2 Mac.
NF2 TOP

NF2 CORE
USER DATA PATHNF2_MAC
DD
(Data Detector)
Input
Arbiter
VLAN
remover
Watchdog
Output
Port
Lookup
VLAN
adder
Output
Queues
TX
Queue
Ethernet MAC
RX
Queue
CPU DMA QUEUE
NF2 DMA CPCI BUS
NF2 REG
GRP
CPU RX
Queue
CPU TX
Queue
FC

(Frequency
Controller)

Hình 2.22. 
2.6.2.2. 



Hình 2.23.
Data Detector
CPCI BUS
NF2 REG
GROUP
USER DATA
PATH
CPU QUEUE
NF2 DMA
System
States
Frequency
Controller
Packets
Manager
Queue
Condition
Registers
Manager
Working state
NF2 MAC
Mac_grp_core_en

Registers
Core Clock
Controller
Idle timeout
Core_clk_packet_en
Core_clk_reg_en
Core_clk_en
Software
Register
Max Queue L
Max Num Packet
Wait timeout

Hình 2.23.

11






Core Clock (Core Clock Controller).
               
OpeHình 2.25.
IDLE
core_clk_packet_en
= 1
WORKING
core_clk_packet_en

= 1
SLEEP
core_clk_packet_en
= 0
mac_grp_core_en |dma_vld_c2n
| working_state = 1
Idle time
>
idle timeout
mac
_
grp
_
core
_
en
|
dma
_
vld
_
c
2
n
=
1
mac_grp_core_en |dma_vld_c2n
| working_state = 0

Hình 2.25.



                 
cor
2.6.3. 



u             ác
(gmii_tx_clk) không b        Hình 2.28    
Digital Clock Managers (
125MHz
0
Io
I
1
Io
core_clk_int
CLKIN
CLKFB
CLK0
BUFG
BUFGMUX
core_clk_en
DCM
core_clk = 125MHz

Hình 2.28. 
2.6.4.  
  



  


12





Idle Timeout = 5 clocks, Max Queue Length = 2000 bytes, Max Number packet =
1gói tin, Wait_Timeout = 12500 clocks = 100us.
  

t = 5 clocks, Max Queue Length = 5120 bytes,
Max Number packet = 127 gói tin, Timeout = 12500000 clocks = 100ms.
2.7. 
               
OpenFl
trên Hình 2.31.


Hình 2.31. 
2.7.1. 


 
3.90625MHz thì 
 sang .

Bng 2.9. Công sut tiêu th ca chuyn mch khi gim tn
Ch 
Tn s hong ca
chuyn mch (MHz)
S ln
gim
Công sut tiêu
th (mW)
Công sut tit
kim (mW)
0
125
1
11576
0
1
62.5
1/2
10228
1348
2
31.25
1/4
9872
1701
3
15.625
1/8
9554
2022

4
7.8125
1/16
9271
2305
5
3.90625
1/32
8965
2611


13



 

2.7.2. 
c nhau. K 
 .
Bng 2.10. i t link-rate ca cng Ethernet
Ch 
thông
trên 4 cng
Công sut tiêu th ca
chuyn mch P(mW)
Công sut tit kim
P(mW)
1

1Gbps
11525.6
0
2
100Mbps
7372
4154
3
10 Mbps
6537.6
4988
4
Idle (tt cng)
6440.6
5085
: 


2.7.3. 
 POX
. Cá
12.
Bng 2.12. Công sut tiêu th ca chuyn mch ng vi các ch  hong




Công sut cao
125
1000

11574
Công sut thp
62.5
100
6175
Ng
3.9065
0
4577

 
  
so .
2.7.4. 

2.7.4.1.  
  
xg l
 
T 
Hình 2.34)

14




Hình 2.34. 

NormalHigh PerformanceSave Power

Hình 2.35.


Hình 2.35.  
 





High .
Bng 2.14. ng tiêu th
c tính
ng tiêu th 
ng tit kim (%)
Ch 
Normal
Ch  High
Performance
Ch  Save
power
Ch  High
Performance
Ch  Save
power
u vào 1
10314J
7088J
6881J
31.27%

33.3%
u vào 2
10314J
6530J
6453J
36.68%
37.43%
u vào 3
10314J
6625J
6510J
35.77%
36.88%
0
500
1000
1500
0 10 20 30 40 50 60 70
Lưu lượng (Mbps)
Thời gian (phút)

15





 

33% - 37%.

2.7.4.2. 

.
Bng 2.15. i gian tr và mt gói tin so vi chuyn mng

High Performance
Save Power

 24ns
Twait timeout + Tprocess
tin
Không
Không
2.8. 
:
          

 T  
 
 T
/POX  OpenFlow
 


ng cho chuyn mch
3.1. 
C trình bày 
 




3.2. 
C          
:
 


  (3.1)

16



3.3. 

 



 





 

 

 


 

 

 

 


 

 (3.4)
3.4. 
 

Switch_state get_min_power_state(throughput T){
N1000 = (int)floor(T*1.0/999);
check1000:
if(N1000 >= N){
N1000 = N; N100 = 0; N10 = 0;
goto finish;
}
N100 = (int)floor(max((T-N1000*999), 0)*1.0/99);
check100:
if((N100 > N - N1000) || (N100*P100 > P1000)){
N1000++;
goto check1000;
}
N10 = (int)ceil(max((T-N1000*1000-N100*99),

0)*1.0/9);
if((N10 > N-N1000-N100) || (N10*P10 > P100)){
N100++;
goto check100;
}
finish:
N0 = N - N1000 - N100 - N10;
return Switch_state(N1000,N100,N10,N0);
}
3.5. 
  

Switch_state get_max_power_state(throughput T){
N1000 = (int)floor(T * 1.0 / 100);
if(N1000 >= N){
N1000 = N; N100 = 0; N10 = 0; N0 = 0;
}else{
N100 = (int)floor(max((T-N1000*100), 0) * 1.0 / 10);
if(N100 >= N - N1000){
N100 = N-N1000; N10 = 0; N0 = 0;
}else{
N10 = max((T - N1000*100 - N100*10), 0);
if(N10 >= N - N1000 - N100){
N10 = N - N1000 - N100; N0 = 0;
else{
N0 = N - N1000 - N100 - N10;
}
}
}
return Switch_state(N1000,N100,N10,N0);

}
  get_max_power_state()         



 


 


 


 



 

17



P
max


max
(T);    


.
3.6. 



















 

 


; (3.12)
3.7. 
API (Average

Power Index) 


khi 
 





















  












(3.13)

2,
      

 API
1
 API
2



Hình 3.2. 
3.8. 
3.8.1.  NetFPGA


 trên Hình 3.3.

Hình 3.3. 

18




 Hình 3.3
 
.
3.8.2. NetFPGA-1G
 
 
         Tier-2 HP Enterprise-  và OpenFlow
Pronto- .

a) 

b) 
Hình 3.4. Liên  có 

Hình 3.5. 
S
.

a) 


b) 

Hình 3.6. 


19





a) 


b)  

Hình 3.7. 
Bng 3.5. Ch s tit kim công sut ca các chuyn mch khác nhau





(W)




  

 

(W)
4p NetFPGA
60.23
0.1181
11.560

10.195
8p NetFPGA
60.23
0.1501
23.020
19.564
16p NetFPGA
60.23
0.1677
46.040
38.319
48p NetFPGA
60.23
0.1784
138.120
113.479
16p Enterprise
26.97
0.0659
53.400
49.881
48p Pronto
39.30
0.1318
111.524
96.825

3.9. 



 vào. 
:
 Mô hình   
 và , 
  
.

Gii pháp WOL cho chuyn mch OpenFlow
4.1. 
WOL (Wake on LAN) 



t



20



4.2. 
  
MII .
 
  


  Ch






4.3. 
4.3.1. 
có gói tin 
-bit,


 
  


FF …. FF FF 11 22 33 44
16 

48-

6 
0xFF
55 66 11 22 66

Hình 4.1. 
B14 B13 B12 B11 B10 B9 B8 B7
0

B6 B5 B4 B3 B2 B1 B0
B15
1

23


Hình 4.2. packet
Bng 4.1. Trng thái ca cng 0
B
1
B
0

Trng thái ca cng
00
Tt
01
10Mbps
10
100Mbps
11
1Gbps


21



Bng 4.2. i tn s hong ca chuyn mch
B
9
B
8


Tn s hong
00
3.90625 MHz
01
125 MHz
4.3.2. 
K


ETHERNET
NF2_CORE
MII
REGISTER
CONTROL
PORT
[0:3]
NF2_MDIO
Rx&Tx
MAC Rx & Tx
Queue
USER DATA PATH
NF2_Reg_Grp
CPCI_NF2_Bus
WOL
Packet
Detector
Clock
Controller
WOL

Controller
WOL_port
WOL_core
WOL_enable

Hình 4.3. 
4.4. 
4.4.1. 


Bng 4.3. Công sut tiêu th ca chuyn mch vi các ch  sleep khác nhau

 (mW)
Sleep 
10444
Sleep 
9289
Sleep 
8204
Sleep 
4577
Trong M    





4.4.2. 
 tra 
 trong Hình 4.5, 

          gói tin     tin   
Wake up chuy OpenFlow  Sleep
 OpenFlow 

22



Chuyển mạch OpenFlow
PC1
(Điều khiển
chuyển mạch)
PC2
(Theo dõi trạng
thái chuyển
mạch)
Gửi bản tin
magic_pk
Cổng 3
tắt
Cổng 2
tắt
Cổng 1
10Mbps
Cổng 0
tắt
PCIEXT-64UB
(Đo công suất tiêu thụ)
Mạch hiển thị công suất
NetFPGA

00:4E:46:32:43:00
00:4E:46:32:43:01
00:4E:46:32:43:02
00:4E:46:32:43:03

Hình 4.5. 
 


có bit {B0, B
Wake up thà.8.

Hình 4.8. 
 C 

tin tin Wake up
 
 các 4.9.
0 0 0 0 0 0 1 1
0

1 1 1 1 1 1 1
0
1
23


Hình 4.9. 
              


10.

23




Hình 4.10. 
4.5. 

              

.
K
án


   ng



 



 







 




 


24



 






               
             



C
 
          -   



.
 


 
0% to 100%.
 

             


 
pháp 





×