Does this mean that for mod_perl running the prefork MPM, each child process needs to load the cache? That must use a lot of memory, no?
Yes, and KinoSearch is not thread safe. The memory requirements can be significant for large indexes, even though the data structures are not Perl's and attempts have been made to keep things compact.
And how do you handle cache updates across all the child processes (whether they're on the same machine or different machines?
A Searcher instance represents a snapshot of the index in time. Until you manually reload by creating a new Searcher, changes to the index are not visible.