||
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只提供了并行程序之间通信协调机制,但未解决并行程序协作问题,
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-28 13:33
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社