6. Bố cục của luận án
4.3.1 Mô hình hệ thống
Để có thể tiến hành mô phỏng trên phần mềm, điều đầu tiên cần phải làm là xây dựng mô hình và biểu diễn hệ thống bằng các ký hiệu của mạng Petri. Công cụ mô phỏng mạng Petri có màu nói chung, phổ biến là CPN Tools (Đại học Aarhus, Đan Mạch) và TimeNet (Armin Zimmermann và Michael Knoke, Đại học kỹ thuật Berlin, CHLB Đức). Trong nghiên cứu này luận án sử dụng công cụ TimeNET 4.0 để thực hiện mô hình hệ thống tính toán song song ghép cụm.
Hệ thống song song ghép cụm với các cấu hình liên kết phổ biến là 2DTorus mà ở đó mỗi một nút xử lý kết nối với 4 nút kề cận (cấp độ của nút bằng 4). Mô hình gồm 5 nút xử lý: nút P0, nối với 4 nút kề cận P1, P2, P3, P4. Cấu trúc và công nghệ của mỗi nút Pi (i=0,1,2,3,4) đều giống nhau (Hình 4.6).
Đối với các liên kết mạng khác, việc mô hình hóa có thể được tiến hành dễ dàng theo cách tương tự.
93
Bảng 4.5 Danh sách các vị trí trong processor
Name Tokenype Tokenlist Queue Meaning
P0_mem0 int 8,16,32,64 Random
Processors: số thẻ ban đầu thể hiện số gói tin, với content =1 đối với P0 (cho biểu thức trên cung ra p = = 1)
CPU0_use int Random CPU thực hiện xử lý gói tin
CPU0_idle int 1 Random CPU rỗi, ban đầu được thiết lập 1 thẻ. P0_outb int Random Output buffer của Processor. Ban đầu
rỗng
P0_inb int Random Input bufer của Processor. Ban đầu rỗng
Danh sách thẻ (Tokenlist) (Bảng 4.5) của processor có nội dung (content) giống nhau cho tất cả các gói tin. Đối với P0: content = 1, P1: content =2, P2: content =3, P3: content = 4 và P4:content = 5.
Bảng 4.6 Các chuyển tiếp có trễ kích hoạt của processor
Name timeFunction localGuard Meaning
CPU0_ser EXP(CPU_service_time) p Thời gian mà CPU xử lý xong gói tin (CPU_service_time)
P0_req_net EXP(net_access_time) p
Thời gian truy yêu cầu truyền thông từ processor truy nhập tới mạng interconnect
Bảng 4.7 Các chuyển tức thời (trễ thời gian 0) của processor
Name Priority weight localGuard Meaning
get_CPU0 1 1.0E0 p Kích hoạt ngay khi có trong memory có gói tin To_mem0 1 1.0E0 p Kích hoạt ngay khi truyền thông từ processors
94
Mô hình mạng liên kết cụm được thể hiện trong Hình 4.7.
(a) SCPN của Interconnect (b) SCPN con của Interconnect
Hình 4.7 SCPN của Interconnect
Bảng 4.8 Danh sách các vị trí trong processor
Name Tokenype Tokenlist Queue Meaning
Net_inb int Random Input buffer của Interconnect Net_use int Random Interconnect thực hiện xử lý gói tin
Net_idle int 1 Random Interconnect rỗi, ban đầu được thiết lập 1 thẻ.
Net_outb int Random Output buffer của Interconnectr. Ban đầu rỗng
Bảng 4.9 Các chuyển tiếp có trễ kích hoạt
Name timeFunction localGuard Meaning
Net_ser EXP(net_server_time) p Thời gian truyền thông qua interconnect (net_server_time)
Bảng 4.10 Các chuyển tức thời (trễ thời gian 0) của Interconnect
Name Priority weight localGuard Meaning
get_net 1 1.0E0 p Kích hoạt khi có yêu cầu truyền thông interconnect
To_P0 1 1.0E0 p Kích hoạt khi output buffer của interconnect có thẻ: chuyển gói tin đến processors
Trong tính toán song song, một nút proccessor thực hiện cục bộ nhiệm vụ tính toán và chuyển kết quả tính toán trung gian cho các processor lân cận (có thể kề cận hoặc ở khoảng các xa tùy thuộc thuật toán song song của ứng dụng). Do đó, thông
95
thường các gói tin từ một processor sẽ gửi đến các processor khác chứ không quay lại chính nó. Vì vậy khi truyền qua mạng liên kết với trễ nhỏ nhất nếu đến các processors kề cận, hoặc với trễ trung bình được tính theo H - khoảng cách định tuyến trung bình đối với từng cấu hình. Ví dụ với 2Dtorus thì H =(1/2)n1/2, n = số nút processors.Ví dụ, P0 chuyển gói tin qua mạng sẽ chỉ có thể đi tới P1, P2, P3, P4.
Hình 4.8 sau đây là SCPN của hệ thống đa xử lý tính toán song ghép cụm sử dụng kết nối 2DTorus.
Hình 4.8 SCPN của hệ thống xử lý tính toán song song ghép cụm 2DTorus.
Trong mô hình này, các vị trí P0_mem (P1_mem, P2_mem, P3_mem, P4_mem) của các nút processors tương ứng (P0, P1, P2, P3 và P4) được thiết lập số lượng các gói tin ban đầu bằng số thẻ (8, 16, 32, 64). Sự kích hoạt ngay lập tức các chuyển tiếp get_CPU0 (get_CPU1, get_CPU2, get_CPU3, get_CPU4) thể hiện các gói tin của ứng dụng được chuyển vào CPU của processor để xử lý.
Trạng thái xử lý của CPU là các vị trí CPU0_use (CPU1_use, CPU2_use, CPU3_use, CPU4_use). Thời gian trễ xử lý CPU_service_time của processors có
96
phân bố mũ và được xác định bằng giá trị EXP (CPU_service_time). Các gói tin cần được gửi qua mạng liên kết đến các processors và được processor chuyển đến output buffer, được thể hiện bởi các vị trí P0_outb (P1_outb, P2_outb, P3_outb, P4_outb).
Từ các output buffer, processors chuyển đến mạng liên kết, được xác định bằng trễ truy nhập Interconnect net_access_time có phân bố mũ, được xác định bằng giá trị EXP(net_access_time). Các yêu cầu truyền thông từ processors được đưa vào input buffer của mạng liên kết, được thể hiện là vị trí Net_inb.
Thông thường mạng liên kết được kết nối bởi các switch/router với các buffers để xử lý định tuyến thông tin. Ngay khi có yêu cầu truyền trông trong Net_inb, chuyển tiếp get_net kích hoạt và mạng liên kết thực hiện truyền thông các gói tin (xác định tuyến, chuyển các gói tin). Trạng thái thực hiện truyền thông của mạng liên kết được thể hiện bởi vị trí Net_use. Chuyển tiếp Net_ser có trễ truyền thông (hay trễ kích hoạt) là net_service_time có phân bố mũ và được xác định bằng giá trị EXP(net_service_time).
Sau trễ truyền thông qua mạng liên kết, các gói tin được chuyển đến output buffer của mạng liên kết và các chuyển tiếp To_P0 (To_P1, To_P2, To_P3, To_P4) kích hoạt ngay chuyển các gói tin đến các input buffer của các nút processors đích tương ứng, được thể hiện bằng các vị trí P0_inb (P1_inb, P2_inb, P3_inb, P4_inb).
Tại các nút processor, sự xuất hiện của thẻ trong các vị trí P0_inb (P1_inb, P2_inb, P3_inb, P4_inb) làm cho các chuyển tiếp To_mem0 (To_mem1, To_mem2, To_mem3, To_mem4) kích hoạt ngay chuyển các gói tin vào các bộ nhớ tương ứng. Đến đây quá trình truyền thông giữa các nút processors trong hệ thống song song hoàn thành với một gói tin. Ở đây không quan trọng kích thước gói tin là bao nhiêu, bởi vì số lượng gói tin được chuyển trong một quãng thời gian xác định cũng là vấn đề ảnh hưởng đến trễ truyền thông. Ngoài ra, số lượng nút xử lý n, cấu hình mạng liên kết, kích thước gói được thể hiện ẩn đến trễ các số đo thời gian: net_access_time, net_service_time, mà luận án sẽ thay đổi trong các kịch bản mô phỏng.
Các hàm <p> trên các cung đảm bảo chuyển các thẻ đúng theo loại nội dung mà các thẻ trong các vị trí processor xác định. Hàm <m> trên cung đảm bảo trạng thái rỗi mới cho các mạng intranet và mạng liên kết. Các hàm new(0) xác định thực hiện xong truyền thông của các yêu cầu từ processors.
Với mô hình này, xác định các thông số hiệu năng như ở Bảng 4.11.
Bảng 4.11 Các thông số hiệu năng
Parameters Value Meaning
Interconnect_utilization #Net_use
Mức độ sử dụng của mạng interconnect: là số thẻ (số yêu cầu truyền thông của processors được phục vụ) trong vị trí Net_use. Mức sử dụng của mạng liên kết càng cao thì trễ truyền thông qua mạng liên kết càng
97
Parameters Value Meaning
lớn và thông lượng giảm.
Request_waiting #Net_inb
Số thẻ có trong vị trí Net_inb thể hiện các yêu cầu truyền thông (số gói tin) từ các processor chờ đợi mạng liên kết tiếp nhận truyền thông
Net_throughput (#Net_inb)*
(1-#Net_use) Thông lượng của Interconnect