Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Grid Computing - Alchemi Framework

Grid Computing - Alchemi Framework

Avatar for eminter25391

eminter25391

June 14, 2015

More Decks by eminter25391

Other Decks in Education

Transcript

  1. ĐỒ ÁN TỐT NGHIỆP TÌM HIỂU VÀ XÂY DỰNG HỆ

    THỐNG TÍNH TOÁN LƯỚI SỬ DỤNG ALCHEMI FRAMEWORK Giáo viên hướng dẫn: Sinh viên: Số hiệu sinh viên: Lớp: Th.S. Đoàn Duy Trung Lưu Tuấn Hải 20080859 Toán Tin 2 – K53
  2. NỘI DUNG CHÍNH • Phần I: Tổng quan về tính

    toán lưới • Phần II: Giới thiệu về Alchemi Framework • Phần III: Xây dựng ứng dụng tính toán lưới dựa trên Alchemi
  3. "Khái niệm tính toán lưới ra đời nhằm đưa ra

    giải pháp cho việc phối hợp chia sẻ tài nguyên và giải quyết vấn đề trong các tổ chức ảo động và đa phương. Sự chia sẻ ở đây không chỉ là trao đổi file mà đúng hơn là việc truy cập trực tiếp vào các máy tính, phần mềm, dữ liệu và nhiều loại tài nguyên khác nhằm đáp ứng một loạt các yêu cầu trong việc hợp tác xử lý vấn đề và các chiến lược môi giới tài nguyên trong công nghiệp, khoa học và kỹ thuật. Việc chia sẻ cần thiết phải được giám sát chặt chẽ, trong đó nhà cung cấp tài nguyên cũng như khách hàng cần định nghĩa cẩn thận những gì sẽ được chia sẻ, ai có quyền chia sẻ và dưới điều kiện nào thì việc chia sẻ được diễn ra. Một tập hợp các cá nhân và/hoặc tổ chức thỏa mãn các điều trên được gọi là một tổ chức ảo“ - Ian Foster, 2001 - Định nghĩa
  4. Ba tiêu chí • Phối hợp các nguồn lực mà

    không chịu sự kiểm soát tập trung • Sử dụng các giao thức và giao diện theo chuẩn, mở, đa dụng • Cung cấp chất lượng dịch vụ vượt trội
  5. Phân loại • Theo kiểu tài nguyên: Compute Grid, Data

    Grid, Application Grid, Service Grid. • Theo phạm vi chia sẻ: Cluster Grid, Enterprise Grid, Utility Grid, Partner/Community Grid.
  6. Luật Amdahl S P P) - (1 1  •

    P: tỉ lệ phép tính toán có thể tăng tốc • S: tỉ lệ tăng tốc
  7. Grid Middleware • Cung cấp một lớp trung gian chia

    sẻ ảo hóa, đặt giữa các cơ sở hạ tầng và người dùng. • Các project tiêu biểu: Globus Toolkit, UNICORE, Alchemi...
  8. Lập trình trên Alchemi // The main class class Program

    : GApplication { [STAThread] static void main(string[] args) { } }
  9. Lập trình trên Alchemi // Create a new grid application

    object public static GApplication app = new GApplication(); // Connect to the Alchemi Manager app.Connection = new GConnection("localhost", 9000, "user", "user"); // Assign tasks to threads app.Threads.Add(new CalculationThread()); // Start the application app.Start();
  10. Lập trình trên Alchemi // The thread class [Serializable] class

    CalculationThread : GThread { public CalculationThread() { } public override void Start() { // Define the code to be executed remotely } }
  11. Bài toán tính số e • Hằng số, e ≈

    2,71828 • Công thức tính:
  12. Bài toán tính số e • Mỗi thread sẽ tính

    tổng một chuỗi con. • Chương trình sẽ thu thập và tính tổng các kết quả do các thread trả về để được kết quả cuối cùng.
  13. Bài toán tính số e 0 10 20 30 40

    50 60 1 node 2 node 3 node 4 node Thời gian Thời gian • Tính số e có 10000 chữ số, sử dụng chuỗi với 50000 phần tử, chia thành 20 thread.
  14. Mô phỏng thuật toán DES • Chia file cần mã

    hóa (giải mã) thành các phần nhỏ. • Mỗi thread sẽ mã hóa từng phần nhỏ. • Chương trình sẽ thu thập các đoạn dữ liệu đã mã hóa do các thread trả về rồi ghi vào file đầu ra.
  15. Mô phỏng thuật toán DES 0 20 40 60 80

    100 120 1 node 2 node 3 node 4 node Thời gian Thời gian • File đầu vào có độ lớn 17503 KB, chia thành các phần nhỏ 1 MB.
  16. KẾT LUẬN Kết quả • Nghiên cứu tìm hiểu, cài

    đặt và xây dựng ứng dụng dựa trên Alchemi, một framework giúp triển khai hệ thống tính toán lưới trên nền tảng .NET. Mô hình thử nghiệm đã dựng nên một hệ thống tính toán lưới chạy trên 4 máy tính. Các ứng dụng dựa trên mô hình này đều chạy ổn định và thực hiện đúng các chức năng như mong đợi. • Do điều kiện không cho phép nên chưa kiểm chứng được định luật Amdahl. • Giao diện còn sơ sài.
  17. KẾT LUẬN Hướng phát triển • Tìm hiểu sâu hơn

    về công nghệ Grid Computing cũng như Alchemi Framework. • Nghiên cứu triển khai tính toán lưới cho các ứng dụng thực tế, trên phạm vi rộng, yêu cầu cơ sở hạ tầng lớn hơn.