Trong gần hai năm qua, tôi đã vận hành một hệ thống TrueNAS được xây dựng từ những linh kiện cũ của các bản dựng trước, với mong muốn tìm hiểu sâu hơn về server tại gia và mạng máy tính. Trước đây, tôi đã thuê một máy chủ Kimsufi chuyên dụng từ khoảng năm 2016 để chạy các dịch vụ cơ bản, server game cho bạn bè và một instance Plex cá nhân. Tuy nhiên, tôi muốn một thứ gì đó nằm trong quyền kiểm soát của mình và có thể tùy biến theo ý muốn. Với 24GB RAM DDR3, một bộ vi xử lý AMD Ryzen 7 3700X và một chiếc GTX 1070 Ti, tôi đã lắp ráp chiếc home server đầu tiên của mình, và nó vẫn là trung tâm của phòng lab tại nhà tôi cho đến ngày nay.
Gần đây, tôi đã suy ngẫm về chiếc GTX 1070 Ti mà mình đang sử dụng và nhận thấy khả năng ấn tượng của nó. Chắc chắn, nó khó lòng xử lý tốt các tác vụ chơi game ở độ phân giải 1440p (chưa nói đến 4K), nhưng nó lại là một chiếc card khá mạnh mẽ khi kết hợp với Jellyfin, Plex, hoặc bất kỳ nền tảng media tự host nào khác có khả năng tăng tốc phần cứng. Hơn nữa, với 8GB VRAM, nó thậm chí có thể chạy các mô hình AI cục bộ cơ bản. Dù không thể sánh kịp với chiếc RTX 4080 của tôi ở khía cạnh này, nhưng với một chiếc card có thể tìm thấy với giá dưới 100 USD trên thị trường đồ cũ, hiệu suất của nó đáng ngạc nhiên, đặc biệt là trong việc transcode (chuyển mã) nội dung đa phương tiện.
Bo mạch chủ server X99 với hai CPU Intel Xeon được lắp đặt
Hỗ trợ Codec video: Điểm sáng bất ngờ của GTX 1070 Ti
Ra mắt vào năm 2017, GTX 1070 Ti sở hữu khả năng hỗ trợ giải mã các định dạng video chính một cách đáng ngạc nhiên. Mặc dù AV1 không nằm trong danh sách được hỗ trợ (vì chuẩn này chỉ xuất hiện một năm sau đó), nhưng nó là một trong số ít card đồ họa từ thời điểm đó có thể hỗ trợ cả VP8, dù đây là một codec khá ngách. Nơi GTX 1070 Ti thực sự tỏa sáng là khả năng hỗ trợ giải mã H.265 4:2:0, còn được biết đến là HEVC. Các dòng card 1000 series là những dòng đầu tiên hỗ trợ chuẩn này, ngoại trừ một vài mẫu chọn lọc trong 900 series.
Tuy nhiên, HEVC cũng không phải là không có tranh cãi. Nó đang dần bị AV1 vượt mặt về nhiều mặt, và mặc dù đã cải thiện đáng kể mức độ nén so với nội dung H.264, nhưng HEVC lại vướng phải các quy định cấp phép chặt chẽ hơn và thậm chí đã góp phần thúc đẩy sự phát triển của AV1 như một codec miễn phí bản quyền thông qua Alliance for Open Media. Để một sản phẩm có thể hỗ trợ HEVC, bạn cần phải có giấy phép từ ít nhất bốn nhóm bằng sáng chế (MPEG LA, HEVC Advance, Technicolor, và Velos Media) cũng như nhiều công ty khác, và nhiều công ty trong số đó không cung cấp các điều khoản cấp phép tiêu chuẩn mà yêu cầu đàm phán riêng.
Những hạn chế này còn tồi tệ hơn so với những gì đi kèm với H.264, mà Firefox chỉ có thể hỗ trợ nhờ Cisco chi trả phí cấp phép thay mặt cho Mozilla thông qua OpenH264. Ngay cả bây giờ, hỗ trợ HEVC chỉ đến với Firefox vào tháng 2 năm 2025 thông qua một giải pháp tạm thời, khi việc giải mã được chuyển giao cho GPU (vốn đã được bán kèm giấy phép giải mã), thông qua VA-API. Nếu không có giải pháp này, HEVC vẫn sẽ vắng mặt trên Firefox, và ngay cả khi có, nó cũng không tiện lợi như trên Google Chrome.
Với những vấn đề đó, tất cả các định dạng chính khác mà người dùng mong đợi đều được GTX 1070 Ti hỗ trợ. Đó là MPEG-1 và MPEG-2, VP9, và tất nhiên, H.264. Những khả năng cụ thể đó không quá đặc biệt, nhưng HEVC mới là yếu tố quan trọng ở đây. Ngay cả với AV1, nhiều thiết bị hiện nay cũng hỗ trợ native, vì vậy, mặc dù không thể transcode, tôi vẫn có thể stream nội dung AV1 từ server của mình đến thiết bị client bằng Jellyfin, miễn là tôi phát tệp nguồn và không cần bất kỳ khả năng transcode nào.
Card đồ họa GTX 1070 phiên bản Founders Edition được lắp đặt bên trong máy tính
Tiết kiệm năng lượng: Lợi thế lớn cho một Home Server hoạt động 24/7
Mức tiêu thụ điện lý tưởng cho server gia đình
Một trong những khía cạnh tuyệt vời khác của GTX 1070 Ti là mức tiêu thụ điện khi ở trạng thái nghỉ (idle power draw). Hiện tại, theo lệnh nvidia-smi
, nó chỉ tiêu thụ vỏn vẹn 9W điện, và toàn bộ server của tôi đang ở trạng thái nghỉ với 78W tại thời điểm viết bài. Đó là với một Ryzen 7 3700X đang chạy các container luôn hoạt động như Nextcloud, Elasticsearch và CouchDB liên kết với Obsidian của tôi. Sử dụng nvidia-smi
, tôi có thể thấy rằng mức sử dụng điện của GPU nhảy vọt giữa 60W và 70W khi transcode một bộ phim HEVC bằng Jellyfin, nhưng đó là khi chuyển mã một bộ phim 4K với bitrate 54 Mbps xuống còn 20 Mbps. Tùy thuộc vào đầu vào cần transcode, mức này có thể thấp hơn nhiều.
Để dễ hình dung, một chiếc RTX 3080 có thể tiêu thụ tới 45W khi ở trạng thái nghỉ trong cùng điều kiện (mặc dù thực tế có thể thấp hơn đáng kể), và mức sử dụng điện khi transcode cũng sẽ tương tự. Nói cách khác, tôi có thể làm những việc tương tự như bây giờ, nhưng sẽ tiêu thụ nhiều năng lượng hơn và cũng cần nhiều không gian hơn cho một chiếc card lớn hơn. Nhược điểm là một chiếc RTX 3080 sẽ cho phép tôi làm được nhiều việc hơn với các mô hình LLM cục bộ, vì vậy không phải tất cả đều là điểm cộng cho GTX 1070 Ti. Tuy nhiên, nó vẫn là một chiếc card đáng ngạc nhiên về khả năng so với mức giá bạn có thể mua được hôm nay và những gì bạn có thể cần nó cho một home server.
Sức bền của thế hệ GPU cũ: Bằng chứng từ GTX 970 trong hệ thống CCTV
Ngay cả bây giờ, khả năng của những chiếc card cũ này vẫn khá rõ ràng. Gần đây, tôi đã cấu hình một server cho một người bạn để tập trung xử lý CCTV của họ thông qua Frigate. Server mà họ chọn sử dụng một chiếc GTX 970, một chiếc card thậm chí còn cũ hơn, nhưng nó vẫn hoạt động tốt cho sáu camera với TensorRT và tiêu thụ giữa 50W và 180W điện tùy thuộc vào những gì đang xảy ra vào bất kỳ thời điểm nào. Rõ ràng, điều đó có nghĩa là nó đang phân tích nguồn cấp dữ liệu video, phát hiện người và các đối tượng được chỉ định khác, chụp ảnh nhanh và ghi hình. Chắc chắn đó không phải là hệ thống mạnh mẽ nhất và sẽ gặp khó khăn khi thêm camera, nhưng đối với một hệ thống giám sát tại nhà, ngay cả một GPU hơn một thập kỷ tuổi vẫn hoạt động rất tốt.
Kết quả dòng lệnh nvidia-smi hiển thị mức sử dụng năng lượng khi phát trực tuyến bằng Jellyfin
Nếu bạn đang xây dựng một home server và cần một GPU, những chiếc card cũ này có thể là một khoản đầu tư tuyệt vời nếu bạn thực sự cần đến nó. Các GPU tích hợp cũng rất mạnh mẽ (và thậm chí còn tiết kiệm năng lượng hơn) thông qua các công nghệ như QuickSync của Intel và công nghệ tương đương trên AMD. Nhưng nếu bạn không có GPU tích hợp và không muốn mua một CPU mới chỉ để có nó, một chiếc GPU cũ nằm lăn lóc hoặc tìm thấy trên thị trường đồ cũ có thể làm nên điều kỳ diệu. Nó đủ mạnh cho hầu hết các định dạng video, có thể làm nhiều hơn chỉ là video, và sẽ không tiêu thụ nhiều điện năng bổ sung khi chỉ ở trạng thái nghỉ.
Đối với việc transcode Jellyfin, tôi cực kỳ hài lòng. Bất cứ điều gì liên quan đến LLM cục bộ thì có thể là một canh bạc, nhưng ngoài ra, nó đủ mạnh cho hầu hết mọi thứ tôi muốn làm trên home server của mình. Ngay cả việc có khả năng cắm màn hình và xem điều gì đang xảy ra với server của mình, nếu nó không khởi động, cũng là một điểm cộng lớn. Nếu bạn không có đồ họa tích hợp, một chiếc GPU cũ có thể là một khoản đầu tư tuyệt vời, giá cả phải chăng.