Cấu hình căn bản cho các ứng dụng Simgrid

Một phần của tài liệu NGHIÊN cứu mô PHỎNG và TÍNH GIÁ THÀNH (Trang 52 - 57)

a) Mô tả platform

LSDC platform kết hợp các tài nguyên tính toán, tài nguyên mạng cùng nhau, tạo thành cấu trúc nền tảng của hệ thống LSDC. Simgrid sử dụng file XML để mô tả. Việc sử dụng một file xml độc lập mô tả nền tảng cho phép các nhà

53

nghiên cứu có thể tái sử dụng lại nếu cần. File nền tảng này đƣợc phân tích khi chƣơng trình giả lập bất đầu chuyển các mô tả nền tảng vào lõi giả lập. Có ba loại tài nguyên chính thƣờng đƣợc mô tả trong platform là: host, link, router. Cú pháp mô tả cụ thể nhƣ sau [13]:

 <host id = “name” power = “P”/>

Thẻ host đƣợc dùng để mô tả một host đƣợc giả lập, host đƣợc đặc trƣng bởi id và công suất tính theo đơn vị Flops (millions of floating point operations per second)

 <link id = “name” bandwidth = “B” latency = “L”/>

Thẻ link đƣợc dùng để mô tả một đƣờng truyền kết nối giữa hai nút mạng, sẽ đƣợc sử dụng về sau cho mục đích định tuyến. Thẻ link bao gồm ba thuộc tính id, băng thông và độ trễ tính theo đơn vị B/s (bytes per second)

 <router id = “name”/>

Thẻ router đƣợc dùng để mô tả một bộ định tuyến trên mạng.  <route src = “sid” dst = “did”><link_ctn id = “lid”/>* </route>

Thẻ route đƣợc dùng để mô tả một đƣờng truyền dữ liệu giữa hai nút mạng, nó có thể bao gồm nhiều kênh truyền đƣợc sử dụng để liên lạc giữa nút nguồn và nút đích

54

Hình 16: Một mạng minh họa đơn giản

Hình 14 mô tả một ví dụ đơn giản, một topology đƣợc tạo nên bởi hai host (Jack và Jane), hai router và ba kết nối. Mạng trên đƣợc Simgrid diễn tả bằng file xml nhƣ sau:

b) Viết chƣơng trình mô phỏng ứng dụng

Mỗi ứng dụng phân tán ứng với một hoạt động khác nhau trên hệ thống LSDC. Nó tạo ra các hoạt động truyền thông, tính toán trong suốt thời gian thực thi và thƣờng là đối tƣợng hƣớng đến của các nghiên cứu bởi sự thay đổi các ứng dụng này dễ dàng và giảm thiểu chi phí rất nhiều so với thử nghiệm trên phần cứng. Trong SimGrid, ứng dụng chịu trách nhiệm cho việc cung cấp các hoạt động giả lập. Các hoạt động truyền thông giả, tính toán giả sẽ phân bổ tài nguyên mô phỏng khi một vài hoạt động chia sẻ các nguồn tài nguyên [13].

Để xây dựng ứng dụng, Simgrid cần cung cấp cho ngƣời sử dụng một vài giao diện lập trình. Hệ thống LSDC là lớn, vì vậy việc sử dụng các ngôn ngữ lập trình bậc thấp nhƣ C/C++ có thể đạt đƣợc hiệu năng tốt hơn. Ngƣời dùng cũng có thể sử dụng các ngôn ngữ khác để tạo ứng dụng trong Simgrid nhƣ Java, Ruby và Lua. Để minh họa cho một ứng dụng, ở đây tập trung vào MSG, một giao diện lập

55

trình đa năng của Simgrid, nó cung cấp một tập hợp các hoạt động gửi/nhận đồng bộ (hoặc không đồng bộ). Bên cạnh đó MSG cũng cung cấp một giao diện để quản lý các tác vụ (tạo, hủy, bắt đầu trở lại) và giả lập tính toán. Chi tiết về MSG và các giao diện lập trình ứng dụng khác sẽ đƣợc giới thiệu ở phần sau.

Đây là một ví dụ đƣợc viết sử dụng ngôn ngữ lập trình C, sử dụng giao diện lập trình MSG trong Simgrid. Để tạo sự rõ ràng, ứng dụng đƣợc chia thành 3 file mã nguồn. File chính, SimpleExample.c có khai báo hai hàm sender (gửi) và receiver (nhận). Hàm sender đƣợc viết code trong file sender.c, tạo một tác vụ (task) sử dụng hàm MSG_task_ create với tham số cho tính toán bằng 0, lƣu lƣợng truyền thông là 200 Byte, sau đó, hàm sender gửi tác vụ này tới một tiến trình (process) khác sử dụng hàm MSG_task_send. Chi tiết việc thực thi của phƣơng thức sender đƣợc mô tả trong file xml triển khai (deployment). Hàm receiver đƣợc viết code trong file receiver.c, hàm này nhận một tác vụ sử dụng hàm MSG_task_receive, lời gọi này thiết lập một điểm đồng bộ giữa hai tiến trình.

Chƣơng trình main (SimpleExample.c) bao gồm một số lệnh tƣơng tự nhau đối với mọi ứng dụng để kết nối file platform, file deployment và ứng dụng về một mối.

56

c) Triển khai

File triển khai quy định việc một tiến trình trong phần ứng dụng đƣợc thực thi trên host nào khi quá trình giả lập diễn ra, ngoài ra file triển khai còn đƣợc dùng để đặc tả một vài tham số cần thiết cho mỗi ứng dụng khi thực thi. File triển khai ứng với ví dụ minh họa trên nhƣ sau:

Theo mô tả của file triển khai, chỉ một process đƣợc tạo ra cho sender và một process cho receiver. Process cho sender đƣợc thực thi trên host có tên “Jack”, thông qua một tham số “giá trị định danh” 1, receiver sử dụng định danh này để nhận dạng thông điệp nhận đƣợc từ tiến trình sender. Việc giải thích tƣơng tự đối với process cho receiver.

Đến thời điểm này, việc mô tả platform, xây dựng ứng dụng và file triển khai là đủ để ứng dụng giả lập có thể chạy trên Simgrid. Trong một số trƣờng hợp tài nguyên sẵn có biến đổi theo thời gian, việc mô tả thực hiện ở phần tiếp theo.

d) Mô tả tài nguyên sẵn có

Đối với một số cộng đồng LSDC việc mô hình hóa sự thay đổi tài nguyên đột ngột hoặc theo thời gian là cần thiết. Ví dụ, trong tính toán đám mây và tính toán phân tán trên internet (volunteer computing), tài nguyên là rất phong phú, việc một tài nguyên ở trạng thái ngắt kết nối hay dừng hoạt động là không thể bỏ qua. Hơn nữa, trong hệ thống tính toán phân tán trên internet, việc chia sẻ năng lực tính toán đối với các máy thành phần có thể chỉ là một phần trăm nhất định trong tổng

57

thể. Để đáp ứng nhu cầu của những cộng đồng LSDC nhƣ vậy, Simgrid cung cấp cơ chế lƣu vết phản ánh sự sẵn có của tài nguyên theo thời gian.

Simgrid sử dụng file text để mô tả sự biến thiên của tài nguyên sẵn có theo thời gian. Ví dụ:

File text trace.txt đƣợc thêm vào trong mô tả thẻ host nhƣ sau: <host id="Jack" power="2000000" availability_file="trace.txt"/>

Khi thêm file trace.txt mô tả tài nguyên sẵn có vào host “Jack”, tại thời điểm bắt đầu việc giả lập, host sẽ hoạt động với 100% năng lực (2Mflop/s). Sau khoảng thời gian 10s, host hoạt động với 10% năng lực, sau khoảng thời gian 20s, host hoạt động với 50% năng lực, và cứ nhƣ vậy cho đến hết file mô tả trace.txt. Sau khi hết khoảng thời gian 30s, trong khoảng thời gian 10s tiếp theo đƣợc định nghĩa trong tham số periodicity, host hoạt động với 100% năng lực, sau khoảng thời gian này, chu kỳ bên dƣới đƣợc lặp lại.

Một phần của tài liệu NGHIÊN cứu mô PHỎNG và TÍNH GIÁ THÀNH (Trang 52 - 57)