I have a project to suggest, but it isn’t strictly related to AI. The general context is Erlang (etc) use cases that involve large numbers of small, infrequently activated, processes. The task would be to:
- characterize the VM’s virtual memory behavior
- document (and explore?) ways to optimize this
For example, let’s say that we were trying to model 1M or so cortical columns. Since only a small fractions of the columns are likely to be relevant to a given “thought process”, they won’t be receiving messages (and thus running) very often. So, it would make sense for their memory to be paged out.
One question we might have is: Which portions of a process’s memory footprint have good spatial locality of reference (and how much room do they tend to occupy).
Following up on this, we could ask what techniques can be used to improve the (spatial or temporal) locality of reference, etc. Aside from having some interesting and useful things to report, a thesis of this nature could document existing tools and possibly present new ones.
-r