nông trại

ốt nghiệp xong, về làm việc tại trung tâm máy tính, ĐH KHTN, rồi trung tâm máy tính ĐH Quốc gia TPHCM. Cái trung tâm mới xây, đúng thật là thiên đường cho những ai đam mê, chuỗi (cluster) 64 máy tính con hàng xịn, cộng với những con server hàng khủng, và rất nhiều loại thiết bị mà tôi còn chưa nhìn thấy bao giờ, chưa biết là cái gì, tất cả được đặt trong phòng riêng, cùng với nhiều cục lưu điện – UPS to hơn cái tủ lạnh 200 lít. Nếu cúp điện thì những cục UPS này vẫn đủ khả năng giữ cho toàn hệ thống chạy suốt hơn nửa ngày, và khi lượng điện trong UPS xuống dưới một mức nào đó, thì do đã được lập trình sẵn, sẽ tự khởi động cái máy phát đặt ở phòng kế bên, cấp điện cho toàn hệ thống, tất cả chạy hoàn toàn tự động!

Và đồng thời hệ thống cũng gởi tin nhắn về tình hình hiện tại của các loại máy móc đến cho quản trị viên – admin, thường là đang đi uống cafe ở đâu đó biết để còn chạy về xử lý nếu cần! Vâng, giai đoạn khá là ngu ngơ, nhiệt huyết và lý tưởng, từ chối những “lời mời gọi tình yêu” của một số em gái, về đó nghiên cứu grid – computing, mà bây giờ người ta hay gọi là computing – farm – nông trại tính toán! Và vâng, đi vòng quanh, vòng quanh cái nông trang tập thể, năng lực tính toán thì có thừa, chỉ thiếu… bài toán cho nó giải quyết mà thôi! Hơn 25 năm sau, chuyện làm “nông trại” bây giờ thật quá dễ dàng, và cũng không thiếu bài toán cho nó giải quyết… Ekh, yedem my, yedem, Yedem, a krugom kolkhozy…

nhạc lộc thư viện

ừ thời Hán cho đến qua thời Tống, Nguyên, Minh… suốt khoảng 1500 năm, nơi có nhiều đầu sách nhất thế giới chính là… Trung Quốc! Từ các thư viện hoàng gia cho đến các thư viện tư nhân như Nhạc Lộc thư viện, họ có khoảng 6 ngàn đầu sách (tựa sách), nhiều hơn bất kỳ nơi đâu, dù là Baghdad, Varanasi hay Rome, thì cũng không có nhiều sách bằng! Viết bằng thứ chữ giun dế siêu phức tạp như thế, bao quát đủ mọi lĩnh vực, từ Sơn hải kinh, Thủy kinh chú, Cửu chương toán thuật, Hải đảo toán kinh, Võ bị chí, etc.. bao quát đủ mọi mặt kiến thức, trên thiên văn, dưới địa lý, từ tư duy trừu tượng cho đến các vấn đề xã hội… công phu, trình độ quả thực đáng nể! Các đoàn sứ thần VN sang TQ, sau khi nộp cống phẩm xong đều được “lại quả”, loại “quả” thường được yêu cầu (và đáp ứng) nhiều nhất chính là… sách! Mà chẳng riêng gì VN, các nước đương thời như Nhật Bản, Hàn Quốc cũng thế: chẳng phải mọi phát minh tốt đẹp đều đến từ Trung Quốc đó sao, người Nhật Bản đương thời nói như vậy!

