• this is used to broadcast a file to all nodes from a specific node.

Specific Algorithm

Layout of the Connection

  • To achieve maximum amount of throughput, the broadcast is done in a RING fashion.
  1. first, the broadcaster of a file is identified among the nodes
    • the src sender
  2. then, a set of nodes that will receive the file and write it into its own disk will identified
    • the receivers
  3. the set of nodes that will be receiving the file, but NOT writing it into its own disk, will be identified
    • the forwarder
    • these kind of nodes are nodes that already have a file to be broadcasted in the same path
  4. then, all the participants are made known through broadcasting
    • this includes, the src sender, the receivers, and the forwarders
  5. each participant will have a list of all other participants including itself. By sorting this list, all nodes will have the same sequence of participating nodes
  6. each participating node will ONLY connect to the node right behind itself
    • the final node, does not connect to anyone
    • needless to say, the first node is the node that will be broadcasting the file.

Performing the Broadcast

  1. The first node reads a block from the file and sends it to its successor
  2. All other nodes will be blocking with recv(), if a block is received, pass it onto its successor
    • if the socket is a receiver node, write the block onto the file path
  3. The last node will not send to any other node
  • continue this until all blocks are sent

トップ   編集 バックアップ 添付 複製 名前変更 リロード   新規 一覧 最終更新   最終更新のRSS
© 2007 Taura lab. All Rights Reserved.
Powered by Pukiwiki, styled by Kei_ / Last-modified: 2016-07-12 (火) 15:12:44 (1132d)