Giải pháp kỹ thuật trên cơ sở loại trừ tương hỗ hệ thống máy chủ ảo
Hệ thống máy chủ ảo đƣợc xây dựng trên nền của hệ thống các máy chủ vật lý phân tán trên
bình diện toàn cầu và kết nối với nhau thông qua hệ thống vi n thông c vai tr ngày càng quan trọng
trong việc vận hành, cung c p và khai thác tài nguyên ảo h a Đ đảm bảo việc cung c p tài nguyên này
m t cách chính xác, k p thời, tránh tình trạng chồng ch o, xung đ t, bế tắc và thiếu thốn vô hạn cho các
tiến trình c nhu cầu tài nguyên, đặc biệt tài nguyên ở xa, nh t thiết, phải nghiên cứu và đề xu t các giải
pháp đủ mạnh, tin cậy làm nền tảng cơ sở cho hệ điều khi n bên trong các đám mây Trong bài báo này,
chúng tôi nghiên cứu thuật toán loại trừ lẫn nhau theo hƣớng tiếp cận Token nhằm tìm ra những giải pháp
cung c p tài nguyên phân tán hữu hiệu trong đ nh n mạnh các giải pháp loại trừ lẫn nhau và đề ra các
biện pháp tránh đƣợc các v n đề thiếu thốn tài nguyên.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tóm tắt nội dung tài liệu: Giải pháp kỹ thuật trên cơ sở loại trừ tương hỗ hệ thống máy chủ ảo
ta cần chú thích m t số ký hiệu và thuật ngữ cho (net expressions) bi u thức mạng Các ký hiệu và thuật ngữ đƣợc dùng trong bi u thức nhƣ là tập màu colour, ban đầu marking (đánh d u), bi u thức arc, và guards. - Type(expr) ký hiệu của ki u m t expr cho bi u thức - Var(expr) ký hiệu của tập các biến trong bi u thức expr - Type(v) ký hiệu ki u của biến v - Type(vars),vars là tập của biến, ký hiệu tập của ki u {Type(v)| v vars}. - SSM ký hiệu của tập con của m t tập S - Bool ký hiệu tập boolean, Bool={true,false} Định nghĩa 2 M t Coloured Petri net [14] là m t 9-tuple : CPN = ( , P,T,A,N,C,G,E,I) 1. là tập hữu hạn các ki u không rỗng gọi là Colour Set. 2. P là tập hữu hạn của places 3. T là tập hữu hạn của transitions 4. A là tập hữu hạn của arcs (đƣờng nối) : P T =P A=T A= . 5. N là chức năng của node N đƣợc đ nh nghĩa từ A P T T P. 6. C là chức năng của colour N đƣợc đ nh nghĩa từ P và 7. G là chức năng của guard N đƣợc đ nh nghĩa từ T công thức nhƣ sau: t T:[ Type (G(t)) Bool Type ( V ar( G ( t ))) ] 8. E là chức năng của arc function N đƣợc đ nh nghĩa từ A tới bi u thức nhƣ sau : a A:[ Type (()) E a C (()) p a Type (ar(())) V E a ] MS nơi p(a) là v trí của N(a) 9. I là chức năng của initialisation N đƣợc đ nh nghĩa từ P với bi u thức sau đây: (Vp P :[ Type ( I ( p )) C ( p ) ] MS 2.4 Loại trừ tương hỗ Hệ thống phân tán r ng lớn [6,10] sử dụng công nghệ ảo h a đ cho ph p việc tạo ra các phạm vi năng đ ng hơn, với nguồn tài nguyên ảo c th tính toán đáp ứng đƣợc nhu cầu của ngƣời dùng với các ứng dụng cụ th Tuy nhiên, với số lƣợng ngƣời sử dụng ngày càng tăng lên thì v n đề tranh ch p cùng m t tài nguyên găng không th không xảy ra Ví dụ trong vấn đề tranh chấp lẫn nhau: Các đầu vào là Ti và Ei (0 ≤i≤n–1) © 2019 Trƣờng Đại học Công nghiệp thành phố Hồ Chí Minh GIẢI PHÁP KỸ THUẬT TRÊN CƠ SỞ LOẠI TRỪ TƢƠNG HỖ 79 HỆ THỐNG MÁY CHỦ ẢO Ti là b xử lý thứ i muốn vào đoạn găng Ei là b xử lý thứ i muốn thoát khỏi đoạn găng Các đầu ra là Ci và Ri (0≤i≤n–1) Ci là b xử lý thứ i c th vào đoạn găng Ri là b xử lý thứ i c th vào đoạn c n lại Điều kiện cho chuỗi sự kiện α các đầu vào và đầu ra: - ∀i (0 ≤i≤n–1) : α|i quay vòng qua Ti, Ci, Ei, Ri theo đúng thứ tự (điều kiện 1 - ràng bu c trên các đầu vào đảm bảo yếu tố tuần tự). - ∀i,j (0 ≤i≠j≤n–1): đầu vào hay đầu ra của j (Cj) ngay trƣớc Ci trong α (điều kiện 2 – đảm bảo chỉ c 1 b xử lý trong 1 thời đi m) Hình 1 Tiến trình cung c p tài nguyên cho ph p loại trừ lẫn nhau Việc chia sẻ tài nguyên và / hoặc dữ liệu đƣợc phổ biến trong nhiều ứng dụng hệ thống, trong đ hầu hết các nguồn tài nguyên và dữ liệu nên đƣợc truy cập m t cách đ c quyền lẫn nhau Nguồn (hoặc biến dữ liệu) c th đƣợc mô hình h a bởi m t nơi với thẻ đại diện cho số lƣợng tài nguyên Nơi đây đƣợc xem là điều kiện trƣớc cho t t cả các quá trình chuy n đổi cần nguồn đ Sau khi sử dụng m t nguồn tài nguyên, n phải đƣợc phát hành Hình 2 mô tả m t ví dụ về m t hệ thống chia sẻ tài nguyên đƣợc truy cập m t cách đ c quyền lẫn nhau. Hình 2 Tiến trình cung c p tài nguyên xung đ t bằng Pertri net 3 GIẢI PHÁP LOẠI TRỪ TƢƠNG HỖ TRONG CUNG CẤP TÀI NGUYÊN CHO HỆ THỐNG MÁY CHỦ ẢO 3.1 Mô hình hệ thống Hệ thống bao gồm N trạm với N = { S1, S2, , Sn} Không m t tính tổng quát, chúng tôi giả đ nh rằng m t tiến trình duy nh t đang chạy trên mỗi trạm Tiến trình tại trạm Si đƣợc ký hiệu là pi T t cả các tiến trình giao tiếp không đồng b trên m t mạng truyền thông M t tiến trình c nhu cầu xâm nhập vào miền găng CS yêu cầu t t cả hoặc m t tập các tiến trình con bằng cách gửi thông điệp Request, và chờ đợi trả lời thích hợp trƣớc khi vào CS Trong khi chờ đợi các tiến trình khác không đƣợc ph p thực hiện các yêu cầu tiếp tục nhập vào miền găng CS M t trạm c th ở m t trong ba trạng thái sau đây: yêu cầu CS, thực thi trong miền găng CS, hoặc không yêu cầu và cũng không thực thi trong CS (tức là, nhàn rỗi) Trong trạng thái yêu cầu, các trạm b chặn và không th thực hiện yêu cầu thêm vào trong CS Trong trạng thái © 2019 Trƣờng Đại học Công nghiệp thành phố Hồ Chí Minh 80 GIẢI PHÁP KỸ THUẬT TRÊN CƠ SỞ LOẠI TRỪ TƢƠNG HỖ HỆ THỐNG MÁY CHỦ ẢO nhàn rỗi "idle", các trạm đƣợc thực thi bên ngoài CS Trong các thuật toán theo hƣớng Token m t trạm cũng c th c thong tin về trạng thái của trạm giữ thông báo thực hiện bên ngoài CS Tại b t k thời đi m nào, m t trạm cũng c th c m t vài yêu cầu c p phát CS M t trạm khi yêu cầu đƣợc sắp xếp từng tự và chờ phục vụ Chúng tôi đề xu t giải pháp trên cơ sở của thuật toán Ricart–Agrawala. Thuật toán sử dụng hai loại thông điệp REQUEST và REPLY M t tiến trình gửi thông điệp REQUEST cho t t cả các tiến trình khác đ yêu cầu cho ph p đƣợc quyền xâm nhập vào miền găng M t tiến trình gửi thông điệp REPLY đến m t tiến trình đ cho ph p tiến trình đ Tiến trình sử dụng đồng hồ logic Lamport đ gắng nhãn thời gian đ yêu cầu tới miền găng (CS) Nhãn thời gian dùng đ quyết đ nh ƣu tiên các yêu cầu trong trƣờng hợp c xung đ t nếu m t tiến trình pi đang chời thực thi trong miền găng nhận m t thông điệp REQUEST yêu cầu từ tiến trình pj, sau đ nếu thứ tự ƣu tiên của pj’s là sau, thì pi trì hoãn gửi REPLY và gửi thông điệp REPY tới pj chỉ sau khi thực hiện CS cho yêu cầu c p phát Ngƣợc lại, pi gửi thông điệp REPLY cho pj ngay khi n không thực thi trong CS, yêu cầu trƣớc thành công trong việc nhận thông điệp REPLY và đƣợc thực hiện trong CS Mỗi tiến trình pi duy trì m t dãy yêu cầu trì hoãn RDi, kích cỡ của dãy này tƣơng đƣơng với số tiến trình trong hệ thống Bắt đầu,ij: RDi[j]=0. Khi mà tiến trình pi trì hoãn gửi yêu cầu tới pj, n xác lập RDi[j]=1 và sau đ n gửi thông báo REPLY tới pj, n xác lập RDi[j]=0 3.2 Giới thiệu về thuật toán loại trừ tƣơng hỗ Loại trừ tƣơng hỗ c th đƣợc điều khi n trên m t trạm trung tâm c nhiệm vụ nhận t t cả các thông điệp và khuyến ngh giải ph ng Trạm này duy trì m t hàng đợi, sắp xếp các yêu cầu theo trật tự đến và phục vụ cho từng thông điệp m t trong trật tự Phân tán giải thuật này k o theo việc phân tán các chức năng cung c p mà cần phải điều khi n hàng đợi trên trạm Do vậy, m t trạm chuyên cho việc tiếp nhận các yêu cầu và các khuyến ngh giải ph ng từ t t cả các trạm c n lại M t trật tự giống trên các trạm chỉ đạt đƣợc, nếu ta áp dụng d u trong các thông điệp bởi các đồng hồ logic truyền và đánh số các trạm Quan hệ trật tự toàn b đƣợc đ nh nghĩa Thêm vào đ , đ cho m t trạm c th ra quyết đ nh bằng việc tham chiếu duy nh t vào hàng đợi của mình n c n cần phải đƣợc nhận m t thông điệp của từng trạm khẳng đ nh rằng không c thông điệp nào trƣớc các thông điệp khác mà c n đang quá cảnh trên đƣờng Thuật toán loại trừ tƣơng hỗ Ricart – Agrawala c th mô tả nhƣ sau Thuật toán Ricart – Agrawala Giai đoạn: Yêu cầu trong miền găng Bƣớc 1 Khi m t trạm Si muốn vào trong đoạn găng CS, n gửi gửi quảng bá m t thông điệp REQUEST c gán nhãn thời gian tới t t cả các trạm khác Thông điệp c điệp c dạng (T,Hi,i), trong đ Hi là d u của thông điệp c nghĩa là đồng hồ logic của n và T c th nhận m t trong ba giá tr là REQ, REL, ACQ. Bƣớc 2 Khi trạm Sj nhận m t thông điệp REQUEST từ trạm Si, n gửi m t thông điệp REPLY tới trạm Si nếu trạm Sj không yêu cầu hoặc không thực thi trong miền găng CS, hoặc nếu trạm Sj là đang yêu cầu và Si’s yêu cầu với nhãn thời gian là nhỏ hơn trạm Sj’s Nếu không, trả lời trì hoãn và Sj xác lập RDj[i]=1. Giai đoạn: Thực thi trong miền găng Bƣớc 3 Trạm Si vào trong miền găng sau khi n nhận đƣợc thông điệp REPLY từ trạm mà n gửi thông điệp REQUEST Giai đoạn: Khôi phục trong miền găng Bƣớc 4 Khi trạm Si thoát khỏi miền găng CS, n gửi t t cả thông điệp REPLY: j nếu RDi[j] =1, thì n gửi thông điệp REPLY tới Sj và xác lập RDi[j]:=0. Ý tƣởng giải thuật Start 1. ; 2. ; 3. If then © 2019 Trƣờng Đại học Công nghiệp thành phố Hồ Chí Minh GIẢI PHÁP KỸ THUẬT TRÊN CƠ SỞ LOẠI TRỪ TƢƠNG HỖ 81 HỆ THỐNG MÁY CHỦ ẢO 4. ; 5. await 6. goto start; 7. Fi; 8. ; 9. If then 10. ; 11. For j:=1 to N 12. Do wait od 13. If then 14. Await ; 15. Goto start; 16. Fi; 17. Fi; 18. Critical section; 19. ; 20. ; 3.3 Kiểm nghiệm giải thuật Các yêu cầu vào đoạn găng đƣợc xử lý theo trật tự FIFO và theo quan hệ Đ chứng minh cho điều đ ta lƣu ý rằng khi trạm Si quyết đ nh vào đoạn găng, n không th đƣa và trong mạng yêu cầu REQUEST nào trƣớc trong bối cảnh sau Thực tế, khi trạm Si vào đoạn găng c nghĩa là n đã nhận thông điệp từ t t cả các trạm khác và t t cả các thông điệp đều sau REQUEST của riêng n Ta ki m tra các đặc tính sau đây: o Trạm Si đang ở trong đoạn găng là trạm duynhaats nằm trong đoạn găng y Thực tế cho th y thông điệp REQUEST đƣợc phát bởi Si vẫn tiếp tục tồn tại trong t t cả các hàng đợi cho đến khi n đƣợc thay thế bởi thông điệp REL o Trạm nào đã yêu cầu vào đoạn găng phải đảm bảo thời hạn và phải ra khỏi đoạn găng sau m t khoản thời gian xác đ nh Ví dụ 1: Chúng ta x t m t mạng bao gồm 3 trạm, trong đ c hai trạm 1 và 2 yêu cầu vào đoạn găng tại thời đi m 2 của đồng hồ logic của chúng Tập hợp các thông điệp đƣợc mô tả nhƣ hình sau: Hình 3 Loại trừ tƣơng hỗ nhờ d u © 2019 Trƣờng Đại học Công nghiệp thành phố Hồ Chí Minh 82 GIẢI PHÁP KỸ THUẬT TRÊN CƠ SỞ LOẠI TRỪ TƢƠNG HỖ HỆ THỐNG MÁY CHỦ ẢO 4 MÔ PHỎNG VÀ ĐÁNH GIÁ KẾT QUẢ Chúng tôi sử dụng phần mềm mô phỏng Coloured Petri net 4 0 0 Đƣợc cài đặt trên máy Laptop Lenovo; Chipset Intel coreTMi5 M t số kết quả mô phỏng với mô hình CPN cho thuật toán loại trừ lẫn nhau với thuật Ricart – Agrawala. Hình 4 Mô hình mô phỏng với thuật toán Ricart – Agrawala Hình 5 M t số yêu cầu mô phỏng Coloured Pertri Net Trên hình 5 chúng tôi sử dụng 15 v trí Place với công cụ Pertri Net chúng tôi c đƣợc kết quả yêu cầu mô phỏng nhƣ trên với tỷ lệ trung bình của các tokens tại các v trí giao đ ng từ 0,0396 tới 0,14851 Và đ tin cậy tại các v trí (Place) từ 0,01452 tới 0,04493 Hình 6 Trạng thái của hệ thống phân tích Yêu cầu phân tích về không gian trạng thái của mạng Pertri net nhƣ trên hình 6 © 2019 Trƣờng Đại học Công nghiệp thành phố Hồ Chí Minh GIẢI PHÁP KỸ THUẬT TRÊN CƠ SỞ LOẠI TRỪ TƢƠNG HỖ 83 HỆ THỐNG MÁY CHỦ ẢO Hình 8 Phân bổ trạng thái của hệ thổng phân tích Phân bố trạng thái của hệ thống đƣợc đánh d u từ M0 tới M15 Với dữ liệu M0 là 0 16667 và M15 là 0.10427. Hình 8 Xác xu t của Token tại các v trí Trên hình 8 mật đ xác xu t của các Token tại các v trí (Place) với =0 các v t P0,P1 c giá tr th p nh t là 0 83333 mật đ xác xu t cao nh t tại P15, P12 c giá tr là 0,97917 Khi giá tr =1 mật đ xác xu t tại v trí P5,P6 là th p nh t c giá tr là 0 0625 c n giá tr cao nh t tại v trí P8,P13 là 0 10417 © 2019 Trƣờng Đại học Công nghiệp thành phố Hồ Chí Minh 84 GIẢI PHÁP KỸ THUẬT TRÊN CƠ SỞ LOẠI TRỪ TƢƠNG HỖ HỆ THỐNG MÁY CHỦ ẢO 5 KẾT LUẬN Qua kết quả kết quả mô phỏng và phân tích đánh giá ƣu nhƣợc đi m của thuật toán đề xu t này chúng ta nhận th y rằng thuật toán vừa nêu c những ƣu đi m hơn so với thuật toán đã đề xu t Lamport trƣớc đây Với thuật toán Lamport và thuật toán Ricart – Agrawala với yêu cầu (N-1) thông điệp REQUEST và RELASE và đ tr của thuật toán là T Tuy nhiên đối với thuật toán Ricart – Agrawala là 2(N-1) thông điệp cho mỗi CS gọi còn Lamport là 3(N-1). Nhƣ vậy, quá trình mô hình h a hệ thống phân tán máy chủ ảo giải ứng dụng thuật toán giải quyết v n đề loại trừ tƣơng hỗ với bằng Petri Net chúng tôi nhận th y kết quả mô phỏng phù hợp với yêu cầu đề ra Dựa trên kết quả này chúng ta ccos th mở r ng cho các hệ thống phức tạp hơn Và giải quyết đƣợc các v n đề trong cung c p tài nguyên phân tán Hiện nay c nhiều công cụ đ chuy n mô hình hệ thống Petri Net sang chƣơng trình với các ngôn ngữ lập trình thông dụng nhƣ Java điều này giúp ta d dàng phát tri n hệ thống sau khi mô hình h a với Petri Net TÀI LIỆU THAM KHẢO [1] D P Mitchell and M J Merritt, “A distributed algorithm for deadlock detection and resolution,” in Proc.ACM Symposium on Principles of Distributed Computing, 1984, pp. 282–284. [2] E.Knapp. (1987), Deadlock Detection in Distributed Database Systems, ACM Computing Surveys, Vol.19, No. 4 pp.303-327. [3] M,Singhal.(1989), Deadlock detection in distributed systems. IEEE Computer, Vol.22, pp. 37–48. [4] A.D.Kshemkalyani, and M.Singhal. (1999), A One-Phase Algorithm to Detect Distributed Deadlocks in Replicated Databases, IEEE Trans. Knowledge and Data Eng., vol. 11, No. 6, pp. 880-895. [5] W Voorsluys, S Garg, and R Buyya, “Provisioning spot market cloud resources to create cost-effective virtual clusters,” in Proceedings of the 11th International Conference on Algorithms and Architectures for Parallel Processing (ICA3PP). Los Alamitos, CA, USA: IEEE Comput. Soc., 2011. [6] R Buyya, R Ranjan, and R Calheiros, “Modeling and simulation of scalable cloud computing environments and the cloudsim toolkit: Challenges and opportunities,” inProceeding of the 7th International Conference on High Performance Computing & Simulation (HPCS). Los Alamitos, CA, USA: IEEE Comput. Soc., 2009, pp. 1–11. [7] D Feitelson, “Parallel workloads archive,” cs huji ac il/labs/parallel/workload [8] D Tsafrir, Y Etsion, and D G Feitelson, “Modeling User Runtime Estimates,” in In Processing of the 11th Workshop on Job Scheduling Strategies for Parallel Processing (JSSPP) . Springer-Verlag, 2005, pp.1–35. [9] Binildas CA, Malhar Barai, Vincenzo Caselli, Service Oriented Architecture with Java (Using SOA and Web Services to build powefull Java applications), PACKT Publishing, 2008. [10] Ian Foster, Yong Zhao, Ioan Raicu, Shiyong Lu, Cloud Computing and Grid Computing 360-Degree Compared, Grid Computing Environments Workshop, 2008. [11] Rajkumar Buyya, Chee Shin Yeo, and Srikumar Venugopal, Market-Oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as Computing Utilities, International Conference on High Performance Computing, 2008. [12] M Andreolini, S Casolari, M Colajani, and M Messori, “Dynamic load management of virtual machines in a cloud architectures,” in CLOUDCOMP, 2009 [13] D. Prangchumpol, S. Sanguansintukul, and P Tantasanaw, “Analyzing User Behavior from Server Logs for Improved Virtualization Management”,2009 © 2019 Trƣờng Đại học Công nghiệp thành phố Hồ Chí Minh GIẢI PHÁP KỸ THUẬT TRÊN CƠ SỞ LOẠI TRỪ TƢƠNG HỖ 85 HỆ THỐNG MÁY CHỦ ẢO [14] M Stillwell, D Schanzenbach, F Vivien, and H Casanova, “Resource allocation algorithms for virtualized service hosting platforms,”, JPDC, vol 70, no 9, pp 962-974, 2010. [15] A Kshemkalyani, M Singhak, “Deadlock Detection in Distributed systems”, in Distributed Algorithms, 2010 – 2011. Ngày nhận bài:24/10/2018 Ngày chấp nhận đăng:10/02/2019 © 2019 Trƣờng Đại học Công nghiệp thành phố Hồ Chí Minh
File đính kèm:
- giai_phap_ky_thuat_tren_co_so_loai_tru_tuong_ho_he_thong_may.pdf