3. Kiến trúc của CloudSim
CloundSim là một mô phỏng về điện toán đám mây cho nên kiến trúc của CloudSim được chia thành nhiều lớp với các thành phần của Cloud
- Tại tầng thấp nhất là SimJava thư viện mô phỏng sự kiện rời rạc cho java thực hiện các chức năng cần thiết cho mô phỏng cấp cao hơn khuôn khổ như hằng đợi và xử lý các sự kiện, tạo ra các thành phần hệ thống (dịch vụ, lưu trữ, trung tâm dữ liệu, môi giới, các máy ảo ), thông tin liên lạc giữa thành phần, và quản lý của đồng hồ mô phỏng.
- Tầng tiếp là thư viện thực hiện GridSim bộ công cụ mô hình hóa và mô phỏng tài nguyên phân phối quản lý và lập kế hoạch có hỗ trợ các thành phần phần mềm cấp cao cho mô hình hóa nhiều cơ sở hạ tầng lưới điện, bao gồm cả mạng lưới và cách thức trao đổi, và các thành phần cơ bản của Grid như các nguồn lực, tập hợp dữ liệu, khối lượng công việc dịch vụ và thông tin.
- Các CloudSim được thực hiện ở cấp độ tiếp theo lập trình mở rộng các chức năng cốt lõi tiếp xúc của lớp GridSim. CloudSim cung cấp mới hỗ trợ cho mô hình hóa và mô phỏng ảo hóa Cloudbased môi trường trung tâm dữ liệu như dành riêng giao diện quản lý cho máy ảo, bộ nhớ, lưu trữ, và băng thông. Lớp CloudSim quản lý và điều khiển thực hiện các đơn vị cốt lõi (máy ảo, máy chủ, trung tâm dữ liệu,ứng dụng) trong thời gian mô phỏng .
- Những vấn đề cơ bản như trích lập dự phòng của mô phỏng để máy ảo dựa trên người dùng yêu cầu, thực hiện ứng dụng quản lý và năng động giám sát được xử lý bởi CloudSim. Một máy chủ đám mây có thể được đồng thời chia sẻ giữa một số máy ảo mà thực hiện các ứng dụng dựa trên thông số kỹ thuật QoS (Quality of Service) người dùng định nghĩa.
-Lớp trên cùng là Uers code ở đó cho thấy nhiều cấu hình liên quan đến chức năng cho host như số máy ảo, đặc điểm kỹ thuật của các máy ảo, ứng dụng như số nhiệm vụ và yêu cầu của nó, số lượng người dùng và các loại ứng dụng của người dùng, và chính sách lập kế hoạch môi giới. Một nhà phát triển ứng dụng đám mây có thể tạo ra một kết hợp của yêu cầu sử dụng phân phối, ứng dụng, cấu hình, và các kịch bản có sẵn như trên Cloud và thực hiện các bài kiểm tra mạnh mẽ dựa trên tùy chỉnh cấu hình Cloud đã được hỗ trợ trong CloudSim.
3.1. Mô hình Cloud
Kiến trúc dịch vụ nền tảng liên quan đến Cloud được mô hình hóa trong chương trình mô phỏng bởi thành phần Datacenter cho việc quản lý yêu cầu dịch vụ. Datacenter được tạo bởi các tập hợp các Host, có trách nhiêm để quản lý các máy ảo VM trong chu kì sống của chúng. Các Host là những thành phần biểu thị cho các nút trong Cloud: nó được cài đặt sẵn khả năng xử lý (biểu diễn qua đơn vị MIPS = milion of instruction per second), bộ nhớ, khả năng lưu trữ và chính sách định thời để xử lý việc cấp phân phát lõi tính toán cho các máy ảo. Các thành phần máy Host thực giao diện hỗ trợ mô hình hóa và mô phỏng cho cả những nút một nhân và đa nhân.
Việc phân phối máy ảo phục vụ cho ứng dụng cụ thể nào đó đến các thành phần Host là trách nhiệm của thành phần Virtual Machine Provisioner. Thành phần này cung cấp một tập các phương thức cho người nghiên cứu, với những hỗ trợ trong việc thực hiện chính sách mới dựa trên những mục tiêu về tối ưu. Những chính sách mặc định hiện có sẵn rất giản đơn theo hướng ai đến trước sẽ được phục vụ trước.
Với mỗi thành phần Host, sự cấp phát các lõi tính toán tới các máy ảo được thực hiện dựa trên việc cấp phát của host. Những chính sách tìm xem trong tài khoản có bao nhiêu lõi tính toán được giao cho mỗi máy ảo và bao nhiêu khả năng còn sẵn. Do vậy, có thể cấp phát lõi CPU cho máy ảo cụ thể hay là phân tán động giữa các máy ảo (chia sẻ theo thời gian) và gán lõi cho máy ảo theo yêu cầu hoặc là theo một chính sách cụ thể nào đó.
Mỗi thành phần Host khởi tạo một bộ định thời máy ảo thực hiện việc cấp phát theo không gian hay thời gian. Những người nghiên cứu hay phát triển Cloud có thể mở rộng bộ định thời máy ảo VM để thử nghiệm với một vài chính sách cấp phát. Kế đến chi tiết liên quan đến chính sách chia sẻ theo thời gian và không gian sẽ được đề cập.
3.2. Mô hình cấp phát máy ảo
Một trong những ý tưởng khiến Cloud computing khác biệt với Grid computing là việc triển khai tối đa công nghệ ảo hóa và các công cụ hỗ trợ.
Mô hình ứng dụng cổ điển ánh xạ cách chính xác các nút tính toán và các ứng dụng riêng rẽ không còn phù hợp trong sự trừu tượng hóa tính toán trong môi trường Cloud. Ví dụ như hai Datacenter chạy trên một Host có một nhân. Mặc dù có vẻ như có sự tách biệt nhưng tổng lượng tài nguyên sẵn có bị ràng buộc bởi năngblực của host. Những yếu tố quan trọng này cần được xem xét trong tiến trình xem xét quyết định cấp phát tài nguyên. Để cho phép giả lập những chính sách khác nhau, CloudSim hỗ trợ việc định thời máy ảo VM ở hai mức: trước tiên tại mức Host và sau đó là mức máy ảo VM. Ở mức đầu tiên, có thể xác định rõ tổng năng lực xử lý của mỗi nhân trong host sẽ được gán cho mỗi máy ảo. Tại mức tiếp theo, các máy ảo VM sẽ được phân rõ tổng năng lực xử lý cụ thể cho mỗi tác vụ được thực thi. Tại mỗi mức, CloudSim thực hiện chính sách cấp phát tài nguyên theo thời gian và không gian.
3.3. Mô hình chợ Cloud
Hỗ trợ dịch vụ đóng vai trò như là người môi giới giữa nhà cung cấp dịch vụ Cloud và khách hàng thông qua những dịch vụ là điểm nhấn của điện toán đám mây. Hơn thế, những dịch vụ này cần cơ chế để xác định chi phí dịch vụ và các chính sách về giá cả.
Mô hình chính sách chi phí và giá cả là một ý tưởng cần được xem xét khi thiết kết chương trình mô phỏng Cloud, bốn thuộc tính được xem xét đến cho một Datacenter:
- Chi phí mỗi bộ xử lý
- Chi phí mỗi đơn vị bộ nhớ
- Chi phí mỗi đơn vị lưu trữ
- Chi phí mỗi đơn vị băng thông sử dụng
Chi phí mỗi đơn vị bộ nhớ và lưu trữ được kèm theo trong quá trình khởi tạo máy ảo. Chi phí mỗi đơn vị băng thông sử dụng có trong quá trình truyền dữ liệu. Bên cạnh đó, các chi phí sử dụng bộ nhớ, lưu trữ, băng thông và các chi phí liên quan có mối liên hệ với việc sử dụng tài nguyên tính toán. Do vậy, nếu máy ảo được tạo mà không có tác vụ nào thực thi trên chúng, thì chỉ có chi phí về bộ nhớ và lưu trữ. Những vấn đề này có thể được thay đổi bởi người dùng.