6.824 2021 Lecture 1: Introduction

What is a distributed system?
  multiple cooperating computers
  storage for big web sites, MapReduce, peer-to-peer sharing, &c
  lots of critical infrastructure is distributed

P2P和分布式的关系?因为节点之间都是平等的?

Why do people build distributed systems?
  to increase capacity via parallelism
  to tolerate faults via replication
  to place computing physically close to external entities
  to achieve security via isolation

分布式能处理更多请求,所以增加了容量?

通过replication容错

因为是分布式,所以把一些计算设施放到某些entity附近?

安全,isolation?和分布式的关系是?

But:
  many concurrent parts, complex interactions
  must cope with partial failure
  tricky to realize performance potential

各节点之间需要通信,交互;

可能有partial failure

要实现很好的scale很难

Why take this course?
  interesting -- hard problems, powerful solutions
  used by real systems -- driven by the rise of big Web sites
  active research area -- important unsolved problems
  hands-on -- you'll build real systems in the labs
Course components:
  lectures
  papers
  two exams
  labs
  final project (optional)
Lectures:
  big ideas, paper discussion, and labs
  will be video-taped, available online
Papers:
  research papers, some classic, some new
  problems, ideas, implementation details, evaluation
  many lectures focus on papers
  please read papers before class!
  each paper has a short question for you to answer
  and we ask you to send us a question you have about the paper
  submit question&answer before start of lecture
Labs:
  goal: deeper understanding of some important techniques
  goal: experience with distributed programming
  first lab is due a week from Friday
  one per week after that for a while
Lab 1: MapReduce
Lab 2: replication for fault-tolerance using Raft
Lab 3: fault-tolerant key/value store
Lab 4: sharded key/value store
This is a course about infrastructure for applications.
  * Storage.
  * Communication.
  * Computation.
The big goal: abstractions that hide the complexity of distribution.

infrastructure!存储,通信,计算

目标是屏蔽分布式的技术细节(专注于业务,框架的目的其实都差不多)

Topic: fault tolerance
  1000s of servers, big network -> always something broken
    We'd like to hide these failures from the application.
  We often want:
    Availability -- app can make progress despite failures
    Recoverability -- app will come back to life when failures are repaired
  Big idea: replicated servers.
    If one server crashes, can proceed using the other(s).
    Very hard to get right
      server may not have crashed, but just unreach
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值