Ticket #10 (new enhancement)

Opened 4 years ago

Last modified 4 years ago

Make libkombilo multi-threaded

Reported by: ug Owned by: ug
Priority: minor Milestone: kombilo1.0
Component: search_engine Version:
Keywords: Cc:

Description

Clearly it is becoming more important to use the power of machines with several cpu's by offering a multi-threaded version of the pattern search.

My first thought about this is that multi-threading can be implemented without changing much of the Kombilo code proper, by simply having the program look at different games in different threads. That means that we would split the list of games into chunks of 1000 games, say, and start a thread of its own for each of the chunks. The only thing which has to be done is to ensure that there are no race conditions when the threads write their result, and the list of results has to be sorted appropriately after the search.

For the basic infrastructure of threading, one of the available libraries should be used.  Boost comes to mind. (There is also the  threadpool extension.)

Note: See TracTickets for help on using tickets.