BOINC

Berkeley Open Infrastructure for Network Computing (BOINC) là nền tảng mã nguồn mở dành cho tính toán phân tán. Ban đầu BOINC được tạo ra để hỗ trợ cho dự án SETI@home trước khi nó trở nên hữu dụng cho các dự án tính toán phân tán khác trong các lĩnh vực như toán học, khoa học, vật lý và khí hậu. Mục tiêu của BOINC là để các nhà khoa học có thể tiếp cận tới một nguồn sức mạnh tính toán khổng lồ được tạo bởi các máy tính cá nhân trên toàn thế giới. BOINC được quản lý bới một nhóm gồm một vài cá nhân trong Phòng Khoa học Vũ trụ, Trường đại học UC Berkeley. Người dẫn đầu nhóm, David Anderson cũng là người thành lập dự án SETI@home. Hiện tại, tổng số máy chạy BOINC là 672.124 máy với khả năng xử lý đến 18,017 petaFLOPS (18 triệu tỷ phép tính dấu chấm động trên 1 giây). BOINC được tạo ra ban đầu là để thay thế cho phần mềm quản lý của SETI@home. Phần mềm máy trạm đầu tiên của SETI@home không chạy trên nền tảng BOINC và chỉ có thể được sử dụng cho SETI@home. Vì SETI@home là một trong những dự án tính toán phân tán đầu tiên nên nó không được thiết kế để có độ bảo mật cao. Một vài người tham gia chơi gian lận để giành được nhiều 'Credit', là thứ mà người tham gia nhận được khi tham gia dự án. Từ đó BOINC được thành lập để vá các lỗi đó. Dự án BOINC được bắt đầu vào tháng 2 năm 2002 và phiên bản đầu tiên được ra mắt vào ngày 10/4/2002. Dự án đầu tiên dựa trên BOINC là Predictor@home vào ngày 9/6/2004. Vào năm 2009. AQUA@home là dự án đầu tiên có chương trình chạy trên nhiều nhân CPU và có chương trình chạy trên GPU đầu tiên vào năm 2010. BOINC được thiết kế để trở thành một nền tảng miễn phí mà ai cũng có thể sử dụng để tạo ra một dự án mới. Hầu hết các dự án chạy dựa trên BOINC đều phi thương mại và khá nặng tùy theo vấn đề cần phải giải quyết. Theo nghĩa đen thì BOINC là một phần mềm sử dụng số năng lượng chưa dùng tới của CPU và GPU để thực hiện các tác vụ xử lý khoa học. Vào cuối năm 2008, NVIDIA đã phát triển CUDA, cho phép các dự án có thể dùng sức mạnh tính toán của GPU để thực hiện các tác vụ nặng. Nhờ sự hỗ trợ từ NVIDIA, các dự án như SETI@home, Einstein@home đã phát triển được ứng dụng dựa trên CUDA. Bắt đầu từ năm 2009, BOINC đã hỗ trợ thêm các dòng GPU từ ATI. Các chương trình chạy trên card ATI xử lý các tác vụ nhanh hơn năm tới mười lần nếu so sánh với tốc độ chạy trên CPU. BOINC có 2 thành phần, máy chủ và máy trạm. Chúng kết nối với nhau để phân phát, tính toán và trả kết quả. BOINC có thể được điều khiển thông qua RPC, qua dòng lệnh cmd hay thông qua Hệ thống Quản lý Tài khoản BOINC (BOINC Account Manager). BOINC Manager có 2 giao diện: đơn giản (Simplified GUI) và phức tạp (Advanced View). Kiểu lưới (Grid View) đã được loại bỏ từ phiên bản 6.x.x trở đi. Mọi người đều có thể thiết kế một giao diện riêng cho giao diện Simplified GUI. https://boinc.berkeley.edu