@article {Komosinski-and-Ulatowski-2016,
	title = {Multithreaded computing in evolutionary design and in artificial life simulations},
	journal = {The Journal of Supercomputing},
	volume = {73},
	year = {2017},
	pages = {2214{\textendash}2228},
	abstract = {This article investigates low-level and high-level multithreaded performance of evolutionary processes that are typically employed in evolutionary design and artificial life. Computations performed in these areas are specific because evaluation of each genotype usually involves time-consuming simulation of virtual environments and physics. Computational experiments have been conducted using the Framsticks simulator running a multithreaded version of a standard evolutionary experiment. Tests carried out on five diverse machines and two operating systems demonstrated how low-level performance depends on the number of physical and logical CPU cores and on the number of threads. Two string implementations have been compared, and their raw performance turned out to fundamentally differ in a multithreading setup. To improve high-level performance of parallel evolutionary algorithms, i.e. the quality of optimized solutions, a new distribution scheme that is especially useful and efficient for complex representations of solutions {\textendash} the convection distribution {\textendash} has been introduced. This new distribution scheme has been compared against a random distribution of genotypes among threads that carry out evolutionary processes.},
	issn = {1573-0484},
	doi = {10.1007/s11227-016-1923-4},
	url = {http://www.framsticks.com/files/common/MultithreadedEvolutionaryDesign.pdf},
	author = {Maciej Komosinski and Szymon Ulatowski}
}
