Lecture 03

  • Lecture 02 recap
    • Computer network vs Distributed system
      • DS is a software on top of CN
    • ISO OSI Architecture
      • Physical/Link layer is point-to-point
      • Transport layer is end-to-end
    • Challenges of distributed system
  • Distributed system models
    • Application logic layer (ALL) & Presentation layer & Data layer
    • Single tier: Three layer in one component (Dump terminal)
    • Two tier Architecture: ALL and Data layer in "Server", Presentation layer in "Client"
    • Three tier: Further separate ALL and Data layer
      • Middleware: infrastructure that supports ALL development
    • Service layers in Distributed system
      • DS is on top of a platform
      • Middleware:
        • Mask the complexity of underlying platform
        • Provide a programming model (env, language, etc.)
      • Architectural models of DS
        • Three things to consider
          • Functions of components
          • Placement of data/workload
          • Relationship b/w components
        • Partition of process and memory
      • System architectures
        • Client-Server model (Server is a process)
        • Multiple servers
        • Proxy server and caches
        • Peer processes (Block-Chain is brilliant)
      • Design Requirements for DS's
        • Performance
          • Responsiveness: make sure some worker is ready
          • Throughput: keep all workers busy
          • Load balancing: both computation and network load
        • Quality of services, QoS (e.g. video frame & sound coordination)
          • Deadline properties: hard & soft deadline
          • Adaptability
        • Dependability (reliability ?)