Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
530,56 KB
Nội dung
Trường Đại học Công Nghệ Thông Tin – ĐHQG TPHCM ĐẠI HỌC QUỐC GIA TPHCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH BÀI THU HOẠCH MÔN ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY Đề tài: CÔNG NGHỆ ĐIỆN TOÁN LƯỚI VÀ XÂY ỨNG DỤNG THỬ NGHIỆM GVHD: Nguyễn Phi Khứ Học viên thực hiện: Lê Chí Cảnh – CH1301081 TP. H Chí Minh, tháng 6 năm 2014 Bài thu hoạch môn Điện toán lưới và đám mâyTrang 1 Trường Đại học Công Nghệ Thông Tin – ĐHQG TPHCM LỜI NÓI ĐẦU Điện toán lưới (Grid Computing) là công nghệ cho phép tận dụng nhiều máy tính nối mạng với nhau đề tạo lập một kiến trúc máy tính ảo, từ đó chia sẻ và tận dụng năng lực tính toán của các máy tính này. Mô hình điện toán lưới không phải một khái niệm mới có khả năng giải quyết các vấn đề mà đòi hỏi phải có một hạ tầng tính toán lớn và chi phí triển khai đắt mới có thể giải quyết được. Điện toán lưới giúp tận dụng tối đa tài nguyên nhàn rỗi được triển khai trong mạng. Với một đặc điểm nổi bật là chi phí đầu tư thấp nhưng vẫn cung cấp năng lực tính toán như mong muốn đã đưa mô hình tính toán lưới trở nên phổ biến và ứng dụng rộng rãi trong mọi lĩnh vực. Trong bài thu hoạch này em sẽ giới thiệu tổng quát về mô hình điện toán lưới và đng thời triển khai một ứng dụng thực tế đề kiểm nghiệm khả năng tính toán của mô hình này. Bài thu hoạch môn Điện toán lưới và đám mâyTrang 2 Trường Đại học Công Nghệ Thông Tin – ĐHQG TPHCM MỤC LỤC I. Giới thiệu về điện toán lưới Điện toán lưới là một thuật ngữ chỉ sự kết hợp các tài nguyên máy tính từ nhiều lĩnh vực hành chính đa dạng để đạt được cùng một mục đích. Điện toán lưới cũng có thể được nghĩ như là một hệ thống được phân bổ với khối lượng công việc không tương tác mà nó gm một số lượng các tập tin. Đặc điểm để phân biết điện toán lưới với các hệ thống tính toán hiệu suất cao khác như điện toán cụm (tiếng Anhnh: cluster computing) là nó có khuynh hướng liên kết không chặt chẽ hơn, hỗn tạp hơn, và sự phân tán về mặt địa lý nhiều hơn. Mặc dù một lưới điện toán có thể được dành riêng cho một ứng dụng chuyên biệt, nhưng nó thường được sử dụng cho nhiều mục đích đa dạng khác Bài thu hoạch môn Điện toán lưới và đám mâyTrang 3 Trường Đại học Công Nghệ Thông Tin – ĐHQG TPHCM nhau. Lưới điện toán thường được xây dựng với sự kết hợp nhiều thư viện phần mềm có mục đích chung được biết đến như là ứng dụng trung gian [1] . 1. Những đặc trưng của điện toán lưới [2] a. Có sự kết hợp, chia sẻ các tài nguyên không được quản lý tập trung Grid tích hợp và phối hợp tài nguyên, người dùng thuộc nhiều vùng quản lý khác nhau, nhiều đơn vịkhác nhau trong một tổchức, hay nhiều tổ chức khác nhau. Công nghệ điện toán lưới tập trung giải quyết các vấn đề về bảo mật, chính sách quản trị, chi phí, thành viên,… nảy sinh trong quá trình chia sẻvà sửdụng tài nguyên. b. Sử dụng các giao diện và giao thức chuẩn, mang tính mở, đa dụng Grid được xây dựng trên các giao thức và giao diện tổng quát, đa dụng để giải quyết các vấn đề cơ bản như chứng thực người dùng, phân quyền, tìm kiếm và truy xuất tài nguyên. Bài thu hoạch môn Điện toán lưới và đám mâyTrang 4 Trường Đại học Công Nghệ Thông Tin – ĐHQG TPHCM c. Đáp ứng yêu cầu cao về chất lượng dịch vụ Grid cho phép sửdụng phối hợp các tài nguyên đểcung cấp nhiều loại dịch vụ với các mức chất lượng khác nhau, liên quan đến ví dụ như thời gian đáp ứng, hiệu suất, tính sẵn sàng, bảo mật, cho phép kết hợp nhiều kiểu tài nguyên để đáp ứng nhu cầu phức tạp của người dùng. Mục tiêu là phải phối hợp làm sao để khả năng của hệthống sau khi kết hợp phải lớn hơn hẳn tổng khảnăng của từng đơn vịcấu thành nên Grid. 2. Những tài nguyên của điện toán lưới [2] a. Tài nguyên tính toán Đây là tài nguyên phổ biến nhất, là các chu kỳ tính toán (computing cycles) được cung cấp bởi bộvi xử lý của các thiết bị trong Grid. Các bộ vi xử lý không cần phải cùng loại mà có thể có tốc độ, kiến trúc, chạy phần mềm khác nhau. Có 3 cách để khai thác tài nguyên tính toán của Grid: 1. Cách đơn giản nhất là chạy các ứng dụng hiện có trên một node của Grid thay vì chạy trên máy tính cục bộ. 2. Thiết kế ứng dụng, tách các công việc thành các phần riêng rẽ đểcó thể thực thi song song trên nhiều bộ xử lý khác nhau. 3. Chạy ứng dụng thực thi nhiều lần trên nhiều node khác nhau trong Grid. b. Tài nguyên lưu trữ Tài nguyên phổ biến thứ nhì trong Grid là tài nguyên lưu trữ. Mỗi thiết bị trong Grid thường cung cấp một số dung lượng lưu trữ phục vụ cho việc thực thi ứng dụng trên Grid. Tài nguyên lưu trữ có thể là bộ nhớ trong, ổ đĩa cứng hoặc các thiết bị lưu trữ khác. Bộ nhớ trong thường dùng để lưu trữ dữ liệu tạm thời cho ứng dụng, trong khi các thiết bị lưu trữ ngoài có thể được sử dụng để tăng không gian lưu trữ, tăng hiệu suất, khả năng chia sẻ và đảm bảo tính tin cậy của dữ liệu. c. Phương tiện liên lạc Khả năng liên lạc giữa các máy tính phát triển nhanh chóng đã giúp cho công nghệ Grid trở nên hiện thực, do đó đây cũng là một tài nguyên quan trọng. Ở đây bao gm việc liên lạc, trao đổi dữ liệu giữa các Bài thu hoạch môn Điện toán lưới và đám mâyTrang 5 Trường Đại học Công Nghệ Thông Tin – ĐHQG TPHCM thành phần trong Grid và giao tiếp giữa Grid với bên ngoài. Một sốcông việc đòi hỏi một lượng dữ liệu lớn nhưng các dữ liệu này thường không nằm trên máy đang thực thi công việc. Khả năng về băng thông trong những trường hợp như vậy là một tài nguyên then chốt, ảnh hưởng đến khả năng của Grid. Việc giao tiếp với bên ngoài được thực hiện thông qua mạng Internet. Grid có thể sử dụng các kết nối Internet để liên lạc giữa các node. Vì các kết nối này không chia sẻmột đường truyền nên làm tăng băng thông truy cập Internet. Các đường truyền dựp hòng đôi khi cần thiết để giải quyết tốt hơn các vấn đề về hư hỏng mạng và truyền dữ liệu lớn. d. Phần mềm ứng dụng Grid có thể được cài đặt các phần mềm mà có thểquá mắc đểcài trên tất cả mọi máy tính trong Grid. Các phần mềm này chỉcần được cài trên một số node. Thông qua Grid, khi một công việc cần đến chúng, nó sẽ gửi dữ liệu đến node đã được cài đặt phần mềm và cho thực thi. Đây có thểlà một giải pháp tốt để tiết kiệm chi phí về bản quyền phần mềm. e. Các thiết bị đặc biệt Là các thiết bị dùng trong khoa học, kỹthuật nhưkính viễn vọng, các bộ cảm biến (sensor),… Các thiết bị này chủyếu thu thập các dữl iệu khoa học, phục vụ cho các bước phân tích, xử lý sau này. II. Xây dựng ứng dụng tính toán lưới Trong phần này em sẽ đề xuất một bài toán và sử dụng điện toán lưới để giải quyết nhằm mục đích so sánh hiệu năng của mô hình điện toán này so với mô hình điện toán đơn lẻ cục bộ trên máy tính. 1. Bài toán trích xuất từ khóa từ trang chủ Microsoft Từ khóa là từ trong một câu, một đoạn, một văn bản, mang một ý nghĩa quan trọng hoặc có mục đích nhấn mạnh theo ý của người viết. Từ khóa (keyword) được sử dụng rộng rãi như là một thuật ngữ internet chỉ việc xác định những từ ngữ chính thể hiện sản phẩm, dịch vụ, thông tin mà chủ website hướng đến cũng như người dùng internet hay dùng để tìm kiếm thông tin liên quan [3] . Bài thu hoạch môn Điện toán lưới và đám mâyTrang 6 Trường Đại học Công Nghệ Thông Tin – ĐHQG TPHCM Ngoài ra từ khóa còn được chỉ định tường minh trong các tài liệu kỹ thuật, bài báo khoa học nhằm miêu tả ngằn gọn về nội dung giúp người đọc dễ dàng phân loại cũng như tìm kiếm trên các search engine. Đối với các nghiên cứu về biểu diễn ngữ nghĩa trên văn bản, chúng ta cần có trước một bộ các từ khóa về các lĩnh vực để biểu diễn nội dung ngữ nghĩa cho văn bản. Việc biểu diễn nội dung dựa trên các từ khóa có sẵn có thể thực hiện bằng tay hoặc tự động. Trong phần này em đưa ra bài toán việc trích xuất danh sách các từ khóa trong lĩnh vực công nghệ thông tin được cung cấp sẳn bởi Microsoft: http://academic.research.microsoft.com/RankList? entitytype=8&topDomainID=2&subDomainID=0&last=0&start=1&end=100. Trong trang này các từ khóa được tổ chức theo nhiều trang mỗi trang có 100 từ khóa. Một lưu ý đây chỉ là bài toán áp dụng các kỹ thuật đơn giản được thực hiện bằng cách parsing nội dung trang web và trích xuất đựa theo cấu trúc của trang web. Vấn đề đưa ra ở đây là việc trích xuất sẽ chiếm nhiều thời gian nếu sử dụng mô hình tính toán trên máy tính đơn lẽ thông thường do số lượng từ khóa rất lớn và cấu trúc trang web rất nặng. 2. Phân tích bài toán Phương pháp trích xuất thực hiện rất đơn giản do tổ chức trong nội dung file html trả về rất đơn giản. Ví dụ từ khóa Indexing Terms trong một trang có nội dung được trình bày như sau trong file html: <a id="ctl00_MainContent_ctl00_hypName" href="/Keyword/19482/indexing-terms">Indexing Terms</a> Có thể thấy từ khóa này được chứa trong thẻ a của HTML, thẻ này có id là ctl00_MainContent_ctl00_hypName. Nếu phân tích thêm cấu trúc trình bày của các từ khóa khác trong file HTML thì id của thẻ a có được xây dựng như sau: Bài thu hoạch môn Điện toán lưới và đám mâyTrang 7 Handler WorkerWorker Worker Worker Trường Đại học Công Nghệ Thông Tin – ĐHQG TPHCM “ctl00_MainContent_ctl” + NO + “_hypName” Cấu trúc id này một chuỗi có 3 phần được gắn liền với nhau bằng toán tử cộng “+” : 1. Phần đầu có nội dung cố định là ctl00_MainContent_ctl 2. Phần giữa NO là nội dung động, đây là số thứ tự của từ khóa trong trong một trang. NO có giá trị từ 00 đến 99. 3. Phần sau có nội fung cố định là “_hypName” Ví dụ từ khóa Machine Learning trong trang ở vị trí thứ 9 trên danh sách của trang thì id thể 3 chứa từ khóa này có giá trị : ctl00_MainContent_ctl08_hypName Khi đã xác định được id của thẻ a chứa từ khóa chúng ta sẽ sử dụng một parser để trích xuất ra từ khóa. Trong bài thu hoạch này em sử dụng parser Jsoup để trích xuất. 3. Thiết kế ứng dụng Ứng dụng được viết bằng ngôn ngữ Java có sử dụng thư viện RMI để thực hiện giao tiếp giữa cách thành phần bên trong. Em đề xuất triển khai ứng dụng điện toán lưới để thực hiện bài toán trên theo mô hình như sau: Bài thu hoạch môn Điện toán lưới và đám mâyTrang 8 Trường Đại học Công Nghệ Thông Tin – ĐHQG TPHCM Mô hình này gm một máy tính điều phối quản lý các công việc trong mạng là handler và các máy tính thực hiện các công việc là worker. Trong mô hình này sẽ có duy nhất một handler và nhiều worker với số lượng tùy ý. Nhưng để hệ thống có thế bắt đầu làm việc thì cần ít nhất một worker. Sau đây là chi tiết tổ chức của grid và các khái niệm bên trong: 1. Job: Là một đơn vị công việc mà một thành phần trong một hệ thống muốn một thành phần khác thực hiện. Trong bài toán này, job là một công việc trích xuất các từ khóa từ trang chủ Microsoft. Một job sẽ được trả về cho worker khi nó vào trạng thái rỗi. Thông tin bên trong job bao gm yêu cầu trích xuất từ khóa từ một trang đến một trang nào đó. 2. Message: Được gửi đi bởi worker khi nó đã hoàn thành xong một job mà hanlder service đã yêu cầu trước đó. Bên trong message chứa một đính kèm chứa danh sách các từ khóa mà worker đó đã trích xuất được. 3. Handler: Máy tính triển khai module này chứa một service có tên là handler service được public để các worker có thể gửi các request. Đng thời còn có một worker registry có chức năng đăng kí cho các worker khi chúng muốn tham gia vào grid. Chức năng các module bên trong Handler Phương thức free() : Phương thức này được một worker gọi khi nó đang ở trạng thái rãnh. Tùy vào trạng thái của công việc mà Bài thu hoạch môn Điện toán lưới và đám mâyTrang 9 Trường Đại học Công Nghệ Thông Tin – ĐHQG TPHCM HandlerService handler sẽ trả về một job cho worker tiếp tục thực hiện hay không. message() : Phương thức này được worker gọi khi muốn gửi thông tin cho handler. Thông thường bên trong message sẽ có một attachment chứ danh sách các từ khóa mà worker này đã trích xuất được WorkerRegistry register(): Các worker sẽ gọi phương thức này khi chúng muốn gia nhập vào grid. Sau khi kết thúc phương thức worker có thể bắt đầu thực hiện gửi message nhận job từ hanlder. 4. Worker: Trước khi thực hiện các job gừi từ handler, worker phải đăng kí với handler. Khi worker đã hoàn thành một job nó sẽ gửi một message cho hanlder, message này chứa danh sách các từ khóa mà worker đã trích xuất được. Nếu worker ở trạng thái rãnh rỗi thì nó sẽ gọi phương thức free() của handler service để thông báo. 4. Luồng thực thi của mô hình 1. Khởi động hanlder, sau khi khởi động thành công, handler sẽ deploy handler service và worker registry. Sau đó vào trạng thái chờ worker gia nhập mạng. 2. Khởi động một worker, chúng ta cần cung cấp địa chỉ url mà hanlder đang triển khai. Khi worker khởi động thành công, nó sẽ gọi method register() tới hanlder là yêu cầu đăng kí nó tham gia vào grid. Bài thu hoạch môn Điện toán lưới và đám mâyTrang 10 [...]... hoạch môn Điện toán lưới và đám mâyTrang 15 Trường Đại học Công Nghệ Thông Tin – ĐHQG TPHCM IV Tài liệu tham khảo [1] Wikipedia, Điện toán lưới [2] Nguyễn Mạnh Dũng, Nguyễn Đăng Thành Tìm hiểu công nghệ grid computing và ứng dụng thử nghiệm trong bài toán quản trị mạng [3] Wikipedia, Từ khóa [4] Thế giới vi tính, Từ “tính toán lưới đến “tính toán mây” Bài thu hoạch môn Điện toán lưới và đám mâyTrang... môn Điện toán lưới và đám mâyTrang 14 Trường Đại học Công Nghệ Thông Tin – ĐHQG TPHCM III Lời kết Với những lợi ích cúa tính toán lưới mang lại, ở Việt Nam đã có những đề tài nghiên cứu về tính toán lưới như đề tài Xây dựng dữ liệu lưới cho khí tượng Việt Nam (Construction a Data Grid for Meteorology in Viet Nam) của Đại học Bách khoa Hà Nội và nhiều đề tài khác của Viện CNTT- Viện Khoa học Công nghệ. .. Ví dụ khởi động một worker khác có định danh là worker2 tham gia vào gird như sau: Bài thu hoạch môn Điện toán lưới và đám mâyTrang 12 Trường Đại học Công Nghệ Thông Tin – ĐHQG TPHCM java –jar worker.jar –hanlder hanlder.com –name worker2 6 Thử nghiệm và đánh giá a Thử nghiệm trích xuất từ khóa từ trang 1 tới trang 50: Sau đây là các thử nghiệm thực tế với cùng một kết nối mạng băng thông khoảng 150kB... RAM 2G) Thời gian 538s 270s Máy đơn Time (s) 538 s Grid 500 s 270 s 250 s Thời gian thấp sẽ tốt hơn Bài thu hoạch môn Điện toán lưới và đám mâyTrang 13 Model Trường Đại học Công Nghệ Thông Tin – ĐHQG TPHCM b Thử nghiệm trích xuất từ khóa từ trang 1 tới trang 390: Sau đây là các thử nghiệm thực tế với cùng một kết nối mạng băng thông khoảng 150kB /s Theo kết quả thì thực hiện trên grid nhanh hơn thực... Center) tính toán lưới có khả năng tích hợp các DV web và khả năng tự động hoá cao cho các doanh nghiệp lớn ngành ngân hàng - tài chính Tại TPHCM và Hà Nội đã có nhiều Trung tâm dữ liệu (TTDL) đạt tiêu chuẩn của Hiệp hội Viễn thông Quốc tế TIA, như của FPT Telecom, CMC Telecom, Ngân hàng Sài gòn Thương tín- Sacombank Ngân hàng Đông Nam Á Tất cả đều cho biết nhờ dùng công nghệ tính toán lưới đã tiết... nhập tùy ý Sau khi khởi động thành công worker, sẽ không có bất kì thông báo lỗi nào và được thông báo: Start worker, remote hanlder: hanlder.com, name: worker1 Và sao đó worker sẽ tự động kết nối với hanlder và gửi các request cần thiết Và bắt đầu thực hiện các job Như vậy là chúng ta đã khởi động thành công một worker vào grid Nếu muốn triển khai các worker khác vào grid, chúng tao thực hiện tương... Hanlder nhận danh sách từ khóa và save vào database 7 Sau đó worker vào trại thái rãnh rỗi, và lại gửi yêu cầu cho hanlder để yêu cầu một job mới 8 Chu trình lập lại nhiều lần đến khi hanlder không còn job cần để thực thi thì nó sẽ dừng và yêu cầu các worker dừng 5 Sử dụng chương trình Chương trình gồm 1 file thực thi là handler.jar chạy file này để khởi động handler và 1 file thực thi worker.jar để... nhiều đề tài khác của Viện CNTT- Viện Khoa học Công nghệ Việt Nam và của chương trình Nghiên cứu cấp nhà nước KC-01 Ngoài ra Việ Nam đã đồng hành cùng thế giới vào “tính toán mây” Bộ KH&CN phối hợp với hãng IBM xây dựng cổng thông tin VIP (Vietnam Information for Science and Technology Advance Innovation Portal) với công nghệ tính toán mây từ năm 2007 nhằm tạo một môi trường sáng tạo cho các nhà nghiên... cập vào thư mục chứa các file thực thi bên trên Tiếp theo gõ lệnh : java –jar handler.jar –from A –to B Với: - A là số thứ tự của trang bắt đầu cần trích xuất từ khóa từ trang chủ Microsoft B là số thứ tự của trang kết thúc cần trích xuất từ khóa từ trang chủ Microsoft Ví dụ: muốn hệ thống trích xuất các từ khóa từ trang 1 đến trang 50, chúng ta gõ vào như sau: Bài thu hoạch môn Điện toán lưới và đám... toán lưới và đám mâyTrang 11 Trường Đại học Công Nghệ Thông Tin – ĐHQG TPHCM java –jar handler.jar –from 1 –to 50 Nếu handler khởi động thành công thì sẽ có thông báo xuất hiện trên giao diện mà không có bất kì thông báo lỗi nào: Deploy handlerService, port:2525, from page:1, to page: 50 Sau khi khởi động hanlder, hanlder sẽ vào trạng thái chời worker tham gia vào mạng b Khởi động các worker: Sau khi . này. II. Xây dựng ứng dụng tính toán lưới Trong phần này em sẽ đề xuất một bài toán và sử dụng điện toán lưới để giải quyết nhằm mục đích so sánh hiệu năng của mô hình điện toán này so với mô hình điện. kiểm nghiệm khả năng tính toán của mô hình này. Bài thu hoạch môn Điện toán lưới và đám mâyTrang 2 Trường Đại học Công Nghệ Thông Tin – ĐHQG TPHCM MỤC LỤC I. Giới thiệu về điện toán lưới Điện toán. học Công Nghệ Thông Tin – ĐHQG TPHCM ĐẠI HỌC QUỐC GIA TPHCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH BÀI THU HOẠCH MÔN ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY Đề tài: CÔNG NGHỆ ĐIỆN TOÁN