Thread: famous multi-process architectures
Hi, sure you all have heard of Google Chrome. Reading their comic strips [1], I got reminded of Postgres, because they use a multi-process architecture [2] as well, selling it as *the* new security feature. Maybe we can hop on that train? Something like: "Google got inspired by Postgres: they use the same multi-process architecture for their browser as Postgres already features for many years. Simply because it provides better crash-safety than threaded applications." It might help a bit in getting rid of those puzzled faces that tend to appear when telling people, that Postgres doesn't use threads... Even if we don't push that, it certainly is another good and famous example of multi-process architectures. Regards Markus Wanner [1]: the architecture comic strip for Google Chrome: http://www.google.com/googlebooks/chrome/ (processes vs threads starts at page 3) [2]: more docs about their multi-process architecture: http://dev.chromium.org/developers/design-documents/multi-process-architecture PS: I'm already wondering how their Browser copes with an OOM killer ;-)
-----BEGIN PGP SIGNED MESSAGE----- Hash: RIPEMD160 > "Google got inspired by Postgres: they use the same > multi-process architecture for their browser as Postgres > already features for many years. Simply because it > provides better crash-safety than threaded applications." That's a heck of a stretch to say they were "inspired" by Postgres. A multi-process model is hardly a unique development of Postgres, and it's not like we don't still have crash problems: "process exited abnormally and possibly corrupted shared memory" "terminating connection because of crash of another server process" I suspect Chrome doesn't have the same shared memory requirements that a database does, of course. - -- Greg Sabino Mullane greg@turnstep.com PGP Key: 0x14964AC8 200809041014 http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8 -----BEGIN PGP SIGNATURE----- iEYEAREDAAYFAki/7dUACgkQvJuQZxSWSshiAACg6cYg8GkpoNmTIV1/edxEdB0p AkUAn2HMQPntdqjQARWA4Z9pKef7aPwj =mpK2 -----END PGP SIGNATURE-----
Hi, Greg Sabino Mullane wrote: > That's a heck of a stretch to say they were "inspired" by > Postgres. Of course! It was supposed to be a marketing phrase. Try prove the opposite ;-) Or in other words: the inspiration certainly didn't come from MySQL. > A multi-process model is hardly a unique development > of Postgres, and it's not like we don't still have crash problems: > > "process exited abnormally and possibly corrupted shared memory" > "terminating connection because of crash of another server process" Huh? IMO these are good examples of how solid Postgres is: it detects the problem, takes appropriate measures and continues to work. Just as Google promises for Chrome. That certainly counts as "crash-safety", especially for low values of "safety" as used in advertising. Note that Google explicitly states that their rendering engine or other parts of the browser might crash. But everybody is touting Chrome's crash safety now... Obviously it's not about preventing crashes completely, but being able to cope with them. All I'm trying to say is that there might come up a new awareness of the advantages of multi-process based designs (as opposed to threaded ones). Regards Markus Wanner
Markus Wanner wrote: > "Google got inspired by Postgres: they use the same > multi-process architecture for their browser as Postgres Surely apache was (and optionally still is) a more famous multi-process architecture. But is it really a big deal? Isn't the only difference is that in a multi-process architecture memory is protected from other processes unless you explicitly mark it shared while in a multi-threaded architecture memory's shared unless you explicitly mark it thread-local? That some OS architectures implement one or the other of these poorly -- poor performance of either threads or processes; or poor protection of thread-local storage -- but that seems like an OS quality-of-implementation detail. Other differences (which thread/process gets a signal, how are file-handled shared) seem to be minor details that vary from OS to OS anyway.
Hi, Ron Mayer wrote: > But is it really a big deal? Technically no, but from a marketing perspective, I'd say. ("What? Postgres is not multi-threaded?") Regards Markus Wanner