Categories
Software Architecture

Các Chiến Thuật Kiến Trúc 4: Sử Dụng Chiến Thuật Tính Hiệu Suất

Chiến thuật hiệu suất

  • Mục tiêu: tạo phản hồi cho một sự kiện đến hệ thống trong thời hạn xác định
  • Sự kiện: đơn hoặc luồng
    • Sự xuất hiện của một thông báo, sự hết hạn của một khoảng thời gian, sự phát hiện ra sự thay đổi trạng thái đáng kể trong môi trường của hệ thống, v.v.
  • Độ trễ: thời gian từ khi xuất hiện sự kiện đến khi tạo phản hồi đến nó
  • Sự kiện đến
    • Hệ thống xử lý nó hoặc quá trình xử lý bị chặn

Chiến thuật hiệu suất (2)

Sử Dụng Chiến Thuật Tính Hiệu Suất.

Chiến thuật nhu cầu tài nguyên

  • Nguồn nhu cầu tài nguyên: luồng sự kiện
  • Đặc điểm nhu cầu
    • Thời gian giữa các sự kiện trong luồng tài nguyên (tần suất một yêu cầu được thực hiện trong một luồng)
    • Bao nhiêu tài nguyên được tiêu thụ cho mỗi yêu cầu
  • Chiến thuật giảm độ trễ
    1. Giảm tài nguyên cần thiết
    2. Giảm số lượng sự kiện được xử lý

Giảm tài nguyên cần thiết

  • Tăng hiệu quả tính toán
    • Xử lý liên quan đến thuật toán => cải thiện thuật toán
    • Tài nguyên có thể được trao đổi cho nhau
  • Giảm chi phí tính toán
    • Nếu không có yêu cầu về tài nguyên => nhu cầu xử lý của nó bị giảm
    • Loại bỏ các bên trung gian

Giảm thiểu số sự kiện được xử lý

  • Quản lý tốc độ sự kiện
    • Giảm tần suất lấy mẫu tại đó các biến môi trường được giám sát
  • Kiểm soát tần suất lấy mẫu
    • Nếu không kiểm soát được sự xuất hiện của các sự kiện được tạo bên ngoài => các yêu cầu xếp hàng có thể được lấy mẫu ở tần suất thấp hơn (mất yêu cầu)
  • Giới hạn thời gian thực thi
    • Đặt giới hạn thời gian thực thi được sử dụng cho một sự kiện
  • Giới hạn kích thước hàng đợi
    • Kiểm soát số lượng tối đa các lượt đến được xếp hàng

Quản lý tài nguyên

  • Đưa vào đồng thời
    • Xử lý các yêu cầu song song
      • Các luồng sự kiện khác nhau được xử lý trên các luồng khác nhau (tạo thêm các luồng)
      • Cân bằng tải
  • Duy trì nhiều bản sao dữ liệu và tính toán
    • Lưu vào bộ nhớ đệm và đồng bộ hóa
  • Tăng tài nguyên sẵn có
    • Bộ xử lý và mạng nhanh hơn, bộ xử lý và bộ nhớ bổ sung

Phân xử tài nguyên

  • Tranh chấp tài nguyên => tài nguyên phải được lên lịch
  • Mục tiêu của kiến trúc sư
    • Hiểu đặc điểm sử dụng của từng tài nguyên và chọn cách lập lịch tương thích
    • Hiểu các tiêu chí có thể xung đột để lập lịch
      • Và tác dụng của chiến thuật đã chọn
  • Chính sách lập lịch
    • Phân công ưu tiên
    • Điều phối

Lập lịch

  • Cái gì: mạng, bộ đệm, bộ xử lý
  • Tiêu chí cạnh tranh để lập lịch
    • Sử dụng tài nguyên tối ưu (Optimal resource usage)
    • Mức độ quan trọng của yêu cầu (Request importance)
    • Giảm thiểu số lượng tài nguyên được sử dụng (Minimizing nr of used resources)
    • Giảm thiểu độ trễ (Minimizing latency)
    • Tối đa hóa thông lượng (Maximizing throughput)
    • Ngăn chặn tình trạng đói để đảm bảo công bằng (Preventing starvation to ensure fairness)
  • Điều phối chỉ có thể xảy ra khi có sẵn tài nguyên được giao
    • Quyền ưu tiên có thể xảy ra

Chính sách lập lịch

  • Nhập trước / xuất trước (FIFO)
    • OK nếu tất cả các yêu cầu đều có tầm quan trọng như nhau và có cùng thời gian
  • Lập lịch ưu tiên cố định, ưu tiên dựa trên
    • Tầm quan trọng về ngữ nghĩa/Semantic importance (miền cụ thể)
    • Đơn điệu thời hạn/Deadline monotonic (thời hạn thời gian thực; thời hạn ngắn hơn trước)
    • Đơn điệu tỷ lệ/Rate monotonic (luồng định kỳ, khoảng thời gian ngắn hơn trước)
  • Lập lịch ưu tiên động
    • Phân phối xoay vòng/Round robin
    • Hạn cuối sớm nhất trước/Earliest deadline first
  • Lập lịch tĩnh

Leave a Reply

Your email address will not be published. Required fields are marked *