Tác giả: Gerry Wang
Bài viết gốc được xuất bản lần đầu trên: Arweave Oasis Twitter
Ở các bài viết trước mình đã chia sẻ với các bạn rất nhiều nội dung lý thuyết về cơ chế cốt lõi của @ArweaveEco. Nhưng mọi lời nói mà không thực hành luôn chỉ là lời nói. Bài viết này sẽ giới thiệu cách xây dựng một máy khai thác có thể khai thác $AR dựa trên lý thuyết.
Link tài liệu gốc:
https://docs.arweave.org/developers/mining/mining-hardware
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
Khai thác Arweave có hai bước chính:
- Đồng bộ dữ liệu (Syncing) và đóng gói dữ liệu (Packing)
- Khai thác mỏ
Bài viết này sẽ tập trung vào cấu hình thành phần máy khai thác cần thiết ở giai đoạn khai thác này.
Tập dữ liệu Arweave (được gọi là "Weave") được chia thành nhiều phân vùng 3,6TB (3.600.000.000.000 byte).
Tính đến tháng 3 năm 2024, số lượng phân vùng đã lên tới 50. Con số này sẽ tăng theo thời gian khi dữ liệu người dùng được tải lên và khi có nhiều dữ liệu hơn đến nền tảng AO trong tương lai.
Giao thức Arweave khuyến khích mạnh mẽ những người khai thác lưu trữ toàn bộ tập dữ liệu hoặc nhiều bản sao của tập dữ liệu hoàn chỉnh (được gọi là "bản sao đầy đủ") để khai thác.
Những người khai thác lưu trữ một bản sao hoàn chỉnh có thể chọn vận hành một nút duy nhất để đọc dữ liệu từ tất cả 50 phân vùng. Họ cũng có thể vận hành nhiều nút, mỗi nút đọc khối từ một tập hợp con dữ liệu và phối hợp với nhau để tập hợp một bản sao hoàn chỉnh. Đây gọi là "khai thác cộng tác" (khai thác hợp tác là một tính năng mới trong phiên bản 2.7.2, bạn có thể đọc " Những gì đã được nâng cấp trong phiên bản 2.7.2 mới nhất của Arweave? ").
Trong mọi trường hợp, nút thắt cổ chai chính trong quá trình khai thác thường là băng thông đọc của đĩa cứng: bạn cần duy trì tốc độ đọc trung bình ít nhất là 200 MB/s trên mỗi phân vùng 3,6TB.
Dưới đây chúng tôi phác thảo những cân nhắc chính để thiết lập giàn khai thác và cung cấp một số ví dụ về cấu hình.
Cấu hình khai thác khác nhau tùy theo từng máy và chúng tôi chưa thể chứng minh khả năng tương thích giữa các thành phần cụ thể. Vì vậy, khi xây dựng giàn khai thác của riêng mình, bạn cần xác minh tính tương thích giữa các thành phần.
Nền tảng khai thác
Hiện tại có hai cấu hình khai thác:
Cấu hình khai thác khác nhau tùy theo từng máy và chúng tôi chưa thể chứng minh khả năng tương thích giữa các thành phần cụ thể. Vì vậy, khi xây dựng giàn khai thác của riêng mình, bạn cần xác minh tính tương thích giữa các thành phần.
Nền tảng khai thác
Hiện tại có hai cấu hình khai thác:
- Khai thác một nút với các bản sao hoàn chỉnh;
- Nhiều nút khai thác các bản sao dữ liệu một phần của chúng và cộng tác để tập hợp chúng thành một bản sao dữ liệu hoàn chỉnh.
Chiến lược chính cho đến nay là áp dụng phương pháp khai thác đa nút/cộng tác. **Khi Weave tiếp tục phát triển, chúng tôi tin rằng chiến lược này sẽ ngày càng trở nên phổ biến.
Bây giờ chúng ta lấy trường hợp một nút lưu trữ 16 dữ liệu phân vùng như sau:
Sau đó, nó hoạt động với 3 nút trở lên như vậy để ghi đè lên bản sao hoàn chỉnh của dữ liệu.
Lưu ý: Tất nhiên, người khai thác cũng có thể định cấu hình một nút duy nhất để lưu trữ hơn 16 phân vùng, chẳng hạn như một nút có đầy đủ 50 phân vùng. Nhưng với tư cách là người khai thác chỉ sở hữu một phần bản sao, bạn cũng có thể tham gia nhóm khai thác có thể cộng tác với những người khai thác khác để khai thác hiệu quả.
Băng thông lưu trữ
Nút thắt lớn nhất mà các thợ mỏ sẽ gặp phải là băng thông để lưu trữ và đọc. Cụ thể, mỗi phân vùng 3,6TB cần duy trì tốc độ đọc trung bình ít nhất là 200MB/s từ đĩa lưu trữ đến CPU. Các thành phần chính tham gia là:
- Đĩa cứng cơ học (HDD)
- Bộ điều hợp Bus chủ HBA (bộ mở rộng SAS tùy chọn)
- Khe cắm PCIe trên bo mạch chủ
Hãy thảo luận sâu hơn về từng thành phần.
1. Đĩa cứng cơ học (HDD)
Yêu cầu chính đối với ổ cứng cơ học HDD là có thể cung cấp tốc độ đọc trung bình 200MB/s trên mỗi phân vùng 3,6TB.
Vì các ổ cứng 7200 vòng/phút hiện đại thường có tốc độ 200MB/s nên cách tiếp cận đơn giản và được khuyên dùng nhất là mua ổ cứng 4TB cho mỗi phân vùng mà bạn dự định khai thác. 0,4TB bổ sung được sử dụng để lưu trữ thông tin siêu dữ liệu liên quan đến dữ liệu Dệt.
Tuy nhiên, người khai thác có thể thấy các cấu hình khác nhau có lợi hơn trong các tình huống khác nhau, chẳng hạn như:
- Lưu trữ 3 phân vùng trên 4 ổ HDD 3TB
- Với ổ cứng 8TB, hãy phân bổ 1 phân vùng cho mỗi ổ cứng và sử dụng thêm dung lượng cho bộ nhớ được truy cập không thường xuyên.
Tương tự, cả ổ SATA và SAS đều hoạt động tốt, bạn chỉ cần đảm bảo khả năng tương thích giữa ổ đĩa, cáp và các thành phần khác. Nhưng những điều này đòi hỏi phải kiểm tra đầy đủ giữa các thành phần phần cứng trước khi đưa ra kết luận.
2. Bộ điều hợp bus chủ HBA
Hầu hết các bo mạch chủ không tích hợp đủ đầu nối SATA để hỗ trợ hơn 16 đĩa lưu trữ, vì vậy có thể bạn sẽ cần ít nhất một thẻ HBA. Có rất nhiều loại HBA khác nhau có sẵn trên thị trường.
Câu hỏi đầu tiên cần đặt ra là: Bạn sẽ gắn bao nhiêu đĩa vào HBA? Khi bạn có số này, bạn có thể chọn HBA theo các thuộc tính sau:
- Phiên bản SAS;
- số kênh SAS;
- Tùy chọn: Bộ mở rộng SAS;
- Số làn PCIe và số phiên bản PCIe
- Cổng SAS bên trong hoặc bên ngoài
- Các thông số khác
- Phiên bản SAS;
- số kênh SAS;
- Tùy chọn: Bộ mở rộng SAS;
- Số làn PCIe và số phiên bản PCIe
- Cổng SAS bên trong hoặc bên ngoài
- Các thông số khác
Hãy định cấu hình chúng bằng ví dụ giả định 16 đĩa SATA trên mỗi nút.
Tổng cộng 16 ổ cứng SATA yêu cầu tốc độ đọc trung bình ổn định là 16 × 1,2Gbps = 25,6 Gbps.
LƯU Ý: Chúng tôi khuyên bạn không nên sử dụng RAID. Nói chung, cả RAID phần mềm và phần cứng đều không phù hợp với chi phí và độ phức tạp, đồng thời có thể ảnh hưởng đến hiệu suất ở một số cấu hình nhất định.
Phiên bản SAS
SAS (Serial SCSI) là giao thức truyền dữ liệu có 3 tiêu chuẩn tốc độ khác nhau cho SAS.
- SAS-1: 3Gbps/kênh
- SAS-2: 6 Gbps/làn
- SAS-3: 12Gbps/làn
Tất cả các tiêu chuẩn đều có khả năng tương tác, nhưng khi kết hợp cáp và thiết bị ngoại vi theo các tiêu chuẩn SAS khác nhau, thông lượng truyền dữ liệu được xác định bởi thành phần chậm nhất. Ví dụ: nếu bạn kết nối thiết bị mở rộng SAS-1 với HBA SAS-3, thông lượng sẽ là 3 Gbps trên mỗi kênh thay vì 12 Gbps trên mỗi kênh.
Do đó, chúng tôi khuyên bạn nên sớm xác định tiêu chuẩn và chọn tất cả các thành phần đáp ứng tiêu chuẩn đó hoặc cao hơn.
Chúng tôi khuyên bạn nên sử dụng SAS-2 hoặc SAS-3 vì điều này sẽ giúp đảm bảo rằng tốc độ SAS không trở thành điểm nghẽn nếu bạn quyết định thêm nhiều đĩa hơn trong tương lai.
Số lượng kênh SAS
Tên sản phẩm thẻ HBA kết thúc bằng số và chữ cái như 8i, 16i, 16e. Đề cập đến số lượng kênh SAS được thẻ HBA hỗ trợ.
Mỗi đầu nối HBA (thường là đầu nối Mini-SAS, nhưng cũng có các cổng khác) có 4 làn. Do đó, thẻ "SAS-2 LSI HBA 16i" có 4 đầu nối, mỗi đầu nối có 4 kênh SAS, tổng cộng là 16 kênh. 16 làn × 6Gbps = tổng thông lượng 96Gbps.
Không cần sử dụng bộ mở rộng SAS, kênh của mỗi thẻ HBA có thể kết nối trực tiếp với một ổ cứng HDD. Vì vậy, nếu muốn hỗ trợ 16 ổ cứng, bạn cần có card HBA 16 kênh (đôi khi gọi là 16 cổng). Mỗi đĩa cứng yêu cầu băng thông đọc 1,2 Gbps, thấp hơn nhiều so với băng thông của SAS.
Nên sử dụng card HBA 16i hoặc 16e để kết nối 16 ổ cứng.
Bạn có thể nhận thấy rằng về mặt lý thuyết, mỗi kênh thẻ HBA có đủ băng thông để hỗ trợ nhiều ổ cứng. Ví dụ: về mặt lý thuyết, kênh SAS-2 6Gbps có thể hỗ trợ năm ổ cứng 1,2 Gbps. Để đạt được điều này, bạn cần thêm bộ mở rộng SAS.
Bộ mở rộng SAS
Sử dụng bộ mở rộng SAS để kết nối nhiều ổ cứng với từng kênh SAS trên thẻ HBA. Việc điều chỉnh phiên bản SAS đặc biệt quan trọng khi sử dụng thiết bị mở rộng SAS. Ví dụ: nếu bạn sử dụng thiết bị mở rộng SAS-1 với thẻ HBA SAS-2 và cố gắng gắn 4 ổ đĩa vào mỗi kênh SAS, thông lượng SAS-1 thấp hơn là 3 Gbps sẽ hạn chế tốc độ đọc của bạn.
Việc sử dụng thiết bị mở rộng SAS cũng cần có thêm khe cắm PCIe và là thành phần cần khắc phục sự cố và bảo trì thay thế. Vì những lý do này, chúng tôi khuyên bạn không nên sử dụng bộ mở rộng SAS trừ khi bạn sẵn sàng đối phó với sự phức tạp bổ sung.
Số làn PCIe và số phiên bản PCIe
Kết nối cuối cùng của linh kiện là từ card HBA tới bo mạch chủ thông qua khe cắm PCIe.
Số làn PCIe và số phiên bản PCIe
Kết nối cuối cùng của linh kiện là từ card HBA tới bo mạch chủ thông qua khe cắm PCIe.
Để đảm bảo băng thông PCIe không trở thành nút thắt cổ chai đối với thông lượng tổng thể, chúng tôi khuyên bạn nên sử dụng bộ chuyển đổi có tám làn PCIe phiên bản 3.0. 8 PCIe 3.0 này có thể cung cấp băng thông 62,4 Gbps và có thể sử dụng tới 39 ổ cứng.
Nội bộ so với bên ngoài
Một lưu ý khác về HBA: các chữ cái ở cuối số sản phẩm (tức là 16i so với 16e) đề cập đến đầu nối "nội bộ" và "bên ngoài". Thẻ HBA 16i để lộ đầu nối Mini-SAS bên trong khung máy và thẻ HBA 16e để lộ đầu nối Mini-SAS bên ngoài khung máy. Chúng tôi không có đề xuất nào ở đây vì nó phụ thuộc vào nơi bạn định gắn ổ cứng.
Các thông số khác
Bởi vì hệ thống máy tính rất phức tạp và có nhiều thành phần khác nhau nên có thể có những hạn chế về băng thông bổ sung trong hệ thống khác với HBA và ổ cứng. Bạn có thể muốn kiểm tra thông số kỹ thuật của bất kỳ thành phần nào khác trong hệ thống của mình để đảm bảo chúng không trở thành nút thắt cổ chai đối với băng thông đọc.
3. Khe cắm PCIe trên bo mạch chủ
Như đã đề cập ở trên trong phần HBA, chúng tôi khuyên bạn nên sử dụng PCIe 3.0 8 làn hoặc tốt hơn để kết nối HBA và bất kỳ thiết bị mở rộng SAS nào. Đây là điều cần lưu ý khi mua bo mạch chủ để đảm bảo nó có đủ khe cắm đúng loại để chứa card HBA và bất kỳ thiết bị mở rộng SAS nào.
Lưu ý: Giai đoạn đồng bộ hóa và đóng gói
Cấu hình phần cứng trước đây chủ yếu tập trung vào giai đoạn khai thác. Trước khi có thể bắt đầu khai thác, bạn cần tải xuống một bản sao hoàn chỉnh (177 TB tính đến tháng 3 năm 2024) và đóng gói nó theo địa chỉ khai thác của bạn. Đóng gói là một quá trình mã hóa sử dụng nhiều CPU (dữ liệu dệt được mã hóa đối xứng bằng địa chỉ khai thác của bạn). Nói chung, các thợ mỏ tải xuống dữ liệu và gói dữ liệu song song.
Điểm nghẽn ở giai đoạn này là băng thông tải xuống mạng và dung lượng CPU. Ví dụ: nếu băng thông tải xuống là 1 Gbps thì sẽ mất hơn 16 ngày để tải xuống toàn bộ bộ dữ liệu. Tốc độ tải xuống càng nhanh thì khả năng đồng bộ dữ liệu càng nhanh. Tuy nhiên, khi bạn bắt đầu khai thác, tốc độ 100 - 200 mbps là đủ.
Sau khi tải xuống một số dữ liệu, dữ liệu phải được đóng gói và chuyển đổi thành một bản sao duy nhất theo địa chỉ khai thác. Ryzen 9 7950x 16 nhân có thể đóng gói khoảng 90mb dữ liệu mỗi giây, có nghĩa là sẽ mất khoảng 22 ngày để đóng gói bộ dữ liệu hoàn chỉnh bằng cách sử dụng một chiếc Ryzen 9 7950x 16 nhân duy nhất. Vì hai giai đoạn này (đồng bộ hóa và đóng gói) có thể diễn ra song song, nên công cụ khai thác ví dụ này có băng thông tải xuống 1Gbps và Ryzen 9 7950x 16 lõi có thể đồng bộ hóa và đóng gói tập dữ liệu hoàn chỉnh trong 22 ngày.
Ưu điểm của tất cả những điều này là dữ liệu chỉ cần được tải xuống và đóng gói một lần cho mỗi bản sao. Một số thợ mỏ sẽ thuê thời gian và băng thông CPU để giảm thời gian của giai đoạn này.
🔗 Giới thiệu về PermaDAO: Trang web Twitter Telegram |
💡 Cộng đồng PermaDAO được khởi xướng bởi everVision và được tài trợ bởi Forward Research (chính thức của Arweave). Đây là một "cộng đồng đồng xây dựng" được xây dựng xoay quanh chủ đề lưu trữ đồng thuận của Arweave. Tất cả công việc của những người đóng góp sẽ trở thành sự đồng thuận về dữ liệu. Hãy bắt đầu với "sự đồng thuận dữ liệu" và khám phá một mô hình cộng tác làm việc mới giữa những người lạ - các tổ chức tự trị phi tập trung.
Kế hoạch “bắt lỗi”
Nếu bạn phát hiện lỗi trong bài viết này, bao gồm lỗi chính tả, câu sai, mô tả không chính xác, ý nghĩa không rõ ràng, mô tả dư thừa hoặc các vấn đề khác, bạn có thể phản hồi cho chúng tôi và chúng tôi sẽ được khen thưởng. Bấm vào " đây " để đưa ra phản hồi.
Thời hạn hiệu lực của phản hồi: trong vòng 30 ngày kể từ ngày bài viết được đăng.
Tất cả bình luận