Sage Weil wrote:I'm doing it on a 2000 node system across a country. There are so many links down at any given time, we have to handle long stretches of inconsistency, and have strategies for merging local changes when possible to reduce manual overhead. But we like opportunistic consistency so that people at site A can phone people at site B and view/change the same things in real time if a path between them is up and fast enough (great for support and demos), otherwise their actions are queued or refused depending on policy. It makes sense to configure which data and/or operations require global consistency or block, and which data it's ok to modify locally and merge automatically in a netsplit scenario. Think DVCS during splits and coherent when possible. E.g. as a filesystem, during netsplits you might configure the system to allow changes to /home/* locally if global coherency is down. If all changes (or generally, transaction traces) to /home/user1 are in just one coherent subgroup, on recovery they can be distributed silently to the others, unaffected by changes to /home/user2 elsewhere. But if multiple separated coherent subgroups all change /home/user1, recovery might be configured to flag them as conflicts, queue them for manual inspection, and maybe have a policy for the values used until a person gets involved. Or instead of paths you might distinguish on user ids, or by explicit flags in requests (you should really allow that anyway). Or by tracing causal relationships requiring programs to follow some rules (see "virtual synchrony"; the rule is "don't depend on hidden communications"). That's a policy choice, but in some systems, typically those with many nodes and fluctuating communications, it's really worth it. It increases some kinds of robustness, at cost of others. -- Jamie --
| Linus Torvalds | Linux 2.6.27-rc8 |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Linus Torvalds | Linux 2.6.27 |
| Rafael J. Wysocki | [Bug #10714] powerpc: Badness seen on 2.6.26-rc2 with lockdep enabled |
git: | |
| Peter Stahlir | Git as a filesystem |
| skimo | [PATCH 02/15] git-config: add --remote option for reading config from remote repo |
| Aaron Bentley | Re: VCS comparison table |
| Carlos Rica | Re: If you would write git from scratch now, what would you change? |
| Pavel Machek | Re: [PATCH] [Request for inclusion] Filesystem in Userspace |
| Arjan van de Ven | Re: GFS, what's remaining |
| Badari Pulavarty | Bufferheads & page-cache reference |
| Suparna Bhattacharya | Reviewing ext3 improvement patches (delalloc, mballoc, extents) |
| Richard Stallman | Real men don't attack straw men |
| Kevin | uvm_mapent_alloc: out of static map entries on 4.3 i386 |
| Brandon Lee | DELL PERC 5iR slow performance |
| Todd Pytel | IDE or SCSI virtual disks for VMWare image? |
| usb mic not detected | 3 hours ago | Applications and Utilities |
| Problem in Inserting a module | 4 hours ago | Linux kernel |
| Treason Uncloaked | 9 hours ago | Linux kernel |
| Shared swap partition | 20 hours ago | Linux general |
| high memory | 2 days ago | Linux kernel |
| semaphore access speed | 2 days ago | Applications and Utilities |
| the kernel how to power off the machine | 2 days ago | Linux kernel |
| Easter Eggs in windows XP | 2 days ago | Windows |
| Root password | 3 days ago | Linux general |
| Where/when DNOTIFY is used? | 3 days ago | Linux kernel |
