Požadavek byl, aby chladič uchladil pasivně Raspberry Pi 4 i při největší zátěži. Výpočtem z mezních teplot a spotřeby jsme dospěli k parametrům chladiče, s ohledem na maximální teplotu 65˚C vyplývající z norem BS EN 13202:2000 či UL 60950-1. Krabička musí mechanicky chránit desku a také mít v sobě obě tlačítka resetu. Rozumné IP krytí, zejména zeshora bylo také požadavkem. Nekompromisní požadavek byl na rozšiřující port - musel být stoprocentně přístupný a také mechanická montáž rozšiřujících desek by měla být možná.
Vše se podařilo splnit. Chladič Coolipi 4B se přimontovává na RPI pomocí sloupků a dá se i takto bez krabičky umístit do nějakého šasi. Pro samostatné použití jsme navrhli open source 3D tištěnou krabičku, dokonce s zasouvacími krytkami na SD kartu a GPIO port. Populární rozšiřující desky se dají namontovat otočené o 90 stupňů z boku přes konektorovou redukci, která vyvádí i POE piny. Obě velikosti desek HAT jsou podporovány. Další požadavek - aby rozšiřující desky neblokovaly chlazení - se tímto také podařilo splnit.
Chladič je frézovaný z relativně masivního hliníkového profilu. Má dosedací plochy na tři hlavní čipy na desce - procesor BCM, USB HUB a ethernet PHY. Dále může nepřímo chladit paměť, měnič i klec WiFi čipu - přes pastu, gumu nebo kus plechu.
Vzorky chladičů jsme testovali pomocí zatěžování benchmarky ve sklepě s konstantní teplotou, bez výstupu na displej. Jako největší zátěž se ukázal test linpack, který zatěžuje jednotku NEON počítáním soustav lineárních rovnic. Test bez chladiče a bez krabičky ukázal, že již při třetím vláknu výpočtu se Raspberry Pi 4 dostane do módu snižování frekvence, aby zabránilo přehřátí. Při čtvrtém vláknu již úplně vzdá ambice na vyšší kmitočty než základní. S plastovou krabičkou by výsledky byly ještě horší.
S chladičem CooliPi 4B včetně 3D tištěné krabičky se žádné zpomalování neděje. Teplota sice vystoupá, ale pořád se drží dostatečně daleko od limitu pro zpomalování. Při připojení na 4K monitor by ale teplota díky obsluze výstupu ještě asi stoupla.
Zde můžete vidět tři různé scénáře ohřívání v těch samých podmínkách. Teplota okolí byla stabilně 23.3˚C , žádné přetaktování nebo zvýšení napětí nebylo použito. Vše bez video výstupu.
Pracujeme na takovém testu, při kterém bychom dosáhli největší zátěže a spotřeby. Zatím to vypadá, že cykly procesoru věnované obsluze nějaké periferie či GPU spíše malinko sníží teplotu, protože v této době nezatěžuje procesor hlavní žrout energie - linpack. Náš kýžený test by asi spočíval v současné maximální zátěži síťových rozhraní (ethernet i WiFi), kopírování velkých souborů na SSD discích připojených na USB3 port, výstupu na 4k i FullHD monitor současně a nahrávání HD videa z kamery.
Experimentujeme s přetaktováním desky, poslední firmwary jsou tomu velmi nakloněny. Díky masivnímu chladicímu výkonu jsme dokázali rozpoznat jeden problém spojený s přetaktováním - a to ten, že přestává stačit výstupní proud integrovaného měniče PMIC. Zhruba při frekvenci vyšší než 1850 MHz a zvýšení napětí se při 4vláknové zátěži linpackem deska resetuje. 3 vlákna ještě vydrží, čtvrté už ne. Na snímcích desky z termokamery zespoda je vidět, že je tam jedno více hřející místo. Je to přímo pod čipem PMIC, tedy měničem.
Zkusili jsme tedy spustit 4 vláknový test s vychlazeným chladičem a logovali jsme teplotu i frekvenci. Nad určitou teplotu docházelo k resetům. Tak jsme instalovali malý kus měděného plechu mezi čip PMIC a chladič. Kritické teplota se zvedla. Toto nás utvrdilo, že jsme na stopě přetěžování měniče. Konečný důkaz byl pak ten, když se deska resetovala při vyšším převoltování, ale ne při lehoučce nižším - oboje při stejné frekvenci.
Závěr našeho testování tedy je, že jsou dvě omezení pro přetaktování Raspberry Pi 4 modelu B: jeden je dán samotným čipem a jeho stabilitou - zajisté závislou na teplotě - ale také celkovou spotřebou při zvýšeném odběru při přetaktování, kde nastupuje omezení měniče PMIC.
Někoho nemusí stabilita při maximální zátěži zajímat, protože mu jde o maximální jedno jádrový výkon. Jiný uživatel zase zatěžuje procesor nárazově, takže si může říkat, že se vlastně nic neděje i když je základní teplota vysoká. My však chceme využívat maximální výkon který nám zařízení poskytuje a to s maximální, zaručenou stabilitou. Uživatelé z průmyslu budou asi mít podobné požadavky jako my.
Při testech vlivu frekvence procesoru na latence úlohy realtime Linuxu jsme již na modelu 3B zjistili, že samotné přepnutí frekvence není bez režie. U modelu 3 i 4 se přepíná frekvence všech jader současně, je tedy pro nejnižší latence bez lagů žádoucí provozovat procesor s governorem performance - na max frekvenci a vyhradit realtime úlohám vlastní jádra, která nejsou operačním systémem využívána. Už toto zvýší teplotu čipu. Propad ve frekvenci (thermal throttling) má v našem zapojení takový vliv na další obslužné procesy, že přestane stíhat synchonizace a update malého podružného informačního displeje. Přepsání z pythonu do C by situaci vyřešilo, ale zatím na to nebyl čas. Uvádíme tedy tento příklad k demonstraci toho, proč je třeba chladit řídící počítače v průmyslovém nasazení.
Možnost instalace až 60mm větráku je takovým malým bonbonkem na celém designu. Námi doporučovaný větrák má životnost 150 000 hodin. I při sníženém napětí, kdy není slyšet chladí tak, že přetaktování na vzduchu zvýší teplotu jen o 10 stupňů Celsia při maximální zátěži. Může se to zdát zbytečné pro většinu uživatelů, ale v průmyslovém prostředí už může být vliv na spolehlivost značný. Pro overclockery a experimentátory to může být také zajímavá volba.
Zkusili jsme i chlazení s chladičem ponořeným do tekutého dusíku. Výsledky budeme publikovat příště, jsou vskutku cool.
https://www.coolipi.com/CS/Introduction.html
https://www.coolipi.com/