Một giải pháp “không trung tâm dữ liệu” cho điện toán đám mây
Hồ Đức Chung
Giới thiệu
Điện toán đám mây hiện tại chủ yếu dựa trên các trung tâm dữ liệu độc quyền, nơi có hàng trăm ngàn máy chủ chuyên dụng được thiết lập lưu trữ các dịch vụ đám mây. Hơn thế nữa, có hàng tỉ máy tính cá nhân (PCs) sử dụng không đúng mục đích, thường chúng được sử dụng cho vài giờ trong một ngày, được sở hữu bởi các cá nhân hoặc các tổ chức trên thế giới. Dung lượng tính toán và lưu trữ lớn chưa được khai thác của các PCs có thể được hợp nhất thay thế bởi những dịch vụ đám mây rộng, chủ yếu là cơ sở hạ tầng. Cách tiếp cận này được xem như là cách tiếp cận “không trung tâm dữ liệu”. Bài viết này, mô tả cơ hội của hệ thống điện toán đám mây, được gọi là cuCloud, chạy trên những tài nguyên dư thừa của những máy tính sử dụng không đúng mức trong một tổ chức hay cộng đồng. Hệ thống này mô tả rằng “không trung tâm dữ liệu” là giải pháp cần thiết cho công việc. Bên cạnh đó cung cấp các khái niệm, mô hình, lý luận và kết quả thí nghiệm.
Những dịch vụ điện toán đám mây hiện tại dựa trên phương pháp “trung tâm dữ liệu”, nơi mà hàng trăm ngàn máy chủ chuyên dụng được thiết lập cho những dịch vụ. Việc cài đặt trung tâm dữ liệu cho đám mây là rất đắt đỏ và cơ sở hạ tầng chuyên môn cần thiết cũng như là hàng loạt nguồn tài nguyên (công suất cao cho việc làm mát, năng lượng dự phòng cho việc đảm bảo tính sẵn sàng,…) Ví dụ, 45% chi phí của trung tâm dữ liệu dành cho mua các máy chủ, 25% chi phí cơ sở hạ tầng đặc biệt cho khả năng chịu lỗi, năng lượng dự phòng, các hệ thống làm lạnh và pin dự phòng, trong khi chi phí tiêu thụ điện năng bởi máy móc chiếm 15% tổng chi phí khấu hao [1]. Tuy nhiên, những nghiên cứu cũng chỉ ra rằng các máy tính PCs sở hữu bởi các tổ chức nhàn rỗi lên đến 97% thời gian [2].
Chúng ta sẽ tranh luận rằng, tận dụng các chu kỳ CPU chưa được khai thác và không gian ổ cứng của rất nhiều máy tính không được sử dụng đúng mức như là những tài sản quý giá, giống như các tài sản tiền tệ, để hợp nhất và tái sử dụng chúng cho lợi ích xã hội và các cá nhân giống như là cách mà một tổ chức tín dụng hoạt động. Tranh luận này đã thúc đẩy một mô hình điện toán đám mây thay thế, tên là “Liên minh tín dụng mô hình đám mây” (hoặt viết tắt CUCM) [3]. Việc xây dụng những dịch vụ đám mây dựa trên CUCM thường được gọi là Liên minh tín dụng đám mây (gọi tắt là CU). Những đặc trưng quan trọng của CUCM là tiếp cận “không trung tâm dữ liệu” để cung cấp những dịch vụ điện toán đám mây cho một viện, tổ chức hoặc là cộng đồng. Với những dịch vụ đám mây công cộng hiện tại, được cung cấp bởi các nhà cung cấp dịch vụ đám mây dựa trên những trung tâm dữ liệu chuyên dụng, sự quan tâm về bảo mật/an toàn và mất quyền kiểm soát là trở ngại chính trong việc giữ lại công nghệ thông tin (CNTT) truyền thống và không chuyển qua công nghệ đám mây. Điều này dễ hiểu rằng nếu dữ liệu của một doanh nghiệp là tối mật, người chủ doanh nghiệp hiển nhiên là quá lo ngại việc đặt dữ liệu vào tay một bên khác. Đám mây riêng tại cơ sở là giải pháp hợp lý để giảm thiểu mối quan tâm này.
Tuy nhiên, sự cần thiết của việc đầu tư là rất lớn để thiết lập trung tâm dữ liệu cho một cơ sở hạ tầng đám mây riêng có thể là rất tốn kém. Giữa nhiều lợi ích khác của đám mây CU, khả năng chi trả (có nghĩa hầu hết không có chi phí phụ cho việc yêu cầu và chạy một cơ sở hạ tầng đám mây tại chỗ) đặc biệt hấp dẫn. Có thể giúp một tổ chức hay chủ doanh nghiệp tiết kiệm lên đến 45% chi phí của một trung tâm dữ liệu bởi loại bỏ chi phí mua trước cho những máy chủ đám mây. Hơn thế nữa, hiệp hội tín dụng cơ sở hạ tầng đám mây không cần hệ thống làm mát bổ sung, sẽ tiết kiệm thêm 15% chi phí. Nói chung, liên minh tín dụng hệ thống quản lý đám mây cung cấp một giải pháp khả thi tại chỗ trên điện toán đám mây cho những viện và các tổ chức quá quan tâm đến chi phí và bảo mật.
Mô hình đám mây liên minh tín dụng
Mô hình đám mây liên minh tín dụng là một mô hình cung cấp đám mây hướng đến việc khai thác những máy tính nhàn rỗi/ sử dụng không đúng mức cho việc cung cấp dịch vụ đám mây, trong khi tiêu chuẩn thực hành dựa trên các trung tâm dữ liệu chuyên dụng. Những đám mây CU chạy trên những cơ sở hạ tầng hiện hữu với năng lực quá mức, không đặc biệt thiết lập cho việc hỗ trợ điện toán đám mây. Những máy tính này không phải là nguồn tài nguyên chuyên dụng cho cơ sở hạ tầng đám mây, thay vào đó chúng tiếp tục được sử dụng bởi những người dùng dự định thông thường của họ, cụ thể là việc chạy chương trình xử lý văn bản hoặc trình duyệt web (thông thường là những ứng dụng cục bộ). Đám mây CU cho phép các máy tính cá nhân ở một tổ chức gia nhập vào “hiệp hội tín dụng đám mây” và góp phần vào những tài nguyên không đúng mức của họ (chu kỳ CPU hoặc không gian đĩa) cho liên minh tài nguyên đám mây để sao lưu lưu đám mây của nó [3]. Theo đó, những máy tính cá nhân góp phần này được gọi là các nút thành viên/tình nguyện viên. CUCM giả định kiến trúc một máy khách/máy chủ với các nút thành viên như là các máy khách và các máy quản lý chuyên dụng (máy chủ). Máy chủ có nhiều thành phần khác nhau được biểu diễn như ở Hình 1. Những thành phần này được giải thích ngắn gọn như sau: Giao diện là cổng đầu tiên giao tiếp giữa đám mây CU và các máy con/người dùng của nó, quyền truy cập sẽ được xác thực và ủy quyền bởi mô đun xác thực và ủy quyền. Quản lý tài nguyên (RM) có bức một tranh toàn cảnh của các tài nguyên mà cơ sở hạ tầng đám mây hiện có. Thành phần phân bổ tài nguyên (RA) lựa chọn một danh sách các nút thành viên phù hợp cho việc triển khai các máy ảo (VMs) theo yêu cầu tài nguyên của khách hàng đám mây, thỏa thuận cấp độ dịch vụ (SLA) và tính sẵn sằng cũng như các hồ sơ đáng tin cậy của các nút thành viên. Mô đun lập lịch chấp nhận yêu cầu người dùng và phân bổ hoặc từ chối các tài nguyên được yêu cầu trong việc tham vấn với quản lý máy chủ ảo (VMM) và phân bổ tài nguyên. Thành phần VMM xử lý việc triển khai VMs trên các nút thành viên. Mô đun bảo mật xử lý bảo mật của máy chủ ảo. Mô đun giám sát và quản lý cung cấp thông tin tài nguyên chi tiết về các tài nguyên của hệ thống đám mây CU.
Hình 1. Kiến trúc của CUCM/cuCloud
Một phần quan trọng của phần mềm được gọi là kiểm soát viên (MC), được định vị (lưu trữ) trên mỗi nút thành viên đóng góp tài nguyên cho hệ thống đám mây CU. MC giám sát việc sử dụng tài nguyên ở một nút thành viên và quyết định trạng thái nút thành viên: trạng thái hoạt động cho thấy có đủ tài nguyên đáp ứng yêu cầu tối thiểu của VM, trong khi đó trạng thái không hoạt động biểu thị tính không sẵn sàng của tài nguyên đó. Kiểm soát viên thu thập và gởi thông tin đến máy chủ về loại và số lượng của những tài nguyên sẵn sàng (CPU, RAM, Ổ cứng) cho việc phân phối nguồn tài nguyên của đám mây CU theo định kỳ. Kiểm soát viên có các thành phần sau: thành phần cảm biến theo dõi quá trình sử dụng tài nguyên trên mỗi nút thành viên và đưa thông tin đến thành phần báo cáo của hệ thống. Thành phần báo cáo quyết định trạng thái thành viên của nút trong kiến trúc đám mây dựa trên thông tin được gởi. Nếu tính sẵn sàng của nguồn tài nguyên (RAM, CPU, Ổ cứng) cao hơn/thấp hơn giá trị ngưỡng, nó sẽ gởi một thông điệp đến quản lý tài nguyên trên sever chỉ định là thành viên hoạt động hay không hoạt động. Thành phần kiểm soát môi trường ảo hóa quản lý VMs được triển khai trên thành viên nút.
Thực hiện và thử nghiệm
Thực hiện
Vì là một hệ thống quản lý và nền tảng đám mây cho việc cung cấp các dịch vụ IaaS, đám mây CU được mong đợi sẽ hoàn thành tất cả các đặc tính của điện toán đám mây như là độ co giãn, định lượng, đa nhiệm,…. do là dự án đầu tiên, tác giả chỉ triển khai một phiên bản sơ bộ (được gọi cuCloud) sử dụng Apache CloudStack. Apache CloudStack là nền tảng IaaS nguồn mở quản lý và tổ chức nhiều nguồn tài nguyên khác nhau bao gồm việc lưu trữ, mạng, và các máy tính để xây dựng một đám mây điện toán Issa công khai hoặc riêng tư [4]. CloudStack quản lý các máy chủ có thể quản lý hàng chục ngàn máy chủ vật lý được cài đặt trong các trung tâm dữ liệu được phân tán theo địa lý. Máy chủ quản lý CloudStack giao tiếp với các nút điện toán (máy chủ vật lý) thông qua các phần mềm siêu ảo hoá (Xen, KVM, Hyper-V,…) được cài đặt trên các máy. Vì CloudStack là một hệ thống IaaS được phát triển để quản lý các trung tâm dữ liệu chuyên dụng chỉ cho các máy chủ chuyên dụng, cần sửa đổi máy chủ quản lý của CloudStack theo cách mà nó có thể xử lý các nút thành viên không dành riêng để sao lưu vật lý hệ thống cuCloud. Số lượng lõi CPU, dung lượng RAM, tỉ lệ phần trăm CPU nhàn rỗi, tỉ lệ phần trăm bộ nhớ trong và có sẵn dung lượng đĩa cứng trống được cảm nhận/tập hợp và chuyển đến mô đun báo cáo của MC.
Mỗi trường hợp, bộ điều khiển thành viên trên một nút thành viên liên tục sử dụng tài nguyên trên các máy chủ. Nếu việc sử dụng tài nguyên tại nút thành viên thấp hơn một mức ngưỡng nhất định, MC gởi một tin nhắn “hoạt động” đến thành phần AdHoc trên máy chủ quản lý cuCloud, và một tin nhắn “không hoạt động” đến các thành phần khác. Thành phần AdHoc sẽ cập nhật cơ sở tài nguyên của Cloudstack dựa trên tin nhắn nó chấp nhận từ MCs. Những thành phần khác của Cloudstack tiếp tục không thay đổi trong phiên bản sơ bộ này của cuCloud.
Thử nghiệm
Để kiểm chứng tính khả thi của CUCM, tác giả đã tiến hành hai bộ thí nghiệm sử dụng một máy chủ và bốn máy thành viên. Tác giả đã sử dụng CloudStack phiên bản 4.9.0 đã chỉnh sữa như đã phân tích trong phần triển khai này, việc máy chủ quản lý của CloudStack được cài đặt trên một máy chủ với 8GB RAM, Intel Core i7 2.4GHz, và dung lượng đĩa cứng là 250GB. Mỗi nút điện toán là 8GB RAM, Intel 4 nhân i3 3.1GHz, và 250GB ổ cứng. Tất cả các máy chạy Ubuntu 14.04, được kết nối đến 1 switch 16Gbps, và hỗ trợ ảo hóa phần cứng intel (VT-x). Cho bộ thí nghiệm đầu tiên, họ thiết lập một kiến trúc CloudStack chuyên dụng sử dụng một máy chủ quản lý và 4 nút máy tính. Hiệu suất và việc sử dụng CPU và RAM được đo lường bằng các điểm chuẩn nổi tiếng, LINPACK [7] và STREAM [8]. Bộ thí nghiệm thứ hai được hoàn thành trên một CloudStack được sửa đổi, đổi tên thành cuCloud khi nó triển khai mô hình CUCM. cuClud cũng đo lường một nút máy chủ quản lý và 4 nút thành viên, với những điểm chuẩn được chạy giống nhau để đo lường sự so sánh. Một nút thành viên sẽ gia nhập vào kiến trúc cuCloud nếu phần trăm nhàn rỗi CPU của nó lớn hơn hoặc bằng 70%. Nhóm nghiên cứu đã sử dụng 5 trường hợp để so sánh hiệu suất của CloudStack giả sử các máy chuyên dụng (hoặc trung tâm dữ liệu) dựa vào các nút điện toán thành viên đóng góp. Các thí nghiệm với cuCloud được tiến hành trong khi những người dùng cục bộ tiếp tục sử dụng máy móc. 5 trường hợp được cho theo sau:
Trường hợp 1: Trên kiến trúc CloudStack chuyên dụng, một VM cỡ nhỏ (1 vCPU, 512MB RAM, 20GB ổ cứng) được triển khai trên một trong những nút điện toán.
Trường hợp 2: Trên kiến trúc CloudStack chuyên dụng cỡ vừa phải (2 vCPU, 1GB RAM, 20GB ổ cứng) và 2 VM nhỏ được triển khai trên một trong những nút điện toán, và hiệu suất được đo lường và tính toán, trong khi 2 nút tức thì khác được thiết lập đang chạy với 40% và 60% (CPU được dùng).
Trường hợp 3: Giống như trường hợp 1 và loại trừ là một kiến trúc cuCloud không chuyên dụng.
Trường hợp 4: Giống như trường hợp 2 nhưng trên cuCloud. Ở đây, chúng tôi cố tình làm cho các nút thành viên lưu trữ các tác vụ đang chạy để gây ra sự di chuyển trực tiếp của VM với các tác vụ hiệu năng.
Trường hợp 5: Giống như trường hợp 4, nhưng nhóm nghiên cứu cố tình gây ra hai lần di chuyển trực tiếp của VM lưu trữ các tác vụ hiệu năng đang chạy.
Nhắm mục tiêu vào các tính toán chuyên sâu về CPU liên quan đến các phương trình tuyến tính lớn, điểm chuẩn LINPACK được cài đặt với những kích thước ma trận 5000x5000. Nhóm nghiên cứu thu thập trung bình 10 lệnh thi hành của điểm chuẩn LINPACK. Những hình theo sau (Hình 2 và Hình 3) mô tả những kết quả thí nghiệm. Như chỉ ra ở Hình 2, hầu như không có sự khác biệt giữa việc chạy một tác vụ trên một nút điện toán CloudStack chuyên dụng và trên một cuCloud được chia sẻ nút thành viên, cũng như là có đủ nguồn tài nguyên cho việc thực thi tác vụ. Tuy nhiên, ở Hình 3, khi có một hoặc nhiều di chuyển, các tác vụ chạy trên cuCloud có thể mất nhiều thời gian hơn. Điều này là kết quả hiển nhiên về sự di chuyển của các VMs. Từ những kết quả thực hiện, khoảng cách hiệu suất giữa một lần di chuyển và 2 lần di chuyển không có vẻ rõ ràng (12.64 và 12.71 giây), tuy nhiên có thể không được khái quát.
STREAM được thiết kế chủ yếu để đo băng thông bộ nhớ bằng bốn thao tác: Thêm, sao chép, chia tỷ lệ và bộ ba và được cài đặt với một kích thước dãy 2.000.000. Hình 4 chỉ ra việc sử dụng băng thông trung bình của 10 mẫu thử chạy STREAM với 5 trường hợp. Như mô tả ở Hình 4, việc sử dụng băng thông của 4 bài toán trong 3 trường hợp đầu thì hầu như là giống nhau; và việc di chuyển VM gây ra sự gia tăng sử dụng băng thông.
Hình 2. LINPACK: chuyên dùng so sánh với cuCluod (no có sự di chuyển) [9]
Hình 3. LINPACK: chuyên dùng so sánh với cuCloud (với sự di chuyển) [9]
Hình 4. Tỉ lệ băng thông STREAM [9]
Việc triển khai sơ bộ CUCM của nhóm nghiên cứu và những thí nghiệm với cuCloud và CloudStack mô tả rằng không chỉ khái niệm của CUCM (tức là giải pháp không trung tâm dữ liệu) hoạt động nhưng nó cung diễn tả một cách tiếp cận thay thế đầy hứa hẹn đến điện toán đám mây với nhiều khía cạnh của lợi thế.
Kết luận
Mô hình đám mây hiệp hội tín dụng, hướng đến khai thác nguồn tài nguyên máy tính có sẵn không được sử dụng đúng mức với một tổ chức/cộng đồng hơn là những máy chủ chuyên dụng, cung cấp một giải pháp điện toán đám mây thay thế đầy hứa hẹn cho tổ chức hay cộng đồng. Giải pháp “không trung tâm dữ liệu” có thể đạt được hiệu suất cạnh tranh cao so với đối tác phụ thuộc vào các máy chủ đám mây chuyên dụng. Khía cạnh quan trọng nhất trong công việc của nhóm nghiên cứu cho đến nay là bởi cuCloud, họ đã thiết lập một nền tảng và có một cánh cửa rộng mở cho nhiều vấn đề nghiên cứu mới thú vị cho tương lai.
Nhóm tài nguyên mà VM chạy trong cuCloud không dành riêng mà được chia sẻ với người dùng / tác vụ gốc. Chúng ta cần đưa ra một cơ chế để cung cấp dịch vụ đám mây một cách đáng tin cậy và hiệu quả, trong khi giữ cho các dịch vụ không can thiệp vào người dùng / tác vụ gốc tại các nút thành viên. Một yêu cầu khác của CUCM là phải có một quản lý tài nguyên mạnh mẽ, năng động và hiệu quả và cơ chế cung cấp. Mô đun quản lý và cung cấp tài nguyên nên xem xét tính chất động và không đáng tin cậy của các máy chủ thành viên đóng góp tài nguyên cho nhóm tài nguyên của cuCloud. Chúng ta cũng cần điều tra các thuật toán lập lịch mới và hiệu quả để xem xét tính khả dụng, vị trí và độ tin cậy của các nút thành viên được sử dụng bởi hệ thống triển khai các máy ảo. Ngoài ra, cuCloud yêu cầu các biện pháp bảo mật mạnh mẽ để đảm bảo an ninh cho các nút thành viên từ các quy trình máy khách đám mây độc hại và máy khách VM từ người dùng nội bộ độc hại tại các nút thành viên.
Tài liệu tham khảo
[1] A. Greenberg, J. Hamilton, D. A. Maltz, and P. Patel, “The cost of a cloud: Research problems in data center networks,” SIGCOMM Comput. Commun. Rev., vol. 39, no. 1, pp. 68–73, Dec. 2008.
[2] P. Domingues, P. Marques, and L. Silva, “Resource usage of windows computer laboratories,” in Parallel Processing, 2005. ICPP 2005 Workshops. International Conference Workshops on. IEEE, 2005, pp. 469–476.
[3] D. Che and W. C. Hou, “A novel "credit union" model of cloud computing,” in International Conference on Digital Information and Communication Technology and Its Applications. Springer, 2011, pp. 714–727.
[4] Apache cloudstack. [Online]. Available: http://cloudstack. apache.org
[5] System information gatherer and reporter. [Online]. Available: https://support.hyperic.com/display/SIGAR/Home.
[6] J. Che, Q. He, Q. Gao, and D. Huang, “Performance measuring and comparing of virtual machine monitors,” in Embedded and Ubiquitous Computing, 2008. EUC’08. IEEE/IFIP International Conference on, vol. 2. IEEE, 2008, pp. 381–386.
[7] J. J. Dongarra, P. Luszczek, and A. Petitet, “The linpack benchmark: past, present and future,” Concurrency and Computation: practice and experience, vol. 15, no. 9, pp. 803–820, 2003.
[8] J. D. McCalpin, “Stream: Sustainable memory bandwidth in high performance computers,” University of Virginia, Charlottesville, Virginia, Tech. Rep., 1991-2007.
[9] T. Mengistu, A. Alahmadi and A. Albuali, Y. Alsenani, D. Che, “A "No Data Center" Solution to Cloud Computing,” IEEE 10th International Conference on Cloud Computing (CLOUD), pp. 714-717, June, 2017.