1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Tính toán song song và phân toán - Chương 6: Đánh giá thuật giải song song

15 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Bài giảng Tính toán song song và phân toán - Chương 6: Đánh giá thuật giải song song cung cấp cho các bạn những kiến thức về độ phức tạp thời gian, Speedup, Efficiency, định luật Amdahl, chi phí thời gian.

11/16/12    Đánh  giá  thuật  giải  song  song   Tính  tốn  song  song  và  phân  tán   PGS.TS  Trần  Văn  Lăng   1.  2.  3.  4.  5.  tvlang@vast-­‐hcm.ac.vn   lang@lhu.edu.vn     Độ  phức  tạp  thời  gian   Speedup   Efficiency   Định  luật  Amdahl   Chi  phí  thời  gian     6.1  Độ  phức  tạp  thời  gian   •  Để  đánh  gía  thuật  giải  song  song  thường  căn  cứ   vào:   –  Thời  gian  Ynh  toán  (hay  Time  Complexity)   –  Yêu  cầu  số  bộ  xử  lý  (hay  Processor  Complexity)   •  T(n)  =  O(f(n))    nếu  có  số  dương  C  và  n0  sao  cho   T(n)  <  Cf(n),  với  các  n  >  n0   •  T(n)  =  Ω(f(n))  nếu  có  số  dương  C  và  n0  sao  cho  T(n)   >  Cf(n),  với  các  n  >  n0     11/16/12   Ngoài  ra,   •  T(n)  =  θ(f(n))  nếu  có  các  số  dương  C1,  C2,  n1,  n2  sao   cho  T(n)  <  C1f(n),  với  tất  cả  các  n  >  n1  và      T(n)  >   C2f(n),  với  tất  cả  các  n  >  n2   •  Khi  đó  T(n)  =  θ(f(n))  nếu  và  chỉ  nếu  T(n)  =        O(f(n))    T(n)  =  Ω(f(n))   •  Và,  T(n)  =  O(f(n))  tương  đương  f(n)  =  Ω(T(n))   •  T(n)  =  o(f(n))  nếu  với  mọi  số  dương  C,  tồn  tại  n0    cho  T(n)  <  Cf(n),  với  các  n  >  n0   •  T(n)  =  ω(f(n))  nếu  với  mọi  số  dương  C,  tồn  tại  n0    cho  T(n)  >  Cf(n),  với  các  n  >  n0   Khi  đó,   •  T(n)=o(f(n))  tương  đương  f(n)=  ω(T(n))   •  T(n)=o(f(n))  suy  ra  T(n)=O(g(n))   •  T(n)=  ω(f(n))  suy  ra  T(n)=  Ω(f(n))   •  Một  thuật  giải  bao  gồm  2  phần,  phần  thứ  nhất  có   độ  phức  tạp  là  O(f1(n)),  phần  thứ  hai  là  O(f2(n))     •  Khi  đó,  thuật  giải  sẽ  có  độ  phức  tạp  là                                   O(Max{f1(n),f2(n)})     11/16/12   •  Một  thuật  giải  là  sự  lồng  nhau  của  2  phần,  phần   thứ  nhất  có  độ  phức  tạp  là  O(f1(n)),  phần  thứ  hai    O(f2(n))     •  Khi  đó,  thuật  giải  sẽ  có  độ  phức  tạp  là                                   O(f1(n)xf2(n))   •  Xét       L = lim n →∞ T ( n) f ( n) •  Nếu  L  =  0,  điều  đó  có  nghĩa  f(n)  tăng  nhanh  hơn   T(n),  nên  T(n)  =  o(g(n))   •  Nếu  L  =  ∞,  thì  T(n)  =  ω(f(n))   •  Lếu  L  khác  không  và  hữu  hạn,  i.e  T(n)  và  f(n)  tăng    cấp  độ,  nên  T(n)  =  θ(f(n))   10   •  Xét       •  Khi  đó   •  Hoặc  T(n)  =  n100,  f(n)  =  2n,  thì  T(n)  =  o(2n)  và  f(n)  =   ω(n100)   •  Ta  có  thể  chứng  minh  điều  này  bằng  lấy  giới  hạn    tỷ  số  T(n)  và  f(n),  sau  đó  dùng  khai  triển   L'Hopital  đến  số  hạng  thứ  100,  với   T ( n) n + n lim = = n →∞ f ( n) 2n 2 T ( n) = n(n + 1) , f ( n) = n 2 •  Vậy  T(n)  =  θ(n2)   •  Tương  tự,  P(n)  là  đa  thức  bậc  m,  thì  P(n)  =  θ(nm)   f (x) = f (0) + x x2 x100 (100) f "(0) + f " (0) + + f (0) 1! 2! 100! d f ( x) e = e f ( x ) f ʹ′( x) dx 11   € 12     11/16/12   6.2  Speedup   •  Thuật  giải  tuần  tự  với  độ  phức  tạp  theo  thời  gian    Ts(n)     •  Thuật  giải  song  song  trên  P  bộ  xử  lý  có  độ  phức   tạp  là  Tp(n)   •  Khi  đó,  speedup  Sp(n)  được  định  nghĩa        Sp(n)  =  Ts(n)/Tp(n)   •  Speedup  của  hệ  thống  song  song  không  phải  là    số  cố  định  Mà  phụ  thuộc  vào  kích  thước  bài   toán  và  số  bộ  xử  lý  Thực  chất  là  hàm  của  (n,P)   •  Người  ta  thường  phân  Ych  để  đánh  giá  định  Ynh    thuật  giải  song  song  bằng  cách  cố  định  n  hoặc   cố  định  P  để  vẽ  các  đường  cong  tương  ứng  là  giá   trị  của  speedup   6.3  Efficiency   •  Cố  định  n,  vẽ  đồ  thị  đường  cong  speedup  theo  P  -­‐    trục  là  P,  trục  cịn  lại  là  speedup  Qua  đó  có   thể  phân  Ych  hiệu  năng  của  thuật  giải  khi  số  bộ  xử   lý  tăng  lên   •  Cố  định  P,  vẽ  đồ  thị  đường  cong  speedup  theo  n   Qua  đó  có  thể  nghiên  cứu  dáng  điệu  của  thuật  giải    kích  thước  bài  tốn  tăng  lên   •  Efficiency  (hiệu  suất)  có  giá  trị  tối  đa  là  1   •  Efficiency  cung  cấp  dấu  hiệu  về  sự  tận  dụng  có   hiệu  quả  của  các  bộ  xử  lý   •  Chính  vì  vậy,  efficiency  Ep(n):   Ep(n)  =  Ts(n)/pTp(n)  =  Sp(n)/p     11/16/12   Ví  dụ:  Thuật  giải  sàn  Eratosthenses   •  Mục  ‘êu  ’m  các  số  nguyên  tố  nhỏ  hơn  hay  bằng   số  nguyên  dương  N  cho  trước   –  Lấy  số  ‘ếp  theo  còn  trên  sàn  (là  số   3)   –  Quay  trở  lại  bước  thứ  hai  cho  đến    t2  >  N   –  Các  số  còn  lại  trên  sàn  là  số  nguyên   tố   –  Bắt  đầu  tứ  số  nguyên  tố  thứ  nhất  t  (số  2)   –  Sàn  bỏ  các  bội  của  số  t  này  kể  tứ  t2  cho  đến  N   17   Thuật  giải  tuần  tự   •  Minh  họa,  với  N  =  1000,  các  số   nguyên  tố  nhỏ  hơn     N  là  2,  3,  5,  7,  11,  13,  17,  19,  23,  29,   31   •  Thuật  giải  để  sàn  một  số  nguyên   tố  t  nào  đó  được  minh  họa  như   sau:   i = t2 While i  1  và  khi  đó  nếu   N> ⇔ N > 100 + P −1 ⇔ P N2 N2 N +N > + 100 + ⇔ N + N P > N + N P + 100 P P P ( ) •  Thì  thuật  giải  T2p  tốt  hơn  T1p     11/16/12   6.4  Định  luật  Amdahl   •  Trong  một  vài  chương  trình  có  nhiều  đoạn  khác   nhau,  có  thể  có  những  đoạn  dễ  dàng  song  song   hóa,  nhưng  có  những  đoạn  chỉ  thực  hiện  tuần  tự     •  Khi  đó,  đoạn  tuần  tự  khơng  thể  song  song  được,   gọi  là  ’nh  trạng  boŸle-­‐neck  (thắt  cổ  chai)     •  Định  luật:  Một  chương  trình  bao  gồm  hai  đoạn,    đoạn  chỉ  có  thể  thực  hiện  tuần  tự  và  một   đoạn  hoàn  tồn  có  thể  song  song  hóa  Nếu  đoạn   tuần  tự  ‘êu  phí  phần  f  của  tổng  thời  gian  thi  hành   chương  trình,  thì  speedup  của  thuật  giải  song  song   khơng  vượt  q  1/f   •  Để  hình  dung,  chia  thời  gian  thi  hành  Ts(n)  của   thuật  giải  tuần  tự  (ban  đầu)  thành  f  phần     •  Khi  đó  có  thể  viết   •  Nếu  thuật  giải  luôn  luôn  cần  1/f  tuần  tự,  phần  cịn   lại  có  thể  song  song,  thì  thời  gian  thi  hành  thuật   giải  song  song  Tp(n)  của  cùng  bài  toán  trên  p  bộ  xử   lý  là:   TS (n) = fTS (n) + (1 − f )TS (n) Tp (n) = fTS (n) + 35   (1 − f )TS (n) p 36     11/16/12   •  Từ  đây,  độ  tăng  tốc  speedup  là   S p ( n) = •  Khi  p  khá  lớn,  Speedup  bị  chặn  trên  bởi  1/f   TS (n) TS (n) = = ( − f ) T ( n ) 1− f Tp (n) fT (n) + S f + S p p S p ( n) = 1 ≤ , ∀p f + (1 − f ) p f 37   38   6.5  Chi  phí  thời  gian     •  Chẳng  hạn,  phần  tuần  tự  là  10%  thì  speedup  tối  đa    10   •  Chi  phí  thời  gian  của  thuật  giải  song  song  thông   thường  bao  gồm:   –  Thời  gian  thi  hành  (execu,on  ,me)   –  Thời  gian  Ynh  toán  (computa,on  ,me)   –  Thời  gian  giao  ‘ếp  (communica,on  ,me)   –  Thời  gian  chờ/nhàn  rỗi  (idle  ,me)   1/f 39   10   11/16/12   Thời  gian  thi  hành   Tuy  nhiên,  đơi  khi   •  Thời  gian  thi  hành  T  của  thuật  giải  song  song  bao   gồm:   •  Cịn  lấy  tổng  thời  gian  Ynh  toán,  thời  gian  giao  ‘ếp    thời  gian  chờ  đợi  của  một  ‘ến  trình  thứ  i  bất  kỳ    đó   –  Thời  gian  Ynh  tốn   –  Thời  gian  giao  ‘ếp   –  Thời  gian  chờ   i i i T = Tcomp + Tcomm + Tidle •  Thời  gian  của  ‘ến  trình  thực  hiện  chậm  nhất   i i i T = max{Tcomp + Tcomm + Tidle i } € 41   42   Thời  gian  Ynh  tốn   •  Hoặc  trung  bình  của  tổng  thời  gian  Ynh  toán,  giao   ‘ếp  và  chờ  trên  tất  cả  các  process  (task)   (Tcomp + Tcomm + Tidle ) P P−1 P−1 & # P−1 i i i = % ∑Tcomp + ∑Tcomm + ∑Tidle ( P $ i=0 ' i=0 i=0 T= •  Thời  gian  Ynh  toán  của  thuật  giải  Tcomp  là  thời  gian   sử  dụng  cho  những  thao  tác  Ynh  toán     •  Thời  gian  Ynh  tốn  thường  phụ  thuộc  vào  kích   thước  bài  tốn     43   11   11/16/12   Thời  gian  giao  ‘ếp   •  Kích  thước  được  biểu  diễn  bằng  một  tham  số  N,    được  biểu  diễn  bằng  một  tập  hợp  các  tham   số  N1,  N2,   ,  Nm     •  Nếu  thuật  giải  song  song  lặp  lại  việc  Ynh  tốn,  thì   thời  gian  Ynh  tốn  cũng  sẽ  phụ  thuộc  vào  số  task   hay  số  process     •  Thời  gian  giao  ‘ếp  Tcomm  là  thời  gian  mà  những   task  sử  dụng  cho  việc  truyền  các  thông  điệp  giữa    task  với  nhau   •  Chi  phí  cuả  việc  gởi  thơng  điệp  giữa  hai  task  được   định  vị  trên  những  processor  khác  nhau  có  thể   biểu  diễn  bằng  hai  tham  số:     Thời  gian  chờ   •  Một  processor  thường  rãnh  rỗi  do  việc  thiếu  công   việc  Ynh  tốn  hoặc  thiếu  dữ  liệu     •  Trong  trường  hợp  thứ  nhất,  thời  gian  rãnh  rỗi  này   có  thể  ngăn  chặn  bằng  cách  sử  dụng  kỹ  thuật  load   balancing     –  Thời  gian  khởi  động  việc  truyền  thông  điệp  ts,   –  Và  thời  gian  truyền  L  dữ  liệu  twL  (trong  đó  tw  là  thời   gian  truyền  1  dữ  liệu   •  Vậy  Tcomm  =  ts  +  twL   47   12   11/16/12   •  Trường  hợp  thứ  hai,  processor  ở  ’nh  trạng  nhàn   rỗi  do  việc  Ynh  toán  và  truyền  thơng  điệp  địi  hỏi    dữ  liệu  từ  xa     •  Thời  gian  này  có  thể  tránh  được  bằng  cách  cho   processor  thực  hiện  những  Ynh  toán  và  giao  ‘ếp   khác     •  Kỹ  thuật  này  được  biết  như  là  overlapping   computa,on  and  communica,on,     •  Khi  đó  một  Ynh  toán  địa  phương  được  thực  hiện   đồng  thời  với  những  Ynh  toán  và  giao  ‘ếp  tứ  xa     Ví  dụ:  Minh  họa  thời  gian   •  Hoặc  tạo  ra  nhiều  task  trên  một  processor  Khi    task  làm  trở  ngại  việc  đợi  dữ  liệu  tứ  xa,  nó  có   thể  chuyển  sang  một  task  khác  mà  dữ  liệu  đã  sẵn   sàng  thực  hiện     •  Cách  này  ‘ện  lợi  vì  đơn  giản,  nhưng  chỉ  có  hiệu   qủa  nếu  như    chi  phí  thực  hiện  một  task  mới  ít    chi  phí  thời  gian  nhàn  rỗi     •  Chúng  ta  xem  xét  một  miền  gồm  N  x  N  x  Z  điểm   lưới,  trong  đó  Z  là  số  điểm  theo  phương  thẳng   đứng,  N  là  số  điểm  theo  hai  phương  ngang     •  Một  task  tương  ứng  một  miền  con  gồm  N  x  (N/P)  x   Z  điểm  lưới,  với  P  là  số  bộ  xử  lý  (chia  miền  theo    phương  ngang)     13   11/16/12   •  Giả  sử    ở  mỗi  bước  thời  gian,  mỗi  task  thực  hiện    một  Ynh  tốn  tại  mỗi  điểm  lưới     •  Khi  đó  thời  gian  Ynh  tốn  là   Tcomp  =  tcN2Z      Trong  đó  tc  là  thời  gian  Ynh  tốn  trung  bình  cho    điểm  lưới   •  Đối  với  thời  gian  truyền  dữ  liệu,  mỗi  task  sẽ  giao   ‘ếp  với  hai  task  lân  cận  (hai  mặt),  trong  đó  mỗi   mặt  gồm  NZ  phần  tử,  nên  mỗi  task  trao  đổi  2NZ    liệu     •  Khi  đó  tổng  chi  phí  truyền  ‘n  (gửi  và  nhận)  trên  P    xử  lý  sẽ  là        Tcomm  =    2P(ts  +  tw2NZ)     •  Giả  sử  P  chia  hết  N,số  lượng  Ynh  toán  trên  mỗi   điểm  lưới  là  hằng,  thời  gian  chờ  khơng  đáng  kể   •  Chi  phí  thời  gian:   •  Efficiency  của  thuật  giải  như  sau:   T= Tcomp + Tcomm P = tc N Z tc N Z E= = PT N Ztc + P 2ts + P NZt w N 2Z tc + 2ts + NZt w P 55   56   14   11/16/12   •  Với  thuật  giải  có  chi  phí  thời  gian  và  hiệu  năng  như   trên,  nhận  xét  rằng:   –  Hiệu  suất  sẽ  giảm  đi  khi  tăng  P,  ts  và  tw   –  Hiệu  suất  sẽ  tăng  lên  khi  tăng  N,  Z  và  tc   –  Thời  gian  thi  hành  giảm  khi  tăng  P  nhưng  bị  chặn  bởi   chi  phí  chuyển  đổi  giữa  hai  miếng  dữ  liệu   –  Thời  gian  thi  hành  tăng  khi  tăng  N,  Z,  tc,  ts  và  tw   57   15   ... ? ?song ? ?song  khơng  phải  là    số  cố  định  Mà  phụ  thuộc  vào  kích  thước ? ?bài   tốn ? ?và  số  bộ  xử  lý  Thực  chất  là  hàm  của  (n,P)   •  Người  ta  thường ? ?phân  Ych  để ? ?đánh ? ?giá. .. 0,5655 •  Xét ? ?bài  tốn  có  kích  thước  N  trên  máy  P  bộ  xử  lý   Thuật ? ?giải  tuần  tự  có  thời  gian  thực  hiện  là  N  +  N2   •  Giả  sử  có  3 ? ?thuật ? ?giải ? ?song ? ?song:   –  T1p(N)... đoạn  hồn  tồn  có  thể ? ?song ? ?song  hóa  Nếu  đoạn   tuần  tự  ‘êu  phí  phần  f  của  tổng  thời  gian  thi  hành   chương  trình,  thì  speedup  của ? ?thuật ? ?giải ? ?song ? ?song   không  vượt  quá

Ngày đăng: 10/05/2021, 14:06

Xem thêm:

TỪ KHÓA LIÊN QUAN