Hi Evgeniy, On Sat, 14 Jun 2008, Evgeniy Polyakov wrote:By synchronous/asynchronous, are you talking about whether writepages() blocks until the write is acked by the server? (Really, any FS that does writeback is writing asynchronously...) Well... Ceph writes synchronously (i.e. waits for ack in write()) only when write-sharing on a single file between multiple clients, when it is needed to preserve proper write ordering semantics. The rest of the time, it generates nice big writes via writepages(). The main performance issue is with small files... the fact that writepages() waits for an ack and is usually called from only a handful of threads limits overall throughput. If the writeback path was asynchronous as well that would definitely help (provided writeback is still appropriately throttled). Is that what you're doing in POHMELFS? Your meaning of "transaction" confused me as well. It sounds like you just mean that the read/write operation is retried (asynchronously), and may be redirected at another server if need be. And that writes can be directed at multiple servers, waiting for an ack from both. Is that right? I my view the writeback metadata cache is definitely the most exciting part about this project. Is there a document that describes where the design ended up? I seem to remember a string of posts describing your experiements with client-side inode number assignment and how that is reconciled with the server. Keeping things consistent between clients is definitely the tricky part, although I suspect that even something with very coarse granularity (e.g., directory/subtree-based locking/leasing) will capture most of the performance benefits for most workloads. Cheers- sage --
| Goswin von Brederlow | Re: [00/41] Large Blocksize Support V7 (adds memmap support) |
| Andrew Morton | 2.6.23-rc4-mm1 |
| Pavel Machek | iwl3945 in 2.6.24-rc1 dies under load |
| Serge E. Hallyn | Re: LSM conversion to static interface |
git: | |
| Johan Herland | [PATCH 0/6] Refactor the tag object |
| Johan De Messemaeker | Re: People unaware of the importance of "git gc"? |
| Mark Levedahl | autoCRLF, git status, git-gui, what is the desired behavior? |
| Dan Farina | backup or mirror a repository |
| Mark Reitblatt | US Export of Cryptography |
| Richard Stallman | Real men don't attack straw men |
| Sam Fourman Jr. | Asus Striker Extreme does not support 4GB memory |
| Sunnz | How do I configure sendmail? |
| Patrick McHardy | pkt_sched: add DRR scheduler |
| jamal | [PATCH 2/3][NET_BATCH] net core use batching |
| Evgeniy Polyakov | [resend take 2 0/4] Distributed storage. |
| Julius Volz | Adding SNAT support to LVS/NAT |
