what is Cloud Computing?-The best thing since sliced bread.
What is Cloud Computing?
- Web-scale problems
- 数据规模大,Google每天处理20PB数据
- Answering factoid questions, Learning relations
- Large data centers
- centralization of computing resources in large data centers
- 关键技术:Virtualization, Hypervisor可以管理不同的OS来供不同app使用
- Different models of computing
- Infrastructure as a Service(IaaS): Rent machines
- Platform as a Service(PaaS): Give a nice API
- Software as a Service(SaaS): Just Run it
- Highly-interactive Web applications
Divide and Conquer
Partition&Combine
Memory Typology
- Shared
- Distributed
- Hybrid
Parallelization Problems
- How do we assign work units to workers?
- What if we have more work units than workers?
- What if workers need to share particial results?
- How do we know all the workers have finished?
- What if workers die?
what is the common theme of all of these problems?
A:对于分布式系统,设计一个同步系统(synchronization system)。
Managing Multiple Workers
- Difficult because:
- don’t know the order in which workers run
- don’t know where the workers are running
- don’t know when workers interrupt each other
- Thus, we need:
- lock, unlock
- Conditional variables(wait, notify, broadcast)
- Barriers
- Still, lots of problems:
- Deadlock, livelock, race conditions …….
Patterns for Parallelism
- Master/Slaves
- Producer/Consumer Flow
- Work Queues: shared queue, 在队列中可以处理前面Producers的结果,重新分配给Consumers
关于云计算的一系列博文,参考资料均来自于:
(1). Jimmy Lin and Chris Dyer, 《Data-Intensive Text Processing with MapReduce》, January 27, 2013.
(2).http://mypage.zju.edu.cn/hubing/613728.html
侵删。