Mọi chuyện bắt đầu thay đổi khi kỹ thuật in ấn bắt đầu được phổ biến sang châu Âu! Chính vì kỹ thuật in có thể tạo ra được số lượng ấn phẩm lớn, đưa kiến thức đến với nhiều người hơn, nên dần dà, nó tạo thành một kiểu hiệu ứng đô-mi-nô, bắt đầu từ đó, châu Âu càng ngày càng đẻ ra thêm nhiều tựa sách, và bắt đầu vượt qua Trung Quốc. Số lượng đầu sách (tính trên tựa, không phải tính trên bản in) không còn ở mức số ngàn nữa mà bắt đầu tăng, đương nhiên khởi đầu chậm nhưng sau đó cứ nhanh dần theo cấp số nhân, bắt đầu đạt con số chục ngàn, trăm ngàn, rồi đến mức triệu… Quá trình này mất đến vài thế kỷ, dần dần đưa nhân loại bước vào “kỷ nguyên Ánh sáng”… Sang đến thế kỷ 21, ở cái xứ mọi rợ phương Nam kia cũng bày đặt nói chuyện sách, toàn những thứ như Thám tử Sherlock Holmes, Trở lại Eden, Những năm ảo tưởng, Cánh buồm đỏ thắm, .v.v… haiza, sách vở gì chúng nó!? 🙁

turbo button

rước đã nói về nút Reset, nay nói về nút Turbo, chắc không mấy người còn nhớ, một thời phổ biến trên các dòng x86 nhưng dần biến mất kể từ Pentium 1, 2 trở đi! Cái nút Turbo này thực chất nó làm gì? Chính là overclock – ép xung để cho CPU chạy nhanh hơn! Đang có ý định làm lại cái nút Turbo này cho con Aquarium-PC! Chỉ cần nhấn cái là CPU chuyển từ xung nhịp cơ sở 2.3 GHz lên xung nhịp tối đa 3.6 GHz ngay!

Trên một số dòng mainboard, CPU, thực hiện “Turbo” rất dễ, ép xung / hạ xung và tăng thế, hạ thế (undervolt) đối với các chip hoàn toàn làm được từ phần mềm một cách dễ dàng, có hiệu quả ngay lập tức, mà không cần bất kỳ can thiệp gì đến phần cứng! Tuy nhiên, và cũng có khi, cách tốt nhất để tăng tốc, gia tốc, turbo một cái máy tính, đó chính là… loại gia tốc có giá trị 9.8 mét trên giây bình phương ấy! 😀

đệ quy

í dụ về đệ quy, như thế nào là đệ quy – recursive!? Đầu tiên từ Terminal, gõ lệnh VIM để sửa file. Từ trong VIM, gõ lệnh term để mở một cái Terminal mới bên trong VIM, cái này thường cần cho lập trình viên để vừa sửa code một bên, vừa chạy kiểm tra bên kia xem code có đúng hay không, mà không cần phải thoát ra ngoài!

Nhưng vì ta cắc cớ, nên bên trong cái Terminal chạy trong VIM chạy bên trong Terminal này, gõ thêm một lệnh VIM nữa, kết quả là VIM nằm trong Terminal, nằm trong VIM, nằm trong Terminal, nằm trong VIM, nằm trong Terminal, nằm trong VIM, nằm trong Terminal… và trên nguyên tắc có thể kéo dài… vô hạn cấp! 😀

performance

ể làm con Aquarium-PC, tôi mua cái mainboard Huananzhi X99, đây được xem là loại mainboard chạy 2 CPU… rẻ nhất trên thị trường, một sản phẩm rất đáng ngạc nhiên của các “pháp sư” Trung Hoa, còn CPU là 2 con Xeon Haswell E5-V3, cũng là loại cũ, và khá rẻ. Đơn giản vì đây là lần đầu mạo hiểm, mua rẻ rẻ thôi, lỡ có thất bại, cháy nổ hay hỏng hóc ở đâu đó thì cũng không quá xót tiền! Hệ thống ráp xong chấm được 23K điểm Passmark, một điểm số không hề tệ, ngang ngửa với con MacMini đời 2022! Thế nhưng đến khi chạy thực tế, các bài toán thực, thì Aquarium-PC luôn thua MacMini một chút trong mọi vấn đề, mặc dù thua không nhiều! Đúng là bách nhục, một bên là hệ thống lớn, 2 CPU to cồng kềnh, lại dùng tản nhiệt dầu, còn bên kia người ta bé có chút xíu! Nhưng nghĩ kỹ thì cũng thấy hợp lý, Xeon Haswell là công nghệ của gần mười năm trước rồi, không thể nào so sánh công bằng được!

