Changes between Initial Version and Version 1 of April2013MultiProcessPitfalls

Apr 17, 2013, 1:17:04 AM (5 years ago)



  • April2013MultiProcessPitfalls

    v1 v1  
     1= Multi-Process Pitfalls =
     3Pearls of wisdom from the BIND10 team to the Kea team.
     5== Sockets ==
     7In standard unix, only a single process can bind to a socket. \\
     8We made "socket creator" process, runs as root, only thing that runs as root. \\
     9Only the init process talks directly to the socket creator. \\
     10Socket creator keeps a cache, hands back the same socket to each auth process. \\
     12DHCP needs raw sockets, broadcast, multicast. \\
     13Either extend socket creator, or make a new multicast socket creator.
     15Possible to have standalone modules, without socket creator? \\
     16Basically compile socket creator in, allocate sockets directory.
     18== Commands to multiple processes ==
     20e.g. Single command to multiple Auth proc receives multiple responses.
     22== Statistics ==
     24We have central collector/collator process.
     26Goal is to aggregate stats from multiple procs of the same type, but we don't have it today. (Or do we?)
     28We don't have alerts/events when certain thresholds are reached. May be a job for a separate monitoring process.
     30== Logging ==
     32Log rolling messes things badly with multiple processes.
     33One proc decides a log is too large, rolls log. Another proc still has a reference to the old file, decides it's too big, rolls it.
     35We've also see mixed log messages from multiple processes. Mostly (always?) in Lettuce tests, suspect Python.