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

Alchemi framework - khả năng xây dựng môi trường và phát triển các ứng dụng tính toán lưới

7 23 0

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

THÔNG TIN TÀI LIỆU

Bài viết giới thiệu các khả năng xây dựng nền tảng cho môi trường TTL, các kỹ thuật phát triển ứng dụng và triển khai lưới tính toán trên nền NET-Base Alchemi Framework.

UED JOURNAL OF SOCIAL SCIENCES, HUMANITIES AND EDUCATION VOL.2, NO.2 (2012) ALCHEMI FRAMEWORK - KHẢ NĂNG XÂY DỰNG MÔI TRƯỜNG VÀ PHÁT TRIỂN CÁC ỨNG DỤNG TÍNH TỐN LƯỚI Nguyễn Thành Thủy* TĨM TẮT Từ tính tốn lưới (TTL – Grid Computing) đến điện toán mây (Cloud Computing) ngày khơng cịn giải pháp hàn lâm hay thử nghiệm TTL cho phép ảo hóa chức tính toán phân tán nguồn xử lý, băng thông mạng khả lưu trữ TTL cho phép người sử dụng ứng dụng truy cập thông suốt vào tính điện tốn rộng lớn [1] Với tiến quan trọng phần mềm triển khai, người ta hy vọng TTL đem sức mạnh siêu máy tính tới tất người dùng PC đơn lẻ giới Trong báo này, giới thiệu khả xây dựng tảng cho môi trường TTL, kỹ thuật phát triển ứng dụng triển khai lưới tính tốn NET-Base Alchemi Framework Từ khóa: alchemi framework, tính tốn lưới, điện toán mây, dịch vụ lưới, dịch vụ web Đặt vấn đề Xây dựng lưới tính tốn đơn giản việc cho phép số lượng nhỏ PC server mạng lưu trữ, tận dụng khả chưa khai thác hết Từ quy mô triển khai ban đầu nhỏ, người sử dụng mở rộng lưới tùy theo nhu cầu doanh nghiệp Trong đó, cần có hạ tầng cung cấp cơng cụ mềm để xây dựng tảng cho lưới tính tốn ứng dụng khác, dựa công nghệ Grid cách dễ dàng Nó bao gồm module cơng cụ, công cụ định nghĩa giao diện phục vụ cấp cao cung cấp nhiều toán tử cấp thấp, thực mơi trường khác [4] Trong báo này, giới thiệu khả xây dựng tảng cho môi trường TTL, kỹ thuật phát triển ứng dụng triển khai lưới tính tốn NET-Base Alchemi Framework Tổng quan Alchemi Framework Alchemi framework phát triển trường Đại học Melbourne (Australia) Alchemi NET-based framework cung cấp giải pháp để xây dựng môi trường lưới phát triển ứng dụng thực thi lưới Alchemi framework cho phép xây dựng ứng dụng lưới tảng công nghệ NET Microsoft, hỗ trợ ngơn ngữ lập trình hướng đối tượng C#/VB.NET, hạ tầng mạng máy tính ngang hàng (peer-topeer) Alchemi cho phép khai thác hiệu nhàn rỗi máy tính để bàn (desktop grid environment) chạy hệ điều hành Microsoft Windows [3] 56 TẠP CHÍ KHOA HỌC XÃ HỘI, NHÂN VĂN VÀ GIÁO DỤC TẬP 2, SỐ (2012) Alchemi framework cho phép xây dựng ứng dụng lưới cách linh hoạt, tảng hướng đối tượng, cung cấp thêm mơ hình tập tin dựa công việc (file-based job model) Hỗ trợ Cross-platform thông qua giao diện web, cung cấp khả tùy biến linh hoạt cho phép xử lý “chủ động” (dedicated) hay “bị động” (non-dedicated) nút lưới [2] Kiến trúc lớp Alchemi cho mơi trường tính Hình Kiến trúc phân lớp cho môi trường lưới máy tính tốn lưới máy tính để bàn để bàn Alchemi (Desktop grid computing environment) hiển thị hình Alchemi cho phép mơ hình chủ - khách (master - worker) tính tốn song song, thành phần trung tâm đơn vị độc lập thực quản lý song song Trong Alchemi, đơn vị thực song song gọi “luồng lưới” (grid thread) có hướng dẫn để thực thi nút lưới, gọi “Manager” 2.1 Mơ hình ứng dụng Lưới Alchemi Alchemi xử lý yêu cầu chức liệu cách song song Cả hai hỗ trợ hai thành phần ứng dụng song song: mơ hình luồng lưới (grid thread model) mơ hình lưới cơng việc (grid job model) 2.1.1 Mơ hình luồng lưới (grid thread model) Mỗi luồng lưới đơn vị nguyên tử thực song song độc lập, với nhiều luồng lưới ứng dụng lưới Hai lớp trung tâm Alchemi NET API Là GThread GApplication, đại diện cho luồng lưới ứng dụng lưới tương ứng Có hai thành phần ứng dụng lưới Alchemi, là: "Remote code": thực mã nguồn từ xa "Local code": thực mã nguồn máy cục 2.1.2 Mơ hình lưới cơng việc (Grid Job Model) Việc triển khai lưới truyền thống thực mức độ cao, ảo hóa thiết bị, đơn vị công việc nhỏ thực song song tiến trình Trong mơ hình này, đơn vị làm việc thường mô tả cụ thể câu lệnh, tập liệu đầu vào tập liệu đầu Trong Alchemi, đơn vị làm việc gọi “công việc” (job), với nhiều công việc tạo thành "nhiệm 57 UED JOURNAL OF SOCIAL SCIENCES, HUMANITIES AND EDUCATION VOL.2, NO.2 (2012) vụ" (task) [3] 2.2 Các thành phần phân tán Alchemi Alchemi gồm có thành phần phân tán chính, tham gia vào việc xây dựng lưới tính tốn thực ứng dụng Custom Grid U Nút User lưới, bao gồm: Manager (M), Middleware M Nút Manager Executor (E), User (U) & CrossU X E Nút Executor Platform Manager (X) Cross X Nút Platform Manager Thành phần Manager triển khai máy chủ trung tâm, cung M cấp dịch vụ liên quan đến việc: tiếp nhận yêu cầu TTL, thực thi E E E E E ứng dụng lưới quản trị luồng tính tốn Manager tiếp nhận Hình Các thành phần phân tán Alchemi u cầu tính tốn từ User, tổ chức lập lịch điều phối luồng xử lý đến nút lưới (Executor) trả kết cho User Thành phần Executor triển khai nút lưới, có chức tiếp nhận luồng lưới yêu cầu từ Manager, xử lý trả kết lại cho Manager Thành phần User nơi tiêu thụ ứng dụng lưới người dùng đầu cuối, yêu cầu User gửi nhận kết từ Manager Thành phần Cross-Platform Manager cung cấp dịch vụ để kiểm soát thành phần Manager thơng qua giao diện web, bao gồm: kích hoạt dịch vụ lưới, quản trị việc thực công việc lưới,… 2.3 Bảo mật Alchemi Bảo mật đóng vai trị then chốt mơi trường khơng an tồn Internet Hai khía cạnh bảo mật giải Alchemi là: (a) cho phép người dùng thực hoạt động ủy quyền (b) cho phép ủy quyền người dùng không ủy quyền để đóng góp nguồn lực [5] Bằng cách sử dụng vai trò ủy quyền, cho phép người dùng thực hoạt động mà họ Hình Cơ chế bảo mật phép làm Mọi hoạt động Alchemi bảo mật nhạy cảm Manager bảo hộ cách Manager cấu hình phép Executer vô danh ẩn danh Thơng tin thực thi bảo mật nhóm người dùng trì sở liệu Alchemi, tổ chức thực thể: PRM, GRP USR Mỗi hoạt 58 TẠP CHÍ KHOA HỌC XÃ HỘI, NHÂN VĂN VÀ GIÁO DỤC - - TẬP 2, SỐ (2012) động quản lý liên kết tuân theo quy định sau: ExecuteThread: Hoạt động liên quan đến thực luồng, ví dụ như: nhận luồng để thực thi, trả kết ManageOwnApp: Hoạt động liên quan đến quyền sở hữu ứng dụng cụ thể, ví dụ tạo ứng dụng, nhận kết hoàn thành ManageAllApps: Hoạt động liên quan đến quyền sở hữu tất ứng dụng hệ thống, ví dụ như: nhận danh sách tất ứng dụng với số liệu thống kê ManageUsers: Hoạt động liên quan đến quản lý người dùng, ví dụ việc thêm người dùng, thay đổi mật khẩu, thay đổi thành viên nhóm, … Khía cạnh thứ hai bảo mật mà Alchemi cho phép, bảo vệ Executer từ mã độc hại Bằng cách tạo “hộp kín” mơi trường để Executer thực thi luồng lưới Mơi trường định nghĩa người sử dụng 2.3.1 Cài đặt chương trình Một số phương thức sử dụng chương trình thực nghiệm: • Init(): Phương thức khởi tạo dịch vụ lưới, thực kết nối vào lưới dịch vụ • Start(): Phương thức kích hoạt luồng lưới nút Manager • App_ThreadFinish(): Phương thức bắt kiện (Event) luồng lưới thực hoàn thành Ở đây, đặt phương thức tương ứng thực việc tiêu thụ kết xử lý luồng lưới • App_ApplicationFinish(): Phương thức bắt kiện ứng dụng lưới thực hoàn thành Ở đây, đặt phương thức tương ứng thực việc giải phóng tài nguyên lưới có huy động luồng phát sinh User GApplication GManager Start() ApplicationID: NewApplication() Init() Cài đặt ràng buộc Khởi tạo luồng lưới StartThread() StartThread() ScheduleThread() GetFinishThreads() ThreadFinished() Luồng lưới thực ApplicationFinished() Hình Biểu đồ hoạt động hệ thống 59 UED JOURNAL OF SOCIAL SCIENCES, HUMANITIES AND EDUCATION VOL.2, NO.2 (2012) Xây dựng ứng dụng lưới Alchemi Framework 3.1 Cài đặt triển khai môi trường lưới Bộ cài đặt tài liệu hướng dẫn cấu hình Alchemi phân phối miễn phí trang http://www.cloudbus.org/~alchemi/ Việc cài đặt cấu hình diễn đơn giản Bộ cài đặt gồm gói, gói Alchemi.ManagerExecSetup.msi dành cho Manager Alchemi.ExecutorExecSetup.msi dành cho Executor 3.2 Phát triển ứng dụng lưới 3.2.1 Lựa chọn toán: Để đánh giá tính khả thi Alchemi việc xây dựng ứng dụng lưới tính tốn, cần lựa chọn tốn có độ phức tạp lớn địi hỏi hiệu tính tốn cao hệ thống, khơng q tốn chi phí truyền thơng Bài tốn lựa chọn sinh ngẫu nhiên n số nguyên tố (SNT) siêu mạnh 1024 Bit [6] Để khai thác tối đa ưu điểm lưới, thuật toán cần song song hóa 3.2.2 Phương pháp thực nghiệm Đầu tiên chúng tơi cho thử nghiệm tốn PC, cho thực với thuật toán xử lý thuật tốn song song hóa Sau triển khai lưới với số lượng số n tăng dần, ghi nhận kết làm sở để đánh giá tính khả thi Trong đó, thuật tốn sinh SNT siêu mạnh song song hóa chiến lược song song hóa kết Tiến trình cha khởi tạo công việc kiểm tra số lượng SNT sinh ra, khởi tạo tiến trình con, tiến trình Hình Giao diện chương trình thực nghiệm thực sinh SNT siêu mạnh trả kết cho tiến trình cha Trong chưa đủ số n tiếp tục lặp lại cơng việc 3.2.3 Môi trường thực nghiệm Tất PC sử dụng thực nghiệm có cấu hình đồng bộ: CPU Intel Pentium Dual-Core 3.00 GHz, MB Cache, cores, threads, DDR3 2GB/1333Hz Được kết nối mô hình mạng LAN 3.2.4 Phân tích kết thực nghiệm Hình Biểu đồ tương quan thời gian xử lý với số lượng SNT sinh 60 TẠP CHÍ KHOA HỌC XÃ HỘI, NHÂN VĂN VÀ GIÁO DỤC TẬP 2, SỐ (2012) Kết thực nghiệm biểu diễn biểu đồ hình 6, phản ánh mối tương quan số lượng SNT phát sinh thời gian xử lý (đơn vị giây), xử lý với thuật toán tuần tự, thuật toán song song PC lưới tính tốn Qua biểu đồ cho thấy, thực với thuật toán PC, thời gian xử lý hệ thống sinh SNT siêu mạnh tăng dần theo số lượng lệnh phát sinh Thời gian trung bình để xử lý lệnh tăng dần, lực xử lý hệ thống giảm dần Ta thấy xuất tình trạng tải hệ thống số lượng giao dịch tăng lên Hiện tượng xuất thực nghiệm với thuật toán song song PC tượng suy giảm nhanh lực xử lý xuất chậm so với xử lý thuật tốn Khi sử dụng lưới tính tốn để xử lý, thời gian xử lý hệ thống giảm kéo theo thời gian trung bình để xử lý lệnh giảm rõ rệt, dấu hiệu tải chưa thấy xuất hệ thống Tuy nhiên, huy động nhiều nút lưới lưới tính tốn mức độ cải thiện thời gian xử lý không đáng kể, nguyên nhân chi phí đường truyền, chi phí xử lý nghiệp vụ phân luồng lập lịch,… nút Manager tăng có thêm nhiều nút lưới lưới tính tốn Kết luận Những mơ hình tính tốn gần tiếp cận đến cách khai thác phần mềm, khai thác tảng dịch vụ, giải pháp máy chủ ảo, chuyển dần sang mơ hình điện tốn mây Việc nghiên cứu ứng dụng mơ hình tính tốn nằm chiến lượt phát triển CNTT nhiều quốc gia, có Việt Nam Trong báo này, giới thiệu công cụ Alchemi Framework, dễ dàng cho việc triển khai môi trường phát triển ứng dụng tính tốn lưới Alchemi khơng u cầu cấu hình hệ thống phức tạp, hỗ trợ tảng NET, ứng dụng lưới phát triển ngôn ngữ C#/VB.NET, đặc biệt hoạt động tốt Microsoft Windows TÀI LIỆU THAM KHẢO [1] Ahmar Abbas, Grid Computing: A Practical Guide to Technology and Applications.Ian Foster, What Is The Grid? A Three Point Checklist, Gridtoday July 2002 [2] Akshay Luther, Rajkumar Buyya, Rajiv Ranjan, and Srikumar Venugopal, Alchemi: A NET-based Grid Computing Framework and its Integration into Global Grids [3] Akshay Luther, Rajkumar Buyya, Rajiv Ranjan, and Srikumar Venugopal Peer-toPeer Grid Computing and a NET-based Alchemi Framework [4] Ian Foster, Carl Kesselman, Jeffrey Nick, Steve Tuecke, Grid Services for Distributed System Integration, Computer June 2002 61 UED JOURNAL OF SOCIAL SCIENCES, HUMANITIES AND EDUCATION VOL.2, NO.2 (2012) [5] Krishna Nadiminti, Akshay Luther, Rajkumar Buyya, Alchemi: A NET-based Enterprise Grid System and Framework [6] Nguyễn Văn Phương, Vai trò số nguyên tố siêu mạnh việc sinh chúng Luận án tiến sĩ, 2008 ALCHEMI FRAMEWORK – POSSIBILITY OF SETTING UP ENVIRONMENT AND DEVELOPING GRID COMPUTING APPLICATIONS Nguyen Thanh Thuy University of economics, The University of Da Nang ABSTRACT Grid Computing as well as Cloud Computing is not still an academic or pilot solution Grid computing allows virtual ciphertext of distributed computing functions such as processing sources, network bandwidth and storage capacity Users and applications are permitted to access enlarged computing functions smoothly With advanced improvements of the deployed software, it is hoped that the power of super computers will be brought to everyone who uses PC In this article, we will introduce possibilities of the foundation for Grid Computing environment, techniques for development of applications and deployment of Grid computing on NET-Base Alchemi Framework Keywords: alchemi framework, grid computing, cloud computing, grid service, web service * Nguyễn Thành Thủy, Email: thuynt.it@gmail.com, Trường Đại học Kinh tế, ĐHĐN 62 ... với nhiều luồng lưới ứng dụng lưới Hai lớp trung tâm Alchemi NET API Là GThread GApplication, đại diện cho luồng lưới ứng dụng lưới tương ứng Có hai thành phần ứng dụng lưới Alchemi, là: "Remote... hình tính tốn nằm chiến lượt phát triển CNTT nhiều quốc gia, có Việt Nam Trong báo này, giới thiệu công cụ Alchemi Framework, dễ dàng cho việc triển khai môi trường phát triển ứng dụng tính tốn lưới. .. Alchemi. ManagerExecSetup.msi dành cho Manager Alchemi. ExecutorExecSetup.msi dành cho Executor 3.2 Phát triển ứng dụng lưới 3.2.1 Lựa chọn tốn: Để đánh giá tính khả thi Alchemi việc xây dựng ứng

Ngày đăng: 17/11/2020, 07:53

Xem thêm:

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w