Nhưng cũng như tôi dự đoán, có một số lớp bài toán mà Aquarium-PC hơn MacMini, nhìn vào 2 cái ảnh dưới đây bạn sẽ hiểu vì sao! Chạy chương trình phân tích dữ liệu tự viết bằng Python, nó tạo ra đến hơn một chục process và dùng hơn 30GB bộ nhớ SWAP. RAM là điểm yếu của MacMini, chương trình chạy đến một lúc lượng SWAP quá lớn, máy nó lì ra không chịu chạy nữa, thậm chí… tự khởi động lại do quá nhiệt, quá tải! Nhưng con Aquarium-PC thì chạy được, tuy năng lực xử lý thua chút xíu, nhưng có đến 64GB RAM, và chạy vô cùng mát! Không chỉ về RAM, Aquarium-PC còn hơn về thời gian xử lý với những lập trình nhiều processes! Ngày xưa để xử lý dữ liệu lớn / phức tạp, người ta chia thành nhiều bước, lưu kết quả trung gian ra file / database và quay lại xử lý nhiều lần! Ngày nay, với một số lớp bài toán, cứ tận dụng tài nguyên lớn, bỏ hết lên RAM chạy một lần, code vừa nhanh, vừa đơn giản! 🙂

dân trí

iểm tin mặt báo, mới sáng ngày hôm nay, Tiến sĩ TQ, dân trí TQ: https://thanhnien.vn/cach-mang-ve-tinh-lien-lac-trung… và Tiến sĩ VN, dân trí VN: https://thanhnien.vn/mot-tien-si-gioi-thieu-nguoi-co-kha… Haiza, những thành phần lưu manh kiểu này mà không đập cho nó chết ngay đi thì nó vẫn nghĩ là có thể xạo sự được với thiên hạ chứ phải!? Suốt ngày chê bai TQ thế này, tôn mình lên thế kia, nhưng có tự nhìn ra được điểm khác biệt đâu, đâu có tự luận ra được chỗ ngu, cứ mông muội như thời hồng hoang nguyên thủy vậy! Suy nghĩ bên trong, một chữ cũng chưa chắc đã hiểu cho rõ nghĩa, một câu cũng chưa chắc nói cho thông suốt!

Nhưng “cái tôi” lớn hơn trời, cứ hở ra là giở trò ranh vặt! Chính vì dân trí đang ở mức như thế nên xuất hiện một đám lưu manh, chuyên vẽ ra những chuyện huyễn hoặc, hư ảo, để đánh vào “cái tôi” mong muốn được vuốt ve, phỉnh nịnh: thuyền của chúng ta đóng là loại đầu tiên trên thế giới có giằng chì ở đáy, buồm của chúng ta đi ngược gió được mà phương Tây không làm được, công trình này cần phải được đăng ký để làm “di vật quốc gia”, sách này nên được đăng ký vào thư viện Quốc hội Mỹ, etc… Cứ như thế, cứ ném “kít” ra là nói gì cũng nghe, xúi gì cũng làm… Và suốt ngày “dân chủ” với “trí thức” để tự sướng, tự lừa mình và lừa người khác!

aquarium – pc, phần 9

ắp cái mạch điều khiển tốc độ quạt quay vào phía sau (rất tiếc không để lên bảng điều khiển phía trước được vì nó hơi to). Chạy đầy tải – stress-test 6 tiếng, nhiệt độ dầu ổn định ở mức 40°C, nhiệt độ CPU loanh quanh 60°C toàn thời gian, mà quạt chỉ mới chạy 50% công suất, tiếng ồn tương đương với cây quạt đứng trong phòng, kết quả này là đã tốt hơn dùng tản nhiệt nước nhiều! Nếu không chạy đầy tải mà chỉ dùng máy tính bình thường, nghe nhạc, xem phim, mở vài chục trang web cùng lúc, thì chỉnh quạt về cỡ 25% công suất, tiếng ồn lúc này rất nhỏ, thậm chí nếu chỉ xài máy tính trong vài tiếng thì không cần phải bật cả quạt, vì dầu có nhiệt dung khá lớn, vẫn có thể chịu được! Quạt có công suất khá lớn đến 120W, nên nếu chỉnh tốc độ cao hơn thì hệ thống sẽ còn mát hơn nữa, nhưng việc này không cần thiết, vì thứ nhất là ồn, thứ nhì là nhiệt độ CPU đã dưới 60°C, không cần phải giảm thêm!

Hệ thống hoàn toàn có thể chạy heavy – duty liên tục thời gian dài được, nhưng phải chấp nhận có chút tiếng ồn! Còn với nhu cầu sử dụng bình thường hàng ngày thì khá im lặng! Ngồi chỉnh sửa cái video này bằng phần mềm Blender trên Debian, dùng ngay cái Aquarium-PC này, vì chưa rành Blender nên chỉ sửa video ở mức đơn giản. Render video 1080 mà nhiệt độ CPU vẫn chưa qua mức 52°C, đương nhiên đây chỉ là một đoạn video ngắn! Đến đây thì xem như hoàn thành công việc, cái “bể cá” cố định một bên trên bàn làm việc, sẵn sàng cho những công việc hàng ngày, cũng như các nhiệm vụ heavy – duty, các tác vụ cần “hiệu năng tính toán cao” khác! Tản nhiệt dầu nói cho đúng có rất nhiều điểm bất lợi: hệ thống cồng kềnh, nặng nề, khó sửa chữa nâng cấp, dầu mà rò rỉ ra ngoài là rất phiền, nhưng cũng có những ưu điểm nhất định, có thể giử nhiệt toàn hệ thống ở mức thấp sẽ khiến máy “thọ” hơn!

Nó tản nhiệt cho toàn hệ thống, cả nguồn, mainboard, RAM, SDD, GPU, tất tần tật… (chứ không phải riêng mỗi con CPU). Có nhiều điều nhận ra trong quá trình thực hiện cái Aquarium-PC – máy tính – bể cá này! Nó kiểu giống như cái… “bánh mì gà”, khi nhỏ, thèm ăn bánh mì gà lắm, ngon vô cùng, nhưng khi lớn rồi tìm lại thì thấy… nó không ngon như ngày xưa nữa! Khi xưa thích cái khái niệm “máy tính – bể cá” này lắm, nhưng đến khi làm được rồi thì lại thấy nó bình thường, chẳng có gì quá hấp dẫn nữa! Nhưng nói vậy không có nghĩa là toàn bộ quá trình làm đều vô nghĩa. Ít ra nó cũng tạo ra một vật xài được, và cũng học được nhiều bài học kinh nghiệm trong quá trình làm! Nếu phải làm lại cái Aquarium-PC này, tôi sẽ có những phương cách khác, sẽ áp dụng những giải pháp kỹ thuật khác, hiệu quả và gọn gàng hơn, hoặc tiến tới làm tản nhiệt 2-pha đúng nghĩa, thay vì chỉ tản nhiệt đơn giản 1-pha cổ điển!

trên núi đồi Mãn Châu

rên núi đồi Mãn Châu – On the hills of Manchuria! Trở lại một chút cái cái mood nhạc Nga, nếu nghe kỹ (và đọc lời) thì mới thấy rằng, bài ca là sự than khóc, cầu nguyện được ngụy trang (a mourning and praying in disguise), tác giả bài hát, nhạc sĩ Ilya Alekseevich Shatrov, đã có mặt ở đó, đã chứng kiến tất cả… là thành viên của băng nhạc Trung đoàn Mokshansky trong trận Phụng Dương (Mukden) với quân Nhật!

Chỉ 700 trong số 4000 người ban đầu của Trung đoàn còn sống sót sau trận chiến phá vòng vây, và băng nhạc thì… chơi nhạc để động viên tinh thần binh sĩ trong suốt thời gian chiến trận đó! Bài ca được viết sau đó để tưởng nhớ những đồng đội đã ngã xuống! Chiến tranh cũng đồng nghĩa là chết chóc, thương đau, chỉ là anh đối diện với nỗi đau như thế nào mà thôi… Bài ca trên nền clip phim Anna Karenina (2017).

aquarium – pc, phần 8

ể cho nó chạy chục ngày, lúc này dầu bắt đầu loang màu và mờ đục, không còn trong như trước, dù muốn dù không, các thành phần, vật liệu cấu thành nên cái “hồ cá” đều có sự “ô nhiễm” nhất định. Phát hiện quan trọng nhất là loại keo nến (silicone) dùng để gắn kết, cố định các chi tiết bắt đầu… tan ra trong dầu khoáng, điều phi lý hết sức, vì dầu khoáng là chất tương đối “trơ – inert” ở nhiệt độ thông thường! Nhưng đó là sự phi lý bạn phải chịu khi làm một cái gì đó ở VN, các loại vật liệu, hóa chất đều bị “độn”, bị “pha”, trở nên không đúng với thuộc tính ban đầu! Vì silicone tan ra nên làm cho dầu khá đục, phải tháo dầu ra! Suy nghĩ ban đầu là có thể lọc dầu cho nó trong trở lại, nhưng nghĩ kỹ thì thấy không đúng, các phần tử màu đa số đều có kích thước tới nanomet, các loại lưới lọc micromet không thể làm gì được! Thế là đành phải… thay dầu, hy vọng là chỉ phải thay một lần này mà thôi!

Cũng nhân lúc xả dầu ra này mà chỉnh trang lại hệ thống chút đỉnh, thay cái máy bơm mới công suất nhỏ hơn chỉ 25W (ban đầu mua bơm đến 50W, tính hơi dư), cái bơm mới là hiệu Channing! Chúng ta gọi đó là “hàng Trung Quốc”, nhưng chuyện nó không giống như trước đây đâu, hàng TQ cũng có vô số chủng loại, phân khúc, bơm hiệu Channing được xem như là cấp chất lượng cao nhất trong làng “thủy sinh, cá cảnh” rồi, cao hơn cả bơm chuyên dùng cho máy tính! Chỉnh tốc độ ở mức vừa phải, bơm chạy không hề gây ra bất kỳ một tiếng động nào! Trục máy bơm làm bằng gốm sứ, không bị ăn mòn như thép, cộng với việc đặt chìm trong dầu xem như chất bôi trơn, nên có chạy liên tục nhiều năm cũng không sao! Chỉnh trang lại ngoại thất / nội thất cái “bể cá” lại một tí, không dám xài keo nến nữa, phải xài epoxy! Đem cái khung gỗ chà nhám, ra đi thêm một lớp epoxy nữa cho nó đều màu!

Thay cái bảng điều khiển mới, bỏ các công tắc điện “đểu”, đi dây lại cho gọn gàng hơn! Nhìn nó chạy cỡ một chục ngày qua mà suy nghĩ mãi về vấn đề tản nhiệt! Tản nhiệt không dùng quạt rất khó, vẫn có thể làm được nhưng khi đó cái tháp tản nhiệt nó sẽ to bằng hay hơn cái máy tính, còn dùng quạt thì lại quá dễ dàng! Cái máy tính nguyên gốc rất ồn vì nó có đến 8 cái quạt, mỗi cái có công suất, tốc độ, và chất lượng khác nhau, 8 cái quạt chạy cùng lúc tạo thành bản “hợp xướng âm thanh” vô cùng khó chịu, nếu giảm xuống chỉ còn một cái quạt, nhưng chất lượng tốt thì tiếng ồn tuy vẫn còn nhưng sẽ giảm đáng kể! Thế là đặt mua cái quạt 36 x 36cm, và mạch điều chỉnh công suất thay đổi tốc độ quạt quay, lắp vào phía sau tản nhiệt như trong hình! Lắp ráp tất cả vào, và lại stress-test – thử đầy tải, kết quả mỹ mãn, có thể chạy các tác vụ heavy-duty liên tục nhiều ngày, sẽ nói rõ hơn ở phần sau!

aquarium – pc, phần 7

ừ console Linux, gõ một lệnh là chương trình stress-test – thử đầy tải bắt đầu chạy, các con CPU đều sử dụng hết 100% công suất, chạy liên tục 6 tiếng. Kết quả là nhiệt độ CPU bị đẩy lên đến 70~75°C, và nhiệt độ dầu lên đến ~55°C! Trong các hình, nếu tinh mắt sẽ nhận ra một cái nhiệt kế điện tử dùng để đo nhiệt độ của môi trường dầu, và nhiệt độ dầu luôn thấp hơn nhiệt độ CPU khoảng 15~20°! Trở lại với stress-test, kết quả này là tệ hơn so với việc dùng tản nhiệt nước, khi dùng tản nhiệt nước, nhiệt độ CPU luôn dưới 65°C trong các bài kiểm tra đầy tải, nhưng thực ra, điều này đã nằm trong dự tính từ trước khi bắt đầu bắt tay vào làm con Aquarium-PC này! Có nhiều yếu tố ảnh hưởng đến nhiệt độ, đầu tiên là dầu khoáng tải nhiệt của toàn hệ thống: CPU, GPU, SSD, RAM, main, và cả cục nguồn (đây vốn là nguồn sinh nhiệt nhiều nhất), còn tản nhiệt nước chỉ dùng cho mỗi con CPU mà thôi!

Điều đáng nói là nhiệt độ của toàn hệ thống vẫn luôn được giữ ở mức thấp: RAM, SSD, GPU… luôn dưới 55°C! Còn nhiệt CPU tuy khá cao, nhưng vẫn chưa chạm mức nguy hiểm (85+°C). Yếu tố thứ hai là do tản nhiệt không dùng đến quạt gió, và tôi nhất quyết không dùng quạt để không gây ra tiếng ồn, để hệ thống chạy hầu như hoàn toàn im lặng! Và điều thứ ba nữa là thiết kế của tản nhiệt là tối ưu cho các quạt gió (forced air cooling) chứ không tối ưu cho tản nhiệt tự nhiên, và thứ tư nữa là có thể kích thước cục tản nhiệt chưa đủ lớn! Điểm đáng lưu ý là dầu khoáng có nhiệt dung riêng (specific heat capacity) khá lớn, lớn hơn nước rất nhiều (đó cũng là lý do tại sao bỏng dầu luôn nghiêm trọng hơn bỏng nước sôi, vì dầu có khả năng mang nhiệt lượng lớn hơn nhiều), cái nhiệt dung riêng này làm trễ các kết quả đo, cần phải thực sự stress-test nhiều giờ mới đọc được các con số có ý nghĩa!

Kết luận: hệ thống hoạt động như mong đợi, tải nhiệt tốt với các ngữ cảnh sử dụng thông thường, hoặc tải nặng trong vài giờ, nhưng tôi nghĩ, chưa tản nhiệt tốt đến mức có thể dùng cho các tác vụ heavy – duty, chạy 100% công suất liên tục 24/24, ví dụ như dùng để đào “coin”, mặc dù dùng máy không phải cho mục đích đào tiền ảo, mà dùng để phân tích và xử lý số liệu, lên đến hàng trăm GB! Thường là như thế, khởi đầu một công việc gì đó thì chưa đâu, nhưng có khi, ngay khi vừa kết thúc nó xong, là tự ngộ ra được chỗ ngu rồi! Từ đây, có 3 khả năng phát triển tiếp: #1: không làm gì cả, hệ thống đã đủ tốt cho các công việc phổ biến thông thường! #2: Tìm một cái tản nhiệt có kích thước & thiết kế tốt hơn cho việc tản nhiệt tự nhiên, và #3: lắp các quạt gió phía sau tản nhiệt, và lập trình điều khiển quạt gió quay với tốc độ tỷ lệ với nhiệt độ cảm biến (chỉ xài đến quạt khi chạy tải nặng thời gian dài)! 🙂