1 / 10

Tentative Updates in MINO

Tentative Updates in MINO. Steven Czerwinski Jeff Pang Anthony Joseph John Kubiatowicz ROC Winter Retreat January 13, 2002. MINO: Mail service on OceanStore. Enables mail storage and access Individual user accounts with INBOX and folders Send e-mail through SMTP proxy

benard
Download Presentation

Tentative Updates in MINO

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tentative Updates in MINO Steven Czerwinski Jeff Pang Anthony Joseph John Kubiatowicz ROC Winter Retreat January 13, 2002

  2. MINO: Mail service on OceanStore • Enables mail storage and access • Individual user accounts with INBOX and folders • Send e-mail through SMTP proxy • Read and organize e-mail through IMAP proxy • Interesting application for OceanStore • Mail needs global scale and mobility • Tested client APIs and tentative updates • It’s not a file system UnmodifiedMail Client MINO Global ScaleMail Service AccessPoint (Berkeley) AccessPoint (Tahoe) Send e-mail toczerwin@ostore Read new message, Move to OceanStore folder

  3. Folder Object MessageObject OceanStore Client API AccessPoint Inner RingNodes Mail Object Layer IMAP Proxy SMTP Proxy • MINO builds on OceanStore • Defines message, folder, mail drop objects • Access point is OceanStore client to support legacy protocols • Access point typically runs on client machine The MINO architecture Object • OceanStore provides object store access • Inner Ring commits updates, Replicas cache objects ClientNode Replica Nodes OceanStore

  4. Client ReplicaNodes Adapting to mobility What happens when we go to Tahoe? • Replicas of our mail objects migrate towards us • Updates (writes) must still go to inner ring • Inner ring is bottle neck to adaptability • Can choose replicas based on conditions, but not inner ring • Commit time = Ttransmit to IR + Tin queue + Tprocess update Berkeley Granlibakken Internet InnerRingNodes

  5. SaveTentative Saved (4 responses) Commit update Completed Removing the bottleneck • Use relaxed consistency & tentative updates • Don’t wait for the inner ring response • Consider updates tentatively committed when received by n of m replicas • Provides durability • Mail layer uses application-specific logic to resolve conflicts Replica Nodes Inner RingNodes Move Msg MailObject Layer IMAP Proxy

  6. Update Request Action: Replace Data Predicate: Version = 5 Update failed, version = 6 Folder Object Reapply action Object Data Pending Actions Update Request #2 Action: Replace Data Predicate: Version = 5 • Submits update, predicated on version • On failure, client is notified and reads newest • Checks pending actions for true conflict, then reapplies • Resubmits with new predicate Conflict detection and resolution Inner Ring Nodes Client • Client tracks pending actions

  7. Benchmarking Client • Analyzed benefits to mobile clients • IMAP login benchmark • Authentication, client sync, and fetches new msgs • 8 blocking IMAP commands • Trace from Mozilla 1.0 IMAP client • Experiment • Account with 100 msgs (3 new) and 50 folders • 50 trials run for each artificial latency value • Cases: no tentative, tentative, tentative w/ warm caches ArtificialLatency Inner Ring Nodes ReplicaNodes

  8. Results Tentative updates more robust to increases in latency!

  9. Unresolved issues • How do we pick remote replicas? • Failures should be independent • Need at least one well-behaved remote replica • Failure rate affects choosing n and m • How do we know when to use tentative? • Tentative benefits when IR slow or far away • Puts load on infrastructure resources (replicas) • What criteria are we trying to optimize? • Investigating introspection to address issues

  10. Conclusions • Fully functional mail service with OceanStore • Works with unmodified mail clients • Supports IMAP and SMTP access • Investigated tentative commits in OceanStore • Client API sufficient to support conflict resolution • Showed improvement for mobile clients • Made suggestions for next prototype • Future work • Using introspection to make optimization decisions • Sharing tentative updates with other sessions

More Related