Genetic-lib 0.2 - evolúciós algoritmus a kernel finomhangolására

Címkék

Jake Moilanen egy olyan patchset-et készített a 2.6-os Linux kernelhez, amely egy ún. evolúciós algoritmust (genetic algorithm) alkalmaz a kernel bizonyos részeinek finomhangolására.

Az evolúciós algoritmus nem új dolog. Lényege, hogy egy feladat megoldásakor egy adott pillanatban nem egyetlen lehetséges választ, hanem lehetséges válaszok (egyedek) halmazát, populációját tartjuk nyilván. A populációt lépésenként próbáljuk meg jobbra cserélni. Egy populáció annál jobb, minél több olyan egyeddel rendelkezik, amelyik a helyes vagy a helyeshez közeli lehetséges válasz a probléma megoldására. Az algoritmus működése kísértetiesen hasonlít a természetes kiválasztódáshoz.

Működése:Válasszunk egy induló populációt

Ismétlés

vizsgáljuk meg az egyedek alkalmasságát

válasszuk ki a legalkalmasabb egyedeket a reprodukáláshoz, készítsünk egy részhalmazt

alkalmazzunk véletlenszerű mutációt a kiválasztott részhalmazon

Amíg a feltétel meg nem szűnik

Az elmélet szerint az egyedek egyre fejlettebbek lesznek, hiszen mindig csak a legjobbakat választjuk ki.

A patchset a Linux kernel egyes ütemezőit (pl. anticipatory IO scheduler, zaphod CPU scheduler) frissíti fel úgy, hogy azok használhassák a kernel-beli evolúciós algoritmust (genetic-lib), így lehetővé téve számukra, hogy önmagukat tuningolhassák az adott terhelés szerint a lehető legjobb munkavégzésre.

A napokban jelent meg a genetic-lib 0.2-es verziója. A bejelentés itt. Korábbi cikk a KernelTrap-on itt.

Hozzászólások

Kimutattuk, hogy a holografikus megközelítés mintegy 100 %-kal

nagyobb hatékonyságú, mint a genetikus algoritmus. Hamarosan

tudományos igényű cikket jelentetünk meg belőle.

Micskó Gábor wrote:
> Jake Moilanen egy olyan patchset-et készített a 2.6-os Linux kernelhez,
> amely egy ún. evolúciós algoritmust (genetic algorithm [0]) alkalmaz a
> kernel bizonyos részeinek finomhangolására.
Kb. 98 óta azon gondolkozom, hogy miért nincs még ilyen az OS kernelekben.

Érdekelne, hány szabadalmat sért a dolog :-O

csak az érdekelne, hogy egy ütemezőnél hogy' "vizsgáljuk meg az egyedek alkalmasságát"? vagy bármelyik más esetben nem csak az ütemezőnél?