Chương 2 ĐỊNH HƯỚNG LUỒNG VÀ CÁC MƠ HÌNH LUỒNG PHỔ BIẾN
2.2. Mơ hình luồng lưu lượng và các mơ hình phổ biến
2.2.3. Mơ hình Hierarchical Client–Server (Máy khách – Máy chủ phân cấp)
Khi các luồng bên trong mơ hình luồng máy khách – máy chủ trở nên có thứ bậc hơn, về mặt thêm các lớp hoặc tầng vào các luồng, thì hành vi của chúng có thể được biểu diễn dưới dạng mơ hình luồng máy khách – máy chủ phân cấp. Mơ hình luồng máy khách – máy chủ phân cấp có các đặc điểm của mơ hình luồng máy khách – máy chủ nhưng cũng có nhiều lớp hoặc nhiều tầng giữa các máy chủ. Trong mơ hình này cũng có thể có các luồng từ máy chủ đến máy chủ hỗ trợ hoặc thiết bị quản lý, như trong Hình 2.12. Các luồng này (máy chủ đến máy chủ và máy chủ đến người quản lý) có thể được coi là quan trọng, ngoài các luồng từ máy chủ đến máy khách. Với các lớp bổ sung của hệ thống phân cấp trong mơ hình này, các máy chủ bây giờ có thể là nguồn dữ liệu hoặc nơi tiêu thụ dữ liệu (hoặc cả hai). Có thể cần thêm thông tin về các ứng dụng để xác định trạng thái của các máy chủ này. Mơ hình này quan trọng ở chỗ nó nhận ra các luồng từ máy chủ đến máy chủ và máy chủ đến người quản lý.
Mơ hình luồng máy khách – máy chủ phân cấp được chỉ định khi nhiều ứng dụng làm việc cùng nhau và chia sẻ thơng tin để hồn thành một tác vụ hoặc khi nhiều ứng dụng máy khách – máy chủ (hoặc nhiều phiên của cùng một ứng dụng máy khách – máy
chủ) được quản lý bởi một ứng dụng cấp cao hơn. Một hệ thống hỗ trợ hoạt động (OSS) quản lý một số ứng dụng văn phịng thường có thể được mơ hình hóa theo kiểu này.
Hình 2.12 Mơ hình luồng Hierarchical Client–Server
Các luồng quan trọng cho mơ hình này phụ thuộc vào hành vi ứng dụng. Nếu các ứng dụng vốn dĩ là máy khách – máy chủ và các máy chủ chỉ ở đó để hỗ trợ nhiều phiên, thì luồng máy khách – máy chủ có thể là luồng quan trọng duy nhất. Tuy nhiên, khi các máy chủ giao tiếp với nhau (ví dụ: để cập nhật cơ sở dữ liệu chung hoặc chia sẻ dữ liệu giữa các ứng dụng), thì luồng từ máy chủ đến máy chủ có thể rất quan trọng, ngồi luồng máy khách – máy chủ. Và khi có thơng tin liên lạc với người quản lý (ví dụ: để đồng bộ hóa q trình xử lý hoặc thơng tin), thì luồng từ máy chủ đến người quản lý cũng có thể rất quan trọng.
Chúng ta đã chứng minh rằng Internet đã phát triển từ mơ hình luồng ngang hàng ban đầu thành mơ hình luồng máy khách – máy chủ với sự chấp nhận của các ứng dụng Web. Tuy nhiên, khi lưu lượng máy khách – máy chủ tăng lên, các máy chủ Web đã được nhân rộng và phân phối trên Internet, dẫn đến sự gia tăng các luồng từ máy chủ đến máy chủ. Điều này đang được thực hiện để tăng hiệu quả của việc truy cập Web, một phần bằng cách mở rộng quyền truy cập trên nhiều thiết bị và một phần bằng cách định vị các thiết bị gần hơn với phần truy cập của Internet, do đó bỏ qua một phần hoặc tồn bộ phần lõi. Do đó, Internet đang phát triển thành mơ hình luồng máy khách – máy chủ phân cấp hơn.
Các dịch vụ Web phân cấp như vậy được thể hiện trong Hình 2.13. Trong hình này, mạng phân phối nội dung (CDN) và máy nhân bản (Mirror) được sử dụng để di chuyển nội dung Web giữa các máy chủ và cung cấp quyền truy cập cục bộ vào nội dung cho người dùng.
Trong hình này, các máy chủ có thể cung cấp cùng một chức năng hoặc nhiều chức năng khác nhau. Ví dụ, máy chủ ứng dụng ba tầng dựa trên Web có thể chạy ứng dụng và dịch vụ Web trên cùng một thiết bị, trong khi chạy các dịch vụ cơ sở dữ liệu trên một thiết bị khác. Trong trường hợp này, các luồng giữa các máy chủ (Application/Web và Database) rất quan trọng cho hoạt động.
Hình 2.13 Dịch vụ Web được mơ hình hóa trên mơ hình Hierarchical Client–Server
Một ví dụ về điều này là trực quan hóa các mơ phỏng khoa học. Hãy xem xét các mơ phỏng của một bài tốn gồm nhiều phần. Chúng có thể được tìm thấy trong mơ hình khí hậu, phân tích luồng chất lỏng, phân tích cấu trúc và những thứ khác.
Trong mơ hình khí hậu có thể có một mơ phỏng bao gồm nhiều phần: bầu khí quyển, trái đất và đại dương - như trong Hình 2.14. Mỗi phần mơ phỏng trong hình này có thể được phát triển trên một thiết bị tính tốn riêng biệt, có thể ở các vị trí khác nhau (dựa trên vị trí của các nhà khoa học khác nhau). Vì mỗi thành phần ảnh hưởng đến các thành phần khác, tại ranh giới giữa khí quyển, trái đất và đại dương, dữ liệu phải được chuyển giữa các máy chủ tính tốn & máy chủ trực quan cho từng phần. Các luồng sẽ giống như trong Hình 2.15. Trong hình này, nếu các phần của mơ phỏng đang được giải qút ở
các vị trí khác nhau, thì luồng từ máy chủ đến máy chủ có thể vượt qua khoảng cách dài (WAN), ảnh hưởng đến cả mạng cục bộ và mạng diện rộng.
Hình 2.14 Các thành phần của mơ hình khí hậu
Hình 2.15 Mơ hình luồng Hierarchical Client–Server cho hình ảnh khoa học 2.2.4. Mơ hình Distributed-Computing (Phân phối – Tính tốn) 2.2.4. Mơ hình Distributed-Computing (Phân phối – Tính tốn)
Mơ hình luồng phân phối – tính tốn, thể hiện trong Hình 2.16, là mơ hình đặc biệt nhất trong các mơ hình luồng. Mơ hình luồng phân phối – tính tốn có thể ngược với các đặc điểm của mơ hình luồng máy khách – máy chủ hoặc kết hợp giữa mơ hình luồng ngang hàng và máy khách – máy chủ. Trong mơ hình này, các luồng chủ yếu nằm giữa trình
quản lý tác vụ và các máy tính (như mơ hình máy khách – máy chủ) hoặc giữa các máy tính (như mơ hình ngang hàng). Loại mơ hình phụ thuộc vào cách thực hiện phân phối – tính toán. Đặc điểm quan trọng của mơ hình này là các luồng có thể là máy khách – máy chủ nhưng bị đảo hướng và các máy tính có thể có các yêu cầu nghiêm ngặt về hiệu suất.
Hình 2.16 Mơ hình luồng Distributed-Computing
Chúng ta có thể phân biệt mơ hình luồng phân phối – tính tốn dựa trên mối quan hệ giữa trình quản lý tác vụ, các máy tính và tác vụ là gì. Mối quan hệ này có thể dẫn đến việc các máy tính được kết hợp chặt chẽ với nhau, nơi thường xun có sự trao đổi thơng tin giữa các thiết bị hoặc kết hợp lỏng lẻo, nơi có thể có rất ít hoặc khơng có sự trao đổi thơng tin giữa các máy tính. Các tác vụ có thể bao gồm từ chi tiết thơ, trong đó mỗi tác vụ được dành riêng cho một máy tính duy nhất, đến chi tiết nhỏ, trong đó một tác vụ được chia nhỏ cho một số thiết bị và việc tính toán được thực hiện đồng thời.
Khi nhiệm vụ có độ chi tiết thơ và mối quan hệ giữa các máy tính được kết hợp lỏng lẻo, thì mơ hình luồng phân phối – tính tốn có dạng một cụm máy tính hoặc hệ thống quản lý tài nguyên máy tính, trong đó các tác vụ được phân bổ cho từng máy tính dựa trên tính khả dụng của tài ngun. Do đó, mỗi máy tính giao tiếp với cụm máy chủ hoặc trình quản lý tài ngun. Hình 2.17 cho thấy một ví dụ về các luồng cho một cụm máy tính.
Hình 2.17 Luồng cho một cụm máy tính
Các luồng trong loại mơ hình luồng phân phối – tính tốn này tương tự như các luồng trong mơ hình luồng máy khách – máy chủ, trong đó thơng tin trao đổi chủ yếu giữa máy khách và máy chủ. Một sự khác biệt ở đây là hướng của các luồng không nhất thiết phải từ máy chủ đến máy khách. Trên thực tế, kích thước của tệp khởi tạo tác vụ (theo nghĩa là một yêu cầu) được gửi từ máy chủ đến từng máy tính có thể nhỏ hơn nhiều so với kích thước của kết quả tính tốn, được gửi từ máy tính đến máy chủ. Trong mơ hình này, hướng luồng là khơng đối xứng, nhưng theo hướng ngược lại với mơ hình luồng máy khách – máy chủ. Ngồi ra, mỗi luồng giữa các máy tính và máy chủ của chúng độc lập với các luồng khác. Khơng có sự đồng bộ hóa giữa các luồng riêng lẻ. Các luồng quan trọng cho mơ hình này là từ các máy tính đến máy chủ của chúng. Vì các luồng cho mơ hình này là khơng đối xứng, theo hướng về phía máy chủ, máy chủ hoạt động như một nơi tiêu thụ dữ liệu, trong khi các máy tính hoạt động như nguồn dữ liệu.
Khi nhiệm vụ có mức độ chi tiết tốt và mối quan hệ giữa các máy tính được kết hợp chặt chẽ, thì mơ hình luồng phân phối – tính tốn hoạt động giống như một hệ thống xử lý song song được đơn giản hóa, trong đó mỗi tác vụ được chia nhỏ, dựa trên mức độ song song trong ứng dụng và cấu trúc liên kết của vấn đề, giữa một số máy tính. Các thiết bị này hoạt động đồng thời trên các vấn đề, trao đổi thông tin với các thiết bị lân cận và đợi thông tin cập nhật. Trình quản lý tác vụ thiết lập các máy tính và bắt đầu tác vụ với một tệp khởi tạo, như trong Hình 2.18.
Hình 2.18 Các luồng tính tốn song song
Các luồng trong loại mơ hình luồng phân phối – tính tốn này có thể có các yêu cầu về hiệu suất nghiêm ngặt nhất so với bất kỳ mơ hình nào. Vì các máy tính có thể chặn (tạm dừng tính tốn của chúng) trong khi chờ đợi thông tin từ các thiết bị lân cận, thời gian truyền thơng tin giữa các máy tính trở nên rất quan trọng. Điều này có ảnh hưởng trực tiếp đến các yêu cầu về độ trễ và biến thiên độ trễ đối với mạng kết nối các thiết bị. Mặc dù mỗi luồng riêng biệt có sự đồng nhất về hướng, nhưng nhìn chung có rất ít hoặc khơng có hướng tổng thể. Các luồng riêng lẻ trong mơ hình này có thể được nhóm lại để cho biết thiết bị bên cạnh nào mà máy tính sẽ giao tiếp với một vấn đề hoặc cấu trúc liên kết nhất định. Ví dụ, một vấn đề có thể được cấu hình sao cho một thiết bị máy tính sẽ giao tiếp với một, hai, bốn hoặc sáu trong số những thiết bị bên cạnh gần nhất của nó.
Đối với mơ hình này, các luồng quan trọng là giữa các máy tính. Khi một thiết bị chuyển cùng một thông tin đồng thời đến một số thiết bị bên cạnh, việc phát đa hướng nên được xem xét để tối ưu hóa hiệu suất luồng. Khơng có nguồn dữ liệu hoặc nơi tiêu thụ dữ liệu rõ ràng cho mơ hình này. Vấn đề mơ hình hóa khí hậu thể hiện trong Hình 2.14 cũng có thể được xem xét với mơ hình luồng phân phối – tính tốn, tùy thuộc vào mức độ chi tiết của nhiệm vụ và mức độ khớp nối trong hệ thống.
Các yêu cầu về luồng sẽ khác nhau giữa các mơ hình cụm máy tính và hệ thống song song, tùy thuộc vào mức độ khớp nối và mức độ chi tiết của nhiệm vụ. Tùy thuộc vào
ứng dụng và lượng phân tích chúng ta muốn đưa vào mơ hình này, chúng ta có thể sử dụng mơ hình cụm máy tính và hệ thống song song như mặc định hoặc sửa đổi mức độ chi tiết của nhiệm vụ và mức độ khớp nối cho phù hợp với nhu cầu của chúng ta.
Chương 3.
ĐẶC ĐIỂM KỸ THUẬT, CÁC ĐẶC TRƯNG ẢNH HƯỞNG ĐẾN HIỆU SUẤT LUỒNG LƯU LƯỢNG
3.1. Đặc điểm kỹ thuật của luồng lưu lượng
Các kết quả của việc xác định và mô tả các luồng được kết hợp thành một đặc điểm kỹ thuật của luồng, hoặc flowspec. Đặc điểm kỹ thuật của luồng liệt kê các luồng cho một mạng, cùng với các yêu cầu về hiệu suất và mức độ ưu tiên của chúng. Đặc điểm kỹ thuật của luồng mô tả các luồng với các yêu cầu cao nhất (best-effort), có thể dự đốn và đảm bảo, bao gồm nhiệm vụ quan trọng, tốc độ quan trọng, thời gian thực, tương tác và hiệu suất thấp và cao. Đặc điểm kỹ thuật của luồng kết hợp các yêu cầu về hiệu suất cho các luồng tổng hợp, khi có nhiều ứng dụng yêu cầu trong luồng. Nó cũng có thể được sử dụng để kết hợp các yêu cầu cho tất cả các luồng trong một phần của đường dẫn. Có nhiều thơng tin được nhúng trong một đặc điểm kỹ thuật của luồng.
Thông số kỹ thuật luồng có thể có một trong ba loại: một phần hoặc toàn phần; hai phần; hoặc nhiều phần. Mỗi loại quy trình có một mức độ chi tiết khác nhau, dựa trên việc các quy trình có các u cầu cao nhất, có thể dự đốn được và được đảm bảo hay khơng.
Quy trình một phần mơ tả các luồng chỉ có các u cầu cao nhất. Quy trình hai phần mơ tả các luồng có các u cầu có thể dự đốn được và có thể bao gồm các luồng có các yêu cầu cao nhất. Một quy trình đa phần mơ tả các luồng có các yêu cầu được đảm bảo và có thể bao gồm các luồng có các u cầu cao nhất & có thể dự đốn được (Bảng 3.1). Các thơng số kỹ thuật luồng này có mức độ phức tạp. Các luồng một phần và hai phần có thể tương đối đơn giản, trong khi các luồng đa phần có thể khá phức tạp. Quy trình hai phần thường là sự cân bằng tốt giữa việc dễ phát triển và số lượng chi tiết. Nhiều mạng có thể được mơ tả đầy đủ bằng quy trình một phần, khi các yêu cầu về hiệu suất và luồng không được hiểu rõ.
Tuy nhiên, khi các mạng được tích hợp vào phần cịn lại của hệ thống, các luồng sẽ kết hợp nhiều yêu cầu về độ tin cậy và độ trễ hơn, đồng thời các quy trình hai phần và nhiều phần có thể mơ tả yêu cầu mạng tốt hơn. Trong quá trình phát triển flowspec, chúng ta sử dụng thông tin trong bản đồ yêu cầu và yêu cầu đặc điểm kĩ thuật làm cơ sở
cho các luồng và áp dụng các phương pháp được mô tả trong chương này để xác định và mô tả các luồng.
Bảng 3.1 Các thông số kỹ thuật của luồng
Flow Specification Type Types of Flows Performance Description
One-Part Best-Effort Individual and
Composite Capacity Only
Two-Part Best-Effort and Stochastic, Individual and Composite
Reliability, Capacity, and Delay Multi-part
Best-Effort, Stochastic, And Guarantee, Individual and Composite
Reliability, Capacity, and Delay
Thuật toán Flowspec
Flowspec được sử dụng để kết hợp các yêu cầu về hiệu suất của nhiều ứng dụng cho một luồng tổng hợp hoặc nhiều luồng trong một phần của đường dẫn. Thuật toán flowspec là một cơ chế để kết hợp các yêu cầu về hiệu suất này (lưu lượng, độ trễ và RMA) cho các luồng theo cách để mô tả hiệu suất tổng hợp tối ưu cho luồng hoặc nhóm luồng đó.
Thuật tốn flowspec áp dụng các quy tắc sau:
• Luồng yêu cầu cao nhất chỉ bao gồm các yêu cầu về lưu lượng; do đó, chỉ có thuộc tính lưu lượng mới được sử dụng trong các tính tốn u cầu cao nhất.
• Đối với các luồng có u cầu có thể dự đốn được, chúng ta sử dụng tất cả các yêu cầu về hiệu suất có sẵn (lưu lượng, độ trễ và RMA) trong tính tốn. Các yêu cầu về hiệu suất được kết hợp cho từng đặc tính để tối đa hóa hiệu suất tổng thể của từng luồng.
• Đối với các luồng có yêu cầu đảm bảo, chúng ta liệt kê từng yêu cầu riêng lẻ (như một luồng riêng), không kết hợp chúng với các yêu cầu khác.
Điều kiện đầu tiên dựa trên bản chất của lưu lượng truy cập cao nhất – rằng nó khơng thể đốn trước và khơng đáng tin cậy. RMA và các yêu cầu về độ trễ không thể được hỗ trợ trong môi trường yêu cầu cao nhất. Điều tốt nhất có thể kỳ vọng là các yêu cầu về lưu lượng có thể được hỗ trợ thông qua việc lập kế hoạch lưu lượng (còn được gọi là kỹ thuật lưu lượng) hoặc bằng cách thiết kế kỹ lưỡng lưu lượng của mạng để hỗ trợ các yêu cầu này.
Điều kiện thứ hai là trọng tâm của luồng lưu lượng – đó là đối với mỗi đặc trưng về