tiểu luận ĐIỆN TOÁN ĐÁM MÂY
Điện toán đám mây ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN KHOA: KỸ THUẬT MÁY TÍNH - - TIỂU LUẬN MÔN HỌC MÔN : NHẬP MƠN CƠNG TÁC KỸ SƯ ĐỀ TÀI : ĐIỆN TỐN ĐÁM MÂY GVHD: ThS Nguyễn Văn Lợi SVTH: Phan Đình Duy 06520111 Trần Ngọc Đức 06520091 Lê Phước Phát Đạt Đức 06520089 Hồng Thị Thúy Trà 06520496 Hồ Chí Minh – 2009 Tiểu luận mơn học Điện tốn đám mây MỤC LỤC TÓM TẮT NỘI DUNG VÀ GIỚI THIỆU ĐỀ TÀI Điện toán đám mây Các đặc điểm điện toán đám mây Sự cần thiết điện toán đám mây Hoạt động điện toán đám mây 4.1 Kiến trúc ứng dụng điện toán đám mây 4.2 Kiến trúc máy chủ 11 4.3 Tiểu luận mơn học Map Reduce Điện tốn đám mây 13 4.4 Google file system 20 4.5 Hadoop 22 Tổng kết 23 TÀI LIỆU THAM KHẢO 24 Tiểu luận mơn học Điện tốn đám mây TÓM TẮT NỘI DUNG VÀ GIỚI THIỆU ĐỀ TÀI Đề tài “Điện tốn đám mây ” tìm hiểu định nghĩa, chức năng, nguyên tắc hoạt động ứng dụng điện toán đám mây thực tế sống Máy vi tính ngày trở thành phần tất yếu sống Chúng ta cần máy tính khắp nơi, cho cơng việc, nghiên cứu lĩnh vực Khi việc sử dụng máy tính sống hàng ngày tăng lên, nguồn tài nguyên máy tính mà cần tăng lên Đối với công ty lớn Google Microsoft, khai thác nguồn tài nguyên họ cần khơng phải vấn đề lớn Nhưng nói đến doanh nghiệp nhỏ hơn, nguồn tài nguyên lớn trở thành yếu tố lớn tác động đến kinh doanh Với vấn đề lớn sở hạ tầng CNTT máy hỏng, treo ổ cứng, lỗi phần mềm, v.v Đó thật vấn đề đau đầu cho doanh nghiệp Điện tốn đám mây cung cấp giải pháp cho tình trạng Điện toán đám mây dịch chuyển cách mạng việc tính tốn chuyển từ máy tính cá nhân chí máy chủ ứng dụng doanh nghiệp, cá nhân đến đám mây máy tính Đám mây hình tượng để đến tập máy chủ ảo hóa cung cấp nguồn tài nguyên máy tính khác cho khách hàng họ Người sử dụng hệ thống cần quan tâm tới dịch vụ máy tính yêu cầu Cái chi tiết bên hệ thống ẩn khỏi người dùng Các liệu dịch vụ cung cấp nằm trung tâm liệu đám mây có khả mở rộng lớn truy cập đâu, từ thiết bị kết nối giới Điện toán đám mây kiểu tính tốn mà cơng việc CNTT cung cấp dịch vụ internet đến nhiều khách hàng bên ngồi khách hàng tính tiền theo sử dụng dịch vụ họ Nhiều nhà cung cấp điện toán đám mây xuất có tăng trưởng đáng kể việc sử dụng dịch vụ Google, Microsoft, Yahoo, IBM Amazon bắt đầu cung cấp dịch vụ điện toán đám mây Trong Amazon nhà tiên phong lĩnh vực Các công ty nhỏ SmugMug, trang web lưu trữ hình ảnh trực tuyến, có sử dụng dịch vụ điện toán đám mây để lưu trữ tất liệu thực số dịch vụ Tiểu luận mơn học Điện toán đám mây Điện toán đám mây sử dụng lĩnh vực khác web hosting, lập trình song song, dựng hình đồ hoạ, mơ hình tài chính(IBM Clouds), phương pháp duyệt tìm kiếm web(web spider), phân tích gen(Amazon Clouds), v.v Điện tốn đám mây Một điều xảy ngày hơm giới máy tính, liệu chương trình chuyển dịch từ máy tính để bàn văn phịng cơng ty lên máy chủ cài đặt "những đám mây tính tốn", nói chung, có chuyển dịch địa lý việc tính tốn Điện tốn đám mây xác gì? Chúng ta bắt đầu định nghĩa: "Một mơ hình máy tính mới, nơi liệu dịch vụ cư trú trung tâm liệu đám mây truy cập từ thiết bị kết nối qua internet " Điện tốn đám mây mơ hình ngành cơng nghiệp máy tính, nơi việc tính toán lưu trữ liệu chuyển đến đám mây máy tính Nó trở thành công nghệ ý ngành công nghiệp Khái niệm cốt lõi điện toán đám mây, nguồn tài nguyên điện toán to lớn mà cần đặt đám mây kết nối với chúng sử dụng chúng cần thiết Điện tốn mơ tả hoạt động việc sử dụng phát triển phần cứng hay phần mềm máy tính, nghĩa tất thứ từ sức mạnh tính tốn đến khả lưu trữ Đám mây điện toán quan hệ tất thực thể để làm cho chúng thực thể tích hợp quản lý tinh vi Đám mây(cloud) thuật ngữ sử dụng ẩn dụ cho mạng diện rộng (như Internet) mơi trường mạng lớn Nó bắt nguồn từ biểu tượng giống đám mây sử dụng để đại diện cho mạng phức tạp sơ đồ nguyên lý(schematic) Nó đại diện cho tất phức tạp mạng bao gồm thứ từ cáp, router, máy chủ, trung tâm liệu tất thiết bị khác Tính tốn bắt đầu với thời đại máy tính mainframe Đã có mainframe lớn tất người kết nối với chúng thông qua thiết bị đầu cuối câm (dumb terminal) Mơ hình cũ doanh nghiệp máy tính gây nên bất tiện gị bó cho người ngồi thiết bị đầu cuối câm, họ làm họ "ủy quyền" để làm Họ Tiểu luận mơn học Điện tốn đám mây bị lệ thuộc vào quản trị viên máy tính Những nguời quản trị viên máy tính, khơng phải họ, cho phép họ làm việc sửa chữa vấn đề họ Họ có khơng có cách để lại làm việc sáng kiến nảy Các máy tính cá nhân cách mạng nhằm thay đổi áp đặt bất tiện hoạt động tính tốn tập trung Có loại tự việc sử dụng máy tính cá nhân Nhưng điều sau thay kiến trúc máy chủ, với máy chủ doanh nghiệp loại khác thực ngành công nghiệp Điều làm cho chắn tính tốn hồn tất khơng làm trùng lắp nguồn lực có Tất máy tính thực máy chủ Internet tăng trưởng mạnh mẽ nhiều vòng máy chủ Với Điện toán đám mây đến giải cho vấn đề cách đầy đủ Chúng ta trở lại sở hạ tầng điện tốn tập trung Nhưng mơi trường cải tiến thời điểm dễ dàng truy cập thông qua internet nắm tồn quyền điều khiển qua truy cập mạng Đặc điểm điện toán đám mây Một định nghĩa cho điện tốn đám mây đưa mơ hình máy tính mà liệu dịch vụ đặt trung tâm liệu mở rộng đám mây truy cập từ thiết bị qua internet Đám mây điện toán cách để cung cấp dịch vụ khác máy ảo cấp phát tập hợp máy tính vật lý lớn nằm đám mây Điện toán đám mây trở nên tập trung suy nghĩ mà CNTT luôn mong muốn - cách để tăng lực thêm khả khác vào thiết lập mà không cần đầu tư vào sở hạ tầng mới, đào tạo nhân viên cấp giấy phép phần mềm Và đám mây điện toán cung cấp giải pháp tốt Chúng ta có khả tính tốn lớn khả lưu trữ môi trường phân tán đám mây Điện toán đám mây phải làm để khai thác khả tài nguyên làm cho tài nguyên sẵn sẵn sàng thực thể mà thay đổi để đáp ứng nhu cầu người dùng Cơ sở Điện toán đám mây tạo tập máy chủ ảo rộng lớn khách hàng truy cập chúng Bất thiết bị truy cập web sử dụng để truy cập vào nguồn tài nguyên thông qua máy chủ ảo Căn vào tính tốn nhu cầu khách hàng, sở hạ tầng phân bổ cho khách hàng tăng lên hạ xuống Nhìn từ quan điểm kinh doanh, điện tốn đám mây phương pháp để giải Tiểu luận mơn học Điện tốn đám mây khả mở rộng mối quan tâm cho ứng dụng quy mơ lớn, bao gồm việc chi phí Bởi tài ngun phân bổ cho khách hàng dựa nhu cầu khác khách hàng thực mà không phiền phức nào, nguyên cần thiết Một thành tựu quan trọng điện tốn đám mây khái qt xử lý liệu lớn gấp 1000 lần không thiết phải thực với phức tạp 1000 lần thông thường Khi số lượng liệu tăng, đám mây dịch vụ điện tốn sử dụng để quản lý việc tải cách hiệu làm cho công việc xử lý dễ dàng Trong thời đại máy chủ doanh nghiệp máy tính cá nhân, phần cứng tiêu chuẩn cho khả xử lý, chúng phụ thuộc vào cấu hình phần cứng máy chủ Nhưng với đời đám mây máy tính, hàng hóa thay đổi với chu kỳ byte - tức dịch vụ điện tốn đám mây, người dùng tính dựa số lượng chu trình thực số lượng byte dịch chuyển Các phần cứng máy mà ứng dụng chạy ẩn khỏi người sử dụng Số lượng phần cứng cần thiết cho tính tốn thực trình quản lý nói cách khái quát khách hàng tính chi phí dựa cách ứng dụng sử dụng nguồn tài nguyên Những Đặc Điểm Của Điện Toán Đám Mây: 2.1 Tự Sửa Chữa: Bất kỳ ứng dụng dịch vụ chạy mơi trường điện tốn đám mây có tính chất tự sửa chữa Trong trường hợp ứng dụng thất bại, ln ln có dự phịng tức thời ứng dụng sẵn sàng công việc không bị gián đoạn Có nhiều ứng dụng - cập nhật thường xun lần thất bại, có ứng dụng lấy lên hoạt động mà chí khơng cần thay đổi nhỏ trạng thái chạy 2 Nhiều người sử dụng: Với điện toán đám mây, ứng dụng hỗ trợ đa người dùng - khái niệm dùng để nhiều người sử dụng đám mây thời gian Hệ thống cho phép số khách hàng chia sẻ sở hạ tầng phân bổ cho họ mà không họ nhận biết chia sẻ Điều thực việc ảo hóa máy chủ dải máy tính sau cấp phát máy chủ đến nhiều người sử dụng Điều thực theo cách mà riêng tư người sử dụng bảo mật liệu họ không bị tổn hại Tiểu luận môn học Điện toán đám mây 2.3 Khả mở rộng tuyến tính: Dịch vụ điện tốn đám mây có khả mở rộng tuyến tính Hệ thống có khả phân chia luồng công việc thành phần nhỏ phục vụ qua sở hạ tầng Một ý tưởng xác khả mở rộng tuyến tính lấy từ thực tế máy chủ xử lý 1000 giao dịch giây, hai máy chủ xử lý 2.000 giao dịch giây 2.4 Hướng dịch vụ: Hệ thống Điện toán đám mây tất dịch vụ theo định hướng – dịch vụ tạo từ dịch vụ rời rạc khác Rất nhiều dịch vụ rời rạc kết hợp nhiều dịch vụ độc lập khác với để tạo dịch vụ Điều cho phép việc tái sử dụng dịch vụ khác sẵn có tạo Bằng việc sử dụng dịch vụ tạo trước đó, dịch vụ khác tạo từ 2.5 Điều khiển SLA(Service level agreement): Thơng thường doanh nghiệp có thỏa thuận số lượng dịch vụ Khả mở rộng vấn đề có sẵn làm cho thỏa thuận bị phá vỡ Tuy nhiên, dịch vụ điện toán đám mây hướng SLA, việc hệ thống có kinh nghiệm đạt đỉnh tải, tự động điều chỉnh để tn thủ thỏa thuận cấp độ dịch vụ Các dịch vụ tạo thêm thực thể ứng dụng nhiều server việc tải dễ dàng quản lý 2.6 Khả ảo hóa: Các ứng dụng điện tốn đám mây hồn tồn tách rời khỏi phần cứng nằm bên Mơi trường điện tốn đám mây mơi trường ảo hóa đầy đủ 2.7 Linh hoạt: Một tính khác dịch vụ điện tốn đám mây chúng linh hoạt Chúng dùng để phục vụ nhiều loại công việc có khối lượng khác từ tải nhỏ ứng dụng nhỏ tải nặng ứng dụng thương mại Sự cần thiết điện toán đám mây Một câu hỏi đặt làm cách để tăng lực tính tốn lưu trữ liệu lên hàng nghìn lần so với dùng phần cứng chỗ? Câu hỏi làm đau đầu nhà phát triển hệ thống, với đời mạng internet vấn đề giải Tiểu luận môn học Điện toán đám mây xuất dịch vụ điện toán đám mây Điện toán đám mây dịch vụ tính tốn lưu trữ nhà cung cấp dịch vụ cung cấp cho khách hàng, lực tính tốn lưu trữ liệu có khả tăng lên hàng nghìn lần so với việc dùng hệ thống tính tốn truyền thống khách hàng, điều phụ thuộc vào lực nhà cung cấp dịch vụ không phụ thuộc vào hệ thống chỗ khách hàng, mà thường máy nhà cung cấp dịch vụ thường máy có lực tính tốn lớn để cung cấp cho nhiều người So với hệ thống máy tính truyền thống điện tốn đám mây có nhiều ưu điểm vượt trội Ưu điểm tài nguyên hệ thống, giả sử với công ty trang bị hệ thống tính tốn truyền thống cần phải xây dựng hệ thống mạnh đủ để phục vụ công việc cho cơng ty Điều đồng nghĩa với việc chi phí lắp đặt hệ thống ban đầu tốn kém, hệ thống cơng ty cần phải có người quản trị hệ thống tốn thêm tài nguyên nhân lực, chi phí cho lượng tiêu thụ hệ thống cao Thêm vào lãng phí tài ngun mà hệ thống khơng sử dụng hết cơng suất Điều cho thấy đầu tư vào hệ thống máy tính theo kiểu truyền thống tốn lãng phí Và cơng ty sử dụng điện tốn đám mây khơng phải tốn người quản trị, lượng tiêu thụ cho hệ thống khơng cịn vấn đề, đặc biệt tài ngun khơng sử dụng khơng bị lãng phí cơng ty trả tiền cho phần tài nguyên mà họ sử dụng, phần tài nguyên lại người cung cấp dịch vụ cung cấp cho công ty khác Một ưu điểm điện toán đám mây khả truy cập sử dụng tài nguyên lúc nơi mà ta có máy tính bình thường nối mạng internet, ta thực phép tính khổng lồ sử dụng khối lượng liệu lớn với máy tính đơn giản Vấn đề quyền phần mềm vấn đề nan giải cơng ty mà phần mềm có giá q cao Với điện tốn đám mây cần nhà cung cấp dịch vụ bỏ tiền mua quyền tất khách hàng họ sử dụng phần mềm có quyền thật mà khơng phải bỏ số tiền lớn để mua quyền mà họ chi phải trả tiền cho họ dùng Tiểu luận mơn học Điện tốn đám mây Bên cạnh điện tốn đám mây có nhược điểm cố định Với điện tốn đám mây người dùng không thực an tâm liệu họ tài ngun thật khơng cịn riêng họ mà nằm đám mây nhà cung cấp dịch vụ Theo bảo mật liệu vấn đề làm lo lắng cho người dùng Và có cố mạng internet người dùng khơng thể làm việc với liệu họ Cơng nghệ Tiểu luận mơn học 10 Điện tốn đám mây thực điều cách Người dùng trả tiền lưu lượng sử dụng hệ thống, nói dịch vụ tính chu kỳ CPU byte Thực tế số tiền mà khách hàng phải trả thường tính dựa vào lưu lượng dùng CPU số Gb liệu di chuyển 4.2 Kiến trúc máy chủ: Điện toán đám mây tạo thành cách sử dụng tài nguyên vật lý lớn từ nhiều máy chủ đám mây nhà cung cấp dịch vụ Đây ứng dụng nguyên tắc kết hợp vào tốn cần hệ thống tính tốn lớn mà thiết bị sở vật chất không cho phép nên cần phải ghép thiết bị, hệ thống nhỏ lại với để trở thành hệ thống lớn đáp ứng nhu cầu lớn cho người sử dụng hệ thống yêu cầu tính tốn lưu trữ lớn Như nói bên trên, dịch vụ ứng dụng điện toán đám mây dựa Tiểu luận mơn học 12 Điện tốn đám mây máy chủ ảo thiết kế từ tài nguyên góp lại Có hai ứng dụng (hoặc hệ điều hành) giúp quản lý thể máy đám mây, quản lý tất tài nguyên thể máy chủ ảo Đây ứng dụng nguyên lý tách khỏi vào hệ thống điện toán đám mây nhằm tách biệt phần cứng phức tạp hệ thống vói giao diện bên Nhằm tạo giao diện người dùng đơn giản, dễ sử dụng so với phần cứng phức tạp bên để tách biệt giao diện người dùng với hệ thống phần cứng, người dùng cần quan tâm đến ứng dụng mà học cần không cần quan tâm đến phần cứng bên thực Ứng dụng thứ Xen hypervisor cung cấp lớp trừu tượng phần cứng hệ điều hành ảo, nhờ phân tán tài nguyên tiến trình quản lý giống thực máy Ứng dụng thứ hai sử dụng rộng rãi hệ thống quản lý máy chủ ảo Enomalism, sử dụng để quản lý hạ tầng phần cứng tảng Khi Xen sử dụng cho lớp ảo sở hạ tầng máy chủ, lớp phần mềm Xen hypervisor cài đặt máy chủ hệ điều hành Nó cung cấp lớp trừu tượng cho phép server vật lý chạy nhiều máy chủ Tiểu luận môn học 13 Điện toán đám mây ảo, tách riêng hệ điều hành ứng dụng khỏi lớp phần cứng vật lý bên Xen hypervisor công nghệ mã nguồn mở, cộng tác phát triển Xen kỹ sư 20 công ty tiếng trung tâm liệu có tính chất đổi bao gồm : AMD, Cisco, Dell, HP, IBM, Intel, Mellanox, Network Appliance, Novell, Red Hat, SGI, Sun, Unisys, Veritas, Voltaire, and Citrix Xen đăng ký GNU General Public License (GPL2) sử dụng không thay đổi mã nguồn định dạng đối tượng Xen Hypervisor đặc biệt ngắn - 50.000 dịng mã Vì chi phí dịch mã code thấp hiệu suất gần giống máy nguyên thủy Xen tái sử dụng trình điều khiển thiết bị có (đối với hai loại mở đóng mã nguồn) từ Linux, làm cho thiết bị quản lý dễ dàng Hơn Xen mạnh mẽ để điều khiển lỗi bảo vệ người dùng hypervisor khỏi vấn đề với lỗi từ driver độc hại Hệ thống quản lý máy chủ ảo Enomalism tảng hạ tầng sở máy chủ ảo hoàn chỉnh Enomalism quản lý ảnh hưởng tài nguyên hệ thống Enomalism sử dụng để dẫn luồng tính tốn vào đám mây giống luồng từ khách hàng vào thực tính tốn máy chủ từ xa Nó mang tất tính như: triển khai kế hoạch tính tốn, cân tải, tránh xung đột tài nguyên… Enomalism ứng dụng mã nguồn mở, có giao diện người dùng dựa web đơn giản dễ sử dụng Nó có kiến trúc phần dễ dàng cho phép tạo thêm vào hệ thống bổ sung tiện ích cần thiết cho việc sử dụng Nó hỗ triển khai tổ chức phân tán tạo ứng dụng dựa tổng quang chung Nó hỗ trợ quản lý trường ảo khác gồm KVM/Qemu, Amazon EC2 and Xen, OpenVZ, Linux Containers, VirtualBox Nó có chế độ phân quyền người dùng đặt quyền truy cập 4.3 MAP REDUCE Map Reduce mơ hình lập trình, Google phát triển vào năm 2003, để hỗ trợ cho q trình tính tốn song song số lượng tập liệu cực lớn (vài tỷ byte) Tiểu luận mơn học 14 Điện tốn đám mây lưu trữ cụm máy tính thành phần đám mây điện tốn Trong mơ hình này, người dùng định nghĩa hàm map để tính tốn cặp khóa/giá trị đầu vào tạo nên tập cặp khóa/giá trị tạm thời, sau hàm reduce gom nhóm tất giá trị tạm thời có chung khóa lại với cho kết mong muốn Rất nhiều tác vụ đời sống thực thực thi mơ hình này,chúng ta xem xét cụ thể phần sau Chương trình viết theo kiểu chức song song hóa cách tự động thực thi cụm lớn “máy tính hàng hóa” (các máy tính thành phần cấu tạo nên đám mây điện toán) Hệ thống chạy quan tâm chi tiết phân vùng liệu đầu vào, lập lịch trình thực thi chương trình thơng qua tập máy tính thành phần, xử lý lỗi quản lý kết nối nội máy tính thành phần Điều cho phép lập trình viên chưa có kinh nghiệm hệ thống song song phân tán dễ dàng tối ưu hóa tài nguyên hệ thống phân tán lớn Trong vòng vài năm trước đây, kỹ sư Google phải khởi tạo hàng trăm trình tính tốn dành cho mục đích đặc biệt số lượng lớn liệu thô liệu móc nối, nhật ký trang web yêu cầu…Các q trình tính tốn dùng cho nhiều mục đích khác tóm tắt số lượng trang móc nối host, tính tần số truy xuất trang web, tìm tập câu truy vấn dùng nhiều ngày…Hầu hết tính tốn khơng phức tạp,nhưng liệu đầu vào thường lớn q trình tính tốn cần phải phân tán cho hàng trăm ngàn máy nhằm thực thi khoảng thời gian cho phép Các vấn đề việc song song hóa tính toán,phân tán liệu quản lý lỗi làm cho q trình tính tốn vốn đơn giản trở nên vô phức tạp Để giải vấn đề, kỹ sư Google thiết kế mơ hình trừu tượng cho phép diễn tả q trình tính tốn cách đơn giản nó, đồng thời che dấu chi tiết phức tạp việc song song hóa, chấp nhận lỗi, cân nạp, phân tán liệu thư viện riêng Sự trừu tượng hóa lấy ý tưởng từ thành phần map reduce Lisp nhiều loại ngôn ngữ lập trình hàm khác Chúng ta nhận thấy hầu hết q trình tính tốn bao gồm thao tác map, ánh xạ đầu vào với giá trị “bản ghi” để thực việc tính tốn giá trị thành tập cặp khóa/giá trị tạm thời, sau ta lại tạo thêm thao tác reduce, thu gọn giá trị mà có key lại với cho kết quả.Việc sử dụng mô hình hàm chức map reduce cho phép Tiểu luận mơn học 15 Điện tốn đám mây thực thi song song tính tốn lớn dễ dàng sử dụng q trình thực thi lại chế chấp nhận lỗi Các mạnh phương pháp cung cấp cho giao diện đơn giản mạnh mẽ, cho phép song song hóa phân tán liệu phép toán lớn cách tự động, giúp cho ta thu hiệu cao số lượng lớn cụm máy tính thành phần đám mây điện toán Ở phần sau xem xét mơ hình lập trình MapReduce vài ví dụ đơn giản Mơ hình lập trình Q trình tính tốn nhận cặp giá trị đầu vào gồm khóa/giá trị, tính tốn cho tập cặp khóa/giá trị đầu Người dùng sử dụng thư viện MapReduce để diễn tả q trình thơng qua hai hàm Map Reduce Map hàm định nghĩa người dùng, nhận cặp giá trị đầu vào tạo cặp giá trị trung gian.Thư viện MapReduce nhóm tất giá trị trung gian có liên quan tới key I lại với chuyển cho hàm Reduce Hàm Reduce viết người dùng, chấp nhận key I tập giá trị trung gian key I Sau tiến hành hợp giá trị thành tập giá trị nhỏ Một lần nguyên tắc kết hợp lại sử dụng hệ thống điện toán đám mây nhằm phục vụ cho thuật toán giải yêu cầu toán, sau chia nhỏ chương trình lớn thành phần nhỏ để thực tính tốn cách song song nhằm làm giảm thời gian thực tốn hệ thống tiến hành kết hợp kết tính tốn từ tiến trình nhỏ song song lại với để đưa kết tính tốn thống chương trình tính tốn mà người dùng u cầu Thơng thường có giá trị output đưa từ hàm Tiểu luận mơn học 16 Điện tốn đám mây Reduce khơng có giá trị Ví dụ: Giả sử có tốn đếm số lần xuất từ tài liệu lớn, người dùng cần phải viết đoạn code tương tự với mã giả sau đây: map(String key,String value): //key: tên tài liệu //value:nội dung tài liệu Với chữ w value : EmitIntermediate(w,”1”); reduce(String key,Iterator values): //key: chữ cần đếm //values:danh sách số đếm map int result = 0; với giá trị v values: result += ParseInt(v); Emit(AsString(result)) ; Hàm map thêm vào từ số tương ứng với số lần xuất (trong ví dụ đơn giản ‘1’) Hàm reduce làm nhiệm vụ cộng tất số đếm từ Sau đó, người dùng cần phải thực thêm thủ tục khai báo đặc tả đối tượng mapreduce với tên file input, output biến tùy chỉnh Người dùng sau Tiểu luận mơn học 17 Điện tốn đám mây gọi hàm MapReduce, chuyển cho đối tượng đặc tả trên, lúc đoạn code người dùng liên kết lại thông qua thư viện MapReduce Tổng quan trình thực thi Quá trình gọi thực thi hàm Map phân tán nhiều máy thành viên đám mây điện toán cách tự động phân vùng giá trị đầu vào thành gồm M phần Các phần tính tốn song song máy khác Tương tự hàm Reduce phân tán cách phân vùng khóa giá trị trung gian thành R mảnh hàm phân vùng (ví dụ hash(key) mod R) Số lượng R hàm phân vùng rõ người dùng Hình bên cho nhìn tổng quát luồng thực thi thao tác MapReduce Khi người dùng gọi hàm MapReduce tác vụ sau diễn cách tuần tự: • Thư viện MapReduce chương trình người dùng chia nhỏ file đầu vào thành M mảnh (thơng thường kích thước mảnh từ 16-64MB,có thể Tiểu luận mơn học 18 Điện tốn đám mây điều chỉnh thông qua tham số tùy chọn) Ở đây, hệ thống điện toán đám mây đưa nguyên tắc chia nhỏ vào để thực q trình tính tốn Với chương trình lớn mà tính tốn lần tốn nhiều thời gian không hiệu quả, để tiếc kiệm thời gian thực thi chương trình, hệ thống tiến hành chia chương trình lớn thành tiến trình nhỏ để thực tính tốn vi xử lý (hệ thống phần cứng song song tạo nên hệ thống điện toán đám mây) để tiến hành tính tốn chương trình song song để cuối gộp lại kết Tiếp theo, tạo nhiều chương trình cụm máy tính đám mây điện toán Nguyên tắc chép đưa vào ứng dụng hệ thống điện toán đám mây, cụm máy tính đám mây điện tốn thực tiến trình mà chương trình giao phó, tiến trình tạo nhiều máy tính cụm máy tính thực • Một số chương trình chương trình master Các chương trình cịn lại worker, chương trình thực thi tác vụ master giao phó Có tất M tác vụ Map R tác vụ Reduce cần thực thi Chương trình master chọn worker rãnh rỗi để gán cho tác vụ Map Reduce • Worker gán thực thi tác vụ Map đọc nội dung mảnh giá trị đầu vào tương ứng, phân tích giá trị đầu vào thành cặp khóa/giá trị chuyển chúng đến cho hàm Map người dùng tự định nghĩa Các cặp giá trị key/value trung gian (kết hàm Map) lưu vào nhớ đệm • Sau đó, cặp giá trị vùng nhớ đệm ghi xuống vùng nhớ địa phương, phân thành R vùng Vị trí cặp khóa/giá trị (trên nhớ địa phương) chuyển cho master Chương trình master sau chuyển vị trí chúng cho worker gán tác vụ Reduce • Khi worker thực thi tác vụ Reduce nhận vị trí vùng nhớ từ master, dùng lời gọi thủ tục từ xa (RPC- Remote Procedure Call) để đọc giá trị Sau worker đọc xong tất cặp giá trị trung gian này, xếp lại chúng theo khóa cách gom nhóm cặp có khóa lại với Nếu số lượng file trung gian lớn so với nhớ phải cần có hàm xếp ngồi • Sau worker thực thi tác vụ Reduce chuyển khóa tập liệu tương ứng đến hàm Reduce người dùng định nghĩa, kết output thu kết cuối Tiểu luận môn học 19 Điện tốn đám mây • Sau tất tác vụ Map Reduce hồn tất, chương trình master gọi đến chương trình user program, trả đoạn code chương trình Chấp nhận lỗi Thư viện MapReduce thiết kế để giúp tính tốn lượng liệu vô lớn hàng trăm hàng ngàn máy, chúng cần phải có chế chấp nhận lỗi Đây áp dụng nguyên tắc tự phục vụ vào hệ thống điện toán đám mây, đám mây điện tốn có khả tự phục hồi lại hoạt động hệ thống xảy số lỗi q trình thực thi phần nhỏ hệ thống tính tốn • Lỗi xảy Worker Để kiểm tra lỗi worker,chương trình master tiến hành ping máy worker sau khoảng thời gian định, worker khơng trả lời Master xem xảy lỗi, tác vụ map hay reduce thực thi worker lỗi tiến hành reset lại gán cho worker khác Ở có áp dụng nguyên tắc linh động để khắc phục lỗi hệ thống, chương trình chia nhỏ thành tiểu trình nên tiểu trình giống linh động thực thi phần cứng vi xử lý khác tiểu trình bị lỗi tiểu trình khác thay để thực nhiệm vụ hệ thống giao phó Đối với tác vụ map hoàn tất worker lỗi phải tiến hành reset lại kết trung gian lưu trữ vùng nhớ địa phương truy cập đến chúng Đối với tác vụ reduce ngược lại, ta khơng cần phải reset chúng kết cuối tác vụ lưu vùng nhớ tồn cục, ta truy xuất chúng cách dễ dàng • Lỗi xảy Master Nhằm khơi phục master trường hợp xảy lỗi, master tiến hành ghi checkpoint sau khoảng thời gian cố định Khi lỗi xảy đoạn checkpoint lưu Nhưng có master master bị lỗi tồn q trình tính tốn MapReduce bị hủy, client phải kiểm tra trường hợp tự khởi động lại trình muốn Tác vụ backup Đây áp dụng nguyên tắc dự phòng vào việc giải tốn đám mây điện tốn, giúp cho hoạt động tính tốn khơng bị sử Tiểu luận mơn học 20 Điện tốn đám mây cố Một nguyên nhân thường xảy làm tăng thời gian hoàn tất tác vụ MapReduce “straggler” ”Straggler” máy có khoảng thời gian hoàn tất số tác vụ cuối Map Reduce dài cách bất thường ”Straggler” máy số máy hệ thống đám mây sử dụng Có nhiều ngun nhân tạo nên “straggler”, ví dụ máy tính hệ thống có ổ đĩa cứng khơng tốt, hoạt động gặp số trục trặc làm giảm tốc độ truy xuất bình thường ổ cứng từ 30Mb/s xuống thành 1Mb/s chẳng hạn Hệ thống lặp lịch cho cụm máy tính lúc phải gán tác vụ khác cho máy nguyên nhân làm chậm tốc độ thực thi MapReduce (dựa so sánh tốc độ CPU, truy xuất nhớ, hệ thống lưu trữ máy địa phương, băng thông mạng) Một vấn đề mà Google gặp phải lỗi đoạn code khởi tạo tác vụ MapReduce, làm cho cache CPU khơng thể hoạt động, q trình tính tốn máy tính bị lỗi mà giảm xuống khoảng 100 lần Google tạo phương pháp nhằm giảm bớt tác hại “straggler” gây Khi tác vụ MapReduce gần hoàn tất, master tạo tác vụ back up cho tác vụ thực thi gán cho workers rãnh rỗi thực Quá trình MapReduce kết thúc tác vụ nguyên thủy tác vụ back up hoàn tất Đối với tác vụ MapReduce nhỏ, phương pháp giúp cải thiện hiệu vài phần trăm, tác vụ MapReduce lớn chúng giúp cải thiện hiệu đáng kể Bên biểu đồ so sánh tốc độ thực thi chương trình xếp viết theo Tiểu luận mơn học 21 Điện tốn đám mây MapReduce Google Chương trình thực xếp khoảng tetrabyte liệu Biểu đồ tốc độ đọc giá trị input,biểu đồ bên tốc độ thực xếp cuối tốc độ xuất kết quả.Biểu đồ (a) thể tốc độ thực thi tác vụ MapReduce hoạt động bình thường khơng có straggler, biểu đồ (b) thực gặp phải straggler hóa trình kết thúc tác vụ mà khơng dùng chế backup,biểu đồ (c) dùng chế backup trình thực thi MapReduce Chúng ta nhận thấy tốc độ thực thi bình thường vào khoảng 1057s, gặp phải straggler mà khơng có chế backup ta phải 1283s, cuối áp dụng chế backup phải bỏ 200 tác vụ straggler gây đạt tốc độ 933 giây 5% so với tốc độ thực thi bình thường lại tăng 44% so với tốc độ thực thi gặp phải straggler 4.4 GOOGLE FILE SYSTEM (GFS) Google file system hệ thống liệu phân tán Google phát triển dành cho ứng dụng lớn Nó thiết kế nhằm đem lại truy xuất liệu tin cậy hiệu cho liệu cụm lớn máy tính thành phần đám mây điện tốn Nó cung cấp chế độ chấp nhận lỗi để chạy hệ thống phần cứng có u cầu khơng cao, đem lại hiệu tổng hợp tốt số lượng lớn máy client Các file chia thành khúc liệu 64Mb,các liệu thường đọc với cường độ cao nhiều so với ghi xóa Nó thiết kế tối ưu hóa dành cho cụm máy tính lớn bao gồm máy tính có phần cứng nghèo nàn, phải có khả chịu cường độ lỗi lớn node độc lập khả mát liệu Ở số thiết kế khác cho hệ thống liệu phân tán thường tối ưu hóa thông lượng liệu Cấu trúc Google File System Một cụm GFS chức máy Master nhiều máy Chunkserver truy xuất nhiều client hình bên dưới.Một máy vừa client truy xuất liệu từ chunkserver khác vừa chunkserver lưu trữ liệu, nhiên cần phải đảm bảo tránh xung đột không làm giảm tốt độ thực thi Các file chia thành mảnh có kích thước xác định Mỗi mảnh Master gán cho tên không thay đổi dài 64 bit thời điểm khởi tạo mảnh Các chunkserver lưu trữ mảnh file Linux Để đảm bảo độ tin cậy cao, mảnh file lập lưu trữ nhiều chunkserver khác nhau, mặc định Tiểu luận mơn học 22 Điện tốn đám mây lưu trữ Node Master không thường lưu trữ phân khúc liệu nào,nó lưu trử siêu liệu liên quan đến phân khúc ánh xạ nhãn 64-bit đến vị trí lưu trữ vật lý vị trí file gốc, vị trí tất liệu, tiến trình đọc ghi lên phân khúc, tình trạng phân khúc ảnh của phân khúc để dành cho việc tạo thêm sao…Các siêu liệu update liên tục chunkserver sau khoảng thời gian cố định Ngồi node Master ln giữ kết nối kiểm tra trạng thái chunkserver gửi nhận thông điệp phản hồi liên tục sau khoảng thời gian cố định Chúng ta phân tích tiến trình đọc file đơn giản theo hình bên Đầu tiên dựa vào kích thước cố định quy ước trước mảnh liệu,client dùng chương trình biên dịch tên file byte offset thành danh mục mảnh liệu chứa file Sau gửi đến node master yêu cầu có chứa tên file danh mục mảnh liệu Master phản hồi lại với trỏ mảnh liệu vị trí theo yêu cầu client Các client lưu trữ thông tin nhớ cache sử dụng chúng chìa khóa phép truy xuất liệu Sau client tiến hành gửi yêu cầu truy xuất liệu đến thường gần Trong yêu cầu truy xuất client phải có trỏ mang địa mảnh phạm vi byte cần truy xuất ttrong mảnh Các trình đọc khơng cần có kết nối đến node master thông tin lưu trữ nhớ Tiểu luận mơn học 23 Điện tốn đám mây cache bị xóa Trong thực tế client thường u cầu cho phép truy xuất đến nhiều mảnh liệu lưu trữ nhiều nơi khác lúc node master gửi thơng tin cần thiết cho client cách tức thời Trái ngược với hệ thống file thông thường,GFS không khởi tạo nhân hệ điều hành mà chúng truy xuất thông qua thư viện riêng nhằm tránh hao phí lớn Kích thước mảnh Kích thước mảnh liệu tham số vô quan trọng thiết kế.Google chọn kích thước 64MB, lớn block hệ thống liệu truyền thống.Mỗi mảnh liệu lưu trữ chunkserver hạt nhân Linux,nó mở rộng cần thiết Một kích thước mảnh liệu lớn cho nhiều lợi Đầu tiên giảm số lượng kết nối client đến node master việc đọc ghi mảnh liệu đòi hỏi lần gửi yêu cầu đến node master để lấy vị trí mảnh liệu Điều làm tăng hiệu chương trình nhiều đa số chương trình đọc ghi file có kích thước lớn cách Ngay thao tác đọc ngẫu nhiên nhỏ máy client dễ dàng lưu nhớ cache thông tin vài TetraByte mảnh liệu Thứ hai,vì kích thước mảnh liệu lớn nên client thường xuyên thực thi nhiều tác vụ khác (đọc,ghi ) mảnh liệu, điều làm giảm hao phí mạng lúc cần trì kết nối từ client đến chunkserver thay phải khởi tạo nhiều kết nối khác Thứ ba giúp làm giảm kích thước siêu liệu lưu trữ máy Master, điều cho phép lưu trữ siêu liệu nhớ Master làm tăng tốc độ phản hồi đến máy client 4.5 HADOOP Hadoop framework dùng để chạy ứng dụng cụm phần cứng khơng địi hỏi cao cấu hình Hadoop khởi tạo sơ đồ cho q trình tính tốn tên MapReduce mà nói phần trước Chương trình ứng dụng chia thành nhiều mảng nhỏ khác nhau,các mảnh thực thi node cụm máy tính Thêm vào cung cấp hệ thống file phân tán node tính tốn, cung cấp băng thơng tổng hợp cao cụm máy tính Cả MapReduce hệ thống file phân tán thiết kế cho có lỗi xảy node chúng quản lý framework Hadoop viết ngơn Tiểu luận mơn học 24 Điện tốn đám mây ngữ Java Các tác vụ pha thực thi chế chấp nhận lỗi Nếu nhiều node xảy lỗi trình tính tốn tác vụ gán cho node bị lỗi được phân tán ta cho node cịn lại Đối với MapReduce tác vụ Map Reduce có độ cân nạp rật tốt,điều cho phép tác vụ xảy lỗi thực thi lại với chi phí nhỏ Framework Hadoop MapReduce có cấu trúc chủ/tớ Nó có server master hay cịn gọi jobTracker nhiều slave hay gọi taskTrackers JobTracker điểm kết nối người dùng framework Người dùng gửi công việc lên jobTracker, công việc đưa vào hàng đợi xử lý theo ngun tác FIFO Sau jobTracker gán cơng việc cho taskTracker Các taskTracker xử lý tác vụ quản lý di chuyển liệu trình Map Reduce Hadoop có ứng dụng rộng rãi hệ thống đám điện tốn cung cấp chế sử dụng tài nguyên hệ thống tối ưu, chi phí thấp Amazon sử dụng Hadoop để phân tích hàng trăm triệu session giao dịch Báo NewYork Times sử dụng Hadoop cho việc xử lý hình ảnh Yahoo sử dụng Hadoop cho cơng cụ tìm kiếm hỗ trợ cho hệ thống khảo sát quảng cáo… Tổng kết Điện toán đám mây khái niệm trừu tượng vô rộng lớn, với nhiều mặt nhiều khía cạnh khác nhau, nhóm tham khảo tìm hiểu từ nhiều tài liệu nghiên cứu Google, nhiều trường đại học danh tiếng khác giới, hạn chế thời gian môn học nên nhóm khơng thể phân tích tồn diện mơ hình điện tốn đám mây Tuy nhiên báo cáo cho nhìn tổng quan số hiểu biết định công cụ điện tốn mạnh Tiểu luận mơn học 25 Điện toán đám mây Tài liệu tham khảo http://www.google.com http://www.ibm.com/ http://www.amazon.com/ Tiểu luận môn học 26 ... học 10 Điện tốn đám mây 4.1 Kiến trúc ứng dụng điện toán đám mây Bây vào tìm hiểu cấu trúc điện toán đám mây, biết điện toán đám mây tổ hợp tính tốn dựa thiết bị hạ tầng phần cứng đám mây nhà.. .Điện tốn đám mây MỤC LỤC TĨM TẮT NỘI DUNG VÀ GIỚI THIỆU ĐỀ TÀI Điện toán đám mây Các đặc điểm điện toán đám mây Sự cần thiết điện toán đám mây. .. Đặc điểm điện tốn đám mây Một định nghĩa cho điện tốn đám mây đưa mơ hình máy tính mà liệu dịch vụ đặt trung tâm liệu mở rộng đám mây truy cập từ thiết bị qua internet Đám mây điện toán cách