Skip to content

V

Historical Context

Goals

Historical Background

At the time, there were already remote file access interfaces. The authors do not want to re-implement/re-invent API/interfaces for remote file access. They want to build on top of what has ready existed.

  • A diskless system that is not much slower than systems with local disks
  • Message IPC based high performance remote file acess



Implementations

Why IPC may not be suitable for building the remote file access system?

  1. IPC is synchronous (See table below for comparison as oppose to streaming)
  2. Messages have small size (32 bytes each)

Network Protocol: Synchronous vs Streaming

Synchronous Streaming
Diagram //Add Diagram //Add Diagram
Advantage
  • One request outstanding at a time
  • Easy buffer management
  • Simple implementation
  • Achieves high network bandwidth
  • Higher throughput
  • Disadvantage
  • Low utilization of network bandwidth
  • To optimized disk I/O operations, V uses read ahead (and write behind) in chunks to prevent wasting resources. Also, instead of the synchronous network flow they claim to have, authors of V actually implemented a streaming style network flow.

    Original IPC Modified IPC
    Diagram // Insert diagram // Insert Diagram
    Description // Ask how two round trips work //TODO



    Takeway

    Argument For Argument Against
  • Network overhead is insignificant campared to disk read overhead
  • Authors of V actually implements streaming despite saying they don't need streaming for building V which is based on synchronous IPC
  • Authors tried to optimized on individual operations. However, it often turned out that many individual details are not the bottleneck for the entire application. Hence, optimizing these details may not be as much benefits
  • Back to top