170 likes | 288 Views
Group-based Cooperative Cache Management for Mobile Clients in a Mobile Environment. Bài báo năm 2004 của nhóm tác giả : Chi-Yin Chow, Hong Va Leon, Alvin T.S.Chan. Nội dung bài báo. Giới thiệu COCA (COoperative CAching scheme)– cộng tác P2P dựa vào timeout period
E N D
Group-based Cooperative Cache Management for Mobile Clients in a Mobile Environment Bàibáonăm 2004 củanhómtácgiả: Chi-Yin Chow, Hong Va Leon, Alvin T.S.Chan
Nội dung bàibáo • Giớithiệu COCA (COoperative CAching scheme)– cộng tác P2P dựa vào timeout period • GiớithiệuGroCOCA(Group Cooperative Caching Scheme) – dựatrênnềntảnglà COCA mởrộngthêmphầncộngtáctheo nhóm TCGs để tối ưu hóa không gian lưu trữ trên cache.
COCA – hoạtđộng • COCA dựavào timeout period trong khi chờ nhận được kết quá trả về từ các MH lân cận • COCA vẫnápdụngcácbiệnphápthaythế cache thôngthường: nếu MH nhậnđượcdữliệumới, thìnóápdụngthuậttoánthaythế LRU.
Nội dung bàibáo • Giớithiệu COCA (COoperative CAching scheme)– cộng tác P2P dựa vào timeout period • GiớithiệuGroCOCA(Group Cooperative Caching Scheme) – dựatrênnềntảnglà COCA mởrộngthêmphầncộngtáctheo nhóm TCGs để tối ưu hóa không gian lưu trữ trên cache.
GroCOCA – giớithiệu • COCA nếudữliệulưuvào cache làkhôngrõrànghoặccótínhtáisửdụngít,… tốnkhônggianlưutrữtrên cache=>Cầnphảichọnlọcdữliệu. • Khi m1nhậndữliệu D từ m2thì m1ghinhậndữliệuđónhưngtầnsốtruycậpdữliệutại m1được reset lại. Do đómặcdù Dđượctruycậpnhiều, nhưngkhi caches vàothì m1vẫndễdàngbịthaythếbằngdữliệukhác=> Cầnphảiđồngbộtầnsuấttruycập • Nếu 2 MH lâncậncócùngdữliệu D trong cache trongmộtkhoảngcáchgần(1 hop), thìđâylàmộttrườnghợpsửdụngkhôngtốtbộnhớ cache =>Cầnphảicảitiếntốiđatínhtáisửdụngbộnhớ cache.
GroCOCA – cảitiến • Dựavàonhữngkhuyếtđiểmcủakiếntrúc COCA, GroCOCAđưarakháiniệm “tighty couple group” cho 2 MH. • Hai MH bấtkỳlàmột “tighy couple group” thìphảithõa 2 tínhchấtsau • DM ≤ ∆ • ASM ≥ б
GroCOCA - DM • DM = ||mimj|| : Distance Matrix • Làkháiniệmđểchỉkhoảngcáchgiữa 2 MH bấtkỳtrênkhônggianmạng. • Khoảngcách |mimj| được tính theo khoảng cách Euclidean theo vị trí của mi và mj trong không gian mạng. • Thông tin lưu trữ các DM giữa các MH được lưu trữ thành ma trận 2 chiều trên MSS. • DM sẽ được cập nhật tại MSS mỗi khi mi thay đổi vị trí. Công thức tính cho DM như sau: DMnew = ω * |mimj| + (1 – ω) * DMold với ω (0≤ ω ≤1) là tham số thể hiện cho khoảng cách gần nhất giữa 2 MH.
GroCOCA - ASM • ASM = sim (mi, mj) : Access Similarity Matrix • ASM để chỉ cho sự tương đồng về tần suất truy cập dữ liệu giữa 2 MH bất kỳ. • Thông tin lưu trữ toàn bộ ASM giữa 2 MH được lưu trữ thành một ma trận 2 chiều trên MSS và được cập nhật trên MSS mỗi khi có một sự truy xuất dữ liệu nào đó lên MSS • Công thức tính cho MSS như sau: ASM = sim(mi, mj) = Vi(k) là tổng số lần truy cập vào dữ liệu k của MH mi, n là tổng số dữ liệu lưu trữ tại MSS
GroCOCA - ∆ và б • ∆ là ngưỡng khoảng cách lớn nhất mà giá trị DM phải nhỏ hơn:DM ≤ ∆ • б là ngưỡng nhỏ nhất mà ASM không được nhỏ hơn: ASM ≥ б. Giá trị б trên mỗi hệ thống của MSS là khác nhau, được tính như sau: với θ là tham số hệ thống
GroCOCA –Thuật toán Incremental Clustering • Thuật toán incremental clustering ghi nhận các cặp giá MH thõa ∆ và б vào cùng cluster tại MSS • Mỗi Cluster có một MH leader là MH được ghi nhận đầu tiên vào cluster • Leader có thể bị cập nhật lại khi có cluster khác có giá trị Conn(m) lớn hơn • Conn(m) là tham số thể hiện số lượng MH kết hợp với m thõa mãn: DM ≤ ∆
GroCOCA –Thuật toán Incremental Clustering • Việc ghi nhận mi vào clusters sẽ dựa vào bảng DM: tìm cluster leader đầu tiên khi duyệt. • Khi thêm mi vào cluster có sẳn thì sẽ dựa vào Conn(m) để quyết định có thay thế leader hay không? • Nếu mi không tìm thấy cluster leader nào trong bảng DM, thì mi thành leader mới • Mỗi khi có leader mới thì thuật toán sẽ kiểm tra clusters lân cận có cần sát nhập cluster hay không: nếu tất cả các leader và các thành viên của leader mới thõa mãn là TCGs , thì cluster mới sẽ gia nhập vào cluster cũ có Conn(m) cao nhất.
GroCOCA –cộng tác theo nhóm • Khi “local cache miss” thì yêu cầu tìm kiếm sẽ được gửi đến các MH lân cận. + Nếu một trong MH lân cận có thể lấy được kết quả và cache local hiện tại là chưa đầy, thì sẽ lưu dữ liệu đó vào cache. Việc gửi yêu cầu tìm kiếm đến các MH lân cận không liên quan đến nhóm TCGs. + Nêu cache đầy và dữ liệu trả về là từ một thành viên TCG thì sẽ không lưu dữ liệu này vào cache. + Nếu cache đầy và dữ liệu đến từ một thành viên ngoài cache, thì MH sẽ quyết định thay thế dữ liệu dựa vào tần số truy cập ít nhất. + Sau khi MH gửi dữ liệu đến một MH yêu cầu, nếu là cùng TCG thì nó sẽ tăng tầng số truy cập dữ liệu đó lên 1 vì thế dữ liệu sẽ có thời gian sống lâu hơn.
GroCOCA – Ưu điểm • Tận dụng tối ưu nhất không gian lưu trữ trên cache. • Quản lý thời gian sống của một đơn vị dữ liệu tốt hơn.
GroCOCA – khuyết điểm • Tốn không gian lưu trữ 2 ma trận 2 chiều: DM, ASM • Thao tác xử lý trên MSS nhiều: cập nhật cluster, cập nhật DM, ASM,.. • Đòi hỏi tất cả các MH phải kết nối được với MSS • Mỗi thao tác cập nhật cache, MH phải gửi yêu cầu lên MSS để lấy thông tin các MH trong cluster.
GroCOCA – nhận xét • Thuật toán tập trung chủ yếu vào phần quản lý không gian lưu trữ trên cache cho tối ưu nhất. • Không thích hợp trong môi trường ít kết nối. • Trong môi trường di động các MH di chuyển rất tự do và thường xuyên, mỗi lần như vậy MH phải gửi yêu cầu cập nhật vị trí lên MSS thì phải tốn thêm năng lượng, băng thông và xử lý.