2012/02/26

LinuxCNC késleltetési tesztek Intel D525MW alaplappal

Üdvözöllek kedves Látogató!

Az előző postban az RTLinux kernel sajátosságaival foglalkoztam, és ígértem, hogy valami közérthetőbb formában bemutatom a gyakorlatban mit is jelent mindez.

A teszt alanya egy Intel D525MW alaplap. Nagyon sokan dícsérik, nagyszerű kis cucc.




Amit érdemes tudni a "deszkáról" :

  • Mini-ITX méretű alaplap (170mm X 170mm) 
  • Passzív hűtés - nincs hangos, zörgő, beálló ventillátor
  • Intel Atom 252 processzor
  • Egy LPT port és egy PCI kártyahely - ideális kisebb LPT portos géphez, de akár a Mesa 5i25 kártyát is használhatjuk
  • Egy rakat USB port, alaplapi VGA, max. 4GB RAM

A leendő vezérlés másik fontos eleme a Kingston 8GB SSD lemez:


Jelentősen gyorsabb mint a hagyományos merevlemezek, nincs mozgó alkatrész, kis helyen elfér és a kapacitása is bőven elég egy jó kis LinuxCNC rendszerhez.  A gyári CD-ről a már részletezett módon istalláltam az alaprendszert, majd volt egy uprade, egy két kisebb kényelmi dolog (Chromium böngésző, Midnight Commander) és még alig léptem túl a 4GB-t. 

Ezt a  konfigurációt a Pico PSU fogja teljessé tenni. A PC-s oldali konfiguráció így kis helyen elfér, üzembiztos és hatékony minden szempontból.


Akkor nézzük mit mutatnak sorban a késleltetési tesztek. Minden tesztet úgy futtattam, hogy ment egy Youtube-os (kötelezően CNC témájú) videó a Firefoxban, hasonlóan a Chromiumban is ment egy videó, a glxgears nyomta a 3D grafikát. Jelenleg 2GB RAM van az alaplapon.


Ahogy azt említettem, a Multithread (többszálú futtatás) funkcionalitást le kell tiltani a BIOS-ban a valós idejű feldolgozás érdekében. De azért nézzük mit mutat a teszt bekapcsolt Multithread mellett:


Természetesen itt még nincs dedikálva egyik processzornak a valós idejű feldolgozás (isolcpus=1 kernel paraméter jelentené azt). Amit érdemes megfigyelni: a Multithread miatt négy proci látszik, és nagyjából mindegyik hasonló leterheltséget mutat. Eddig ez nem annyira izgalmas, a lényeg inkább a késleltetési teszt eredménye:
a jitter 37,8 microszekundum. Ez nem olyan rossz, de jelentősen lehet rajta javítani.

Akövetkező eset, amikor nincs Multithread:


Érdekes, hogy a késleltetési teszt még rosszabb eredményt hozott. Itt már csak két CPU látszik, de még mindig nincsenek leválasztva a valós idejű folyamatok.


És most vessünk egy pillantást arra, amiért az egész kernel tuningra szükség volt:


Jitter: 6,7 és 8,2 mikroszekundum !!! Ez már úgy történt, hogy a boot folyamat elején a kernel az isolcpus=1 paramétert megkapta, így a legnagyobb számú processzor a valós idejű feladatokkal foglalkozik csak. Igaz a CPU1 ki van hajtva majdnem 100%-ra, de ettől nekünk a LinuxCNC vígan elmegy böngészés és minden más feladat mellett. 

A teljesség kedvéért legyen itt annak a tesztnek az eredménye, amikor bekapcsolt Multithread funkcionalitásnál lefoglaltam egy CPU-t a valós idejű feladatokra:


Jól látszik ismét, hogy négy CPU dolgozik, de ha egyik csak a valós idejű feladatokkal van lefoglalva, akkor a nagy pontosságot igénylő léptetési frekvenciát duplájára lehet felvinni.

Akit esetleg érdekel,  további teszteket itt lehet megtekinteni.

A végére még egy megjegyzés ami a kernel témaköréhez tartozik:
Nincs "gyári" 64 bites kernel a LinuxCNC-hez, nem is tervezik annak kiadását, ugyanis semmiféle haszonnal nem járna a CNC vezérlés szempontjából. Használd bátran a 32 bites verziót, egy megfelelő alaplappal és jó beállításokkal bőven elég.  

Nincsenek megjegyzések:

Megjegyzés küldése