注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

zorksylar

Nothing is impossible , if distributed.

 
 
 

日志

 
 

【6.824】【notes】 Intro : Distributed systems  

2012-08-06 12:32:13|  分类: Distributed |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Why distribute?(pros)
1) to connect physically seprate entities.
2) to achieve security via physical isolation
3) to tolerate faults via replication at separate sites
4) to increase performance via parallel CPUs/mem/disk/net
But :(cons)
complex ,hard to debug , new classes of problems
Lamport : A distributed system is one in which a failure of a computer you didn't even know existed can render your own computer unusable.

Example : single shared file system, so users can cooperate lots of client computers
Topic 1 : architecture
     Choice of interfaces
          Monolithic file server?  Alll file system services share the same space.
          Block server(s) ->  FS loginc in clients? (mark)
          Separate naming server + file servers ? (mark)
          Separate FS + block servers ?               (mark) 
     Single machine room or unified wide area system?( same with front ? mark) 
          Wide-area dramatically more difficult.
     Client/Server or peer-to-peer ? (p2p? mark)
     Interact w/ performance , security , fault behavior.

Topic 2 : implementation
     How do clients / server communicate ?
          Direct network communication is pretty painful
          Want to hide network stuff from application logic
     Most systems orgnize distribution with some structuring frameworks
           RPC, RMI, DSM, MapReduce, &c

Topic 3 : performance
     Distribution can hurt : network bandwidth and latency bottlenecks
           tricks : caching , threaded servers      
     Distribution can help : parallelism
     Idea : scalable design
           Nx servers -> Nx total performance
     Need a way to divide the load by N ( load balance)
           Split by user
           Split by file name
           Split by random (I think )
     Rarely perfect -> only scales so far
           Load imbalance
                  One very active user
                  One very popular file 
                    --> one server 100% busy, others mostly idle
                    --> Nx servers -> 1x performance
           Global operations , e.g search 
 
Topic 4 : fault tolerance
     Can I use my files if server / network fails ?
     Maybe : replicate the data on multiple servers
           Perhaps client sends every operation to both
           Maybe only needs to wait for one reply.      
     Opportunity : operate from two "replicas " independently if partitioned ?
     Opportunity : can 2 servers yield 2x avaliability and 2x performance ?

Topic 5 : consistency 
     Problem : keep replicas identical
           if one is down, it will miss operations
                 Must be brout up to date after reboot
           if net is broken, BOTH replicas mybe live , and see different ops
                 Delete file, still visible via other replica
     Problem : operations may appear to clients in different orders
           Due to caching or replication
           Due to operation exec in different order to different replicas
     Problem : atomicity of multi-server operations 
           eg : mv /users/x/f   /users/y/f
           Might an observer see no file at all ?
           Might a crash result in lost file ?
     Consistency often hurts performance (communication ,blocking )
           Many systems cut corners.

Topic 6 : security 




 
  评论这张
 
阅读(407)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018