jiangdm的个人博客分享 http://blog.sciencenet.cn/u/jiangdm

博文

分布式系统 读后感

已有 5223 次阅读 2010-8-27 11:58 |个人分类:Software|系统分类:科研笔记

Contents
1 books
[1] Distributed Systems Concept and Desgin
[2] Distributed Systems Principles and Paradigms
[3] 大规模Web服务开发技术 --- 数据结构、内存、操作系统、数据库、服务器/基本设施
[4]
2 tools
[1] cloud computing tools
[2]
3 分布式并发计算

分布式系统入门书主要有两本,一是George Coulouris《Distributed Systems Concept and Desgin》2nd, 另一本是Andrew S.Tanebaum《Distributed Systems Principles and Paradigms》 2nd,均有中文版。个人而言,更喜欢后一本书。主要了解分布式系统层次,关键问题大概而已。我感觉分布式系统研究主要集中在如下几方面:
可信性和安全性 分布式算法和数据结构(例如DHT) 粒度计算(如分布式事务、数据复制及一致性模型) 服务组合与协作(基于无序网络,包括移动计算和普适计算)此Word文件是我刚开始去武汉大学所做,现在看来比较粗糙,但也是前进中的足迹
Distributed Sytems Principles and Paradigms.doc

分布式系统概念与设计 读后笔记: Distributed Sytems Principles and Paradigms.doc


[3] 大规模Web服务开发技术 --- 数据结构、内存、操作系统、数据库、服务器/基本设施
 
大规模Web服务开发:
         扩展性、负载均衡
         冗余性
         低成本维护
 
大规模数据应对之策:
         数据流程:Hard disk -> Memory -> Cache -> CPU
         从计算机体系结构角度分析:不同层级硬件处理速度差异
         海量数据 -> I/O负载
 
日本Hatena: LVS + keepalived (负载均衡 + 运行状态监视)
 
Hatena工作流程:
         每天早上团队用10分钟开会,沟通前一天进度和当日计划
         确定任务负责人,明确目标
         实现计划  + 测试用例
 
Tools:
编程语言:Perl, C++
数据库:MySQL   
版本控制:git
 
大规模数据处理难点:内存容量与数据海量之间矛盾
         无法在内存中计算,则必须搜索Hard disk
         Hard disk速度缓慢,I/O耗时
         如何解决矛盾?
 
负载均衡:光推算是不够的,更重要的是测量,找出系统瓶颈
         寻找瓶颈基本流程:
                  查看平均负载(average load)
                  确认CPU、I/O由无瓶颈
可扩展性:
 
 
大规模数据处理重点:
         尽可能在内存中完成?
                  降低Hard disk寻道次数
                  可分布式实现,有效利用局部性
         算法和数据结构
                  线性搜索 -> 二叉树搜索
                  O(n) -> O(log n)
         数据压缩、IR
 
操作系统的缓存机制 -> 减少Hard disk访问
Tools:sar 操作系统指标分析工具
 
单纯增加服务器数量:从成本和扩展性角度并非好策略
 
利用局部性的分布式
例子: Partition
 
面向分布式的MySQL应用
         利用操作系统缓存
         索引设置
                  B tree -> B+ tree
                  关键字链接:正则表达式 -> Trie tree -> Aho-Corasick算法
         体系设计的前瞻性
                  Master/slave,表分割,key-value
 
Haterna Bookmark分类:
         Bayesian filter
 
全文检索技术
         Inverted index逆向索引
 
搜索步骤:
         爬行
         存储
         建立索引
         搜索
         评分
         显示结果
 
 
References:
Introduction to Information Retrieval, 2008
Managing Gigabytes, 1999
Search Engines: Information Retrieval in Practice,  2009
 
 
Twitter 负载均衡方法
         MySQL + Memcached
         Apache Cassandra
 
Web 服务:
         低成本、高效率
         设计中可扩展性与用户响应速度
         开发速度和黏合


 读后感:一般,内容泛泛
 
2 tools
[1] cloud computing tools
1> CloudSim
2009年4月8日,澳大利亚墨尔本大学的网格实验室和Gridbus项目宣布推出云计算仿真软件,称为CloudSim。它是在离散事件模拟包SimJava上开发的函数库,可在Windows和Linux系统上跨平台运行,CloudSim继承了GridSim的编程模型,支持云计算的研究和开发

2> the eucalyptus open-source cloud

3> Google
三篇经典论文(MapReduce,GFS,BigTable)
3  分布式并发计算
MPI(Message Passing Interface,消息机制)
OpenMP
问题:       MPI和OpenMP只提供了并行程序之间通信协调机制,但未解决并行程序协作问题,

分布式系统原理 介绍.pdf

分布式系统工程实践.pdf

 

 

 

 



http://blog.sciencenet.cn/blog-468147-356755.html

上一篇:Windows API(待续)
下一篇:数据结构学习

2 吉宗祥 唐常杰

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-5-26 11:02

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部