From: Jake Moilanen To: linux-kernel@vger.kernel.org Subject: [ANNOUNCE 0/4] Genetic-lib version 0.2 Date: Tue, 15 Feb 2005 13:29:06 -0600 Cc: Peter Williams Here is the next release of the genetic library based against 2.6.10 kernel. There were numerous changes from the first release, but the major change in this version is the introduction of phenotypes. A phenotype is a set of genes the affect an observable property. In genetic-library terms, it is a set of genes that will affect a particular fitness measurement. Each phenotype will have a set of children that contain genes that affect a fitness measure. Now multiple fitness routines can be ran for each genetic library user. Then depending on the results of a particular fitness measure, the specific genes that directly affect that fitness measure can be modified. This introduces a finer granularity that was missing in the first release of the genetic-library. I would like to thank Peter Williams for reworking the Zaphod Scheduler and help designing the phenotypes. Some of the other features introduced is shifting the number of mutations depending on how well a phenotype is performing. If the current generation outperformed the previous generation, then the rate of mutation will go down. Conversely if the current generation performed worst then the previous generation, the mutation rate will go up. This mutation rate shift will do two things. When generations are improving, it will reduce the number unnecessary mutations and hone in on the optimal tunables. When a workload drastically changes, the fitness should go way down, and the mutation rate will increase in order to test a greater space of better values quicker. This should decrease the time it takes to adjust to a new workload. There is a limit at 45% of the genes being mutated every generation in order to prevent the mutation rate spiralling out of control. SpecJBB and UnixBench are still yielding a 1-3% performance improvement, however (though it's subjective) the interactiveness has had noticeable improvements. I have not broke the Anticipatory IO Scheduler down to a fine granularity in phenotypes yet. Any assistance would be greatly appreciated. Currently I am hosting this project off of: http://kernel.jakem.net [1/4 genetic-lib]: This is the base patch for the genetic algorithm. [2/4 genetic-io-sched]: The base patch for the IO schedulers to use the genetic library. [3/4 genetic-as-sched]: A genetic-lib hooked anticipatory IO scheduler. [4/4 genetic-zaphod-cpu-sched]: A hooked zaphod CPU scheduler. Depends on the zaphod-v6.2 patch. Thanks, Jake - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/