CS8803J: High Performance Communication
Class Notes
3.18.2002
Topic: Hybrid Deposit

  1. Outline (3 take-home points, 2 "freebies")

    1. Argument
    2. Implementation
    3. IXP Implementation
    4. (Evaluation)
    5. (Final Ramblings)

    Various low level approaches


  2. Argument

    1. Hamlyn: all sender controlled

      1. pros

        1. efficient: avoids interrupts
        2. separate data transmission from control

      2. cons

        1. isolation: sender must have intimate knowledge of recipient

          1. ok for high-performance parallel environment
          2. unrealistic for distributed environment

        2. hard to implement abstractions like multi-sender queues

    2. AM: all recipient controlled

      1. powerful, complex model
      2. difficult to implement queues, etc. with

    3. Hybrid Deposit point of view

      1. "middle road" approach
      2. Don't want everything at sender/receiver

    Approach characteristic comparsion


  3. Implementation

    "Playpen" diagram


    1. "Playpen" communication

      1. Send/Recv. area pinned in physical mem.
      2. communication over connection

        1. connection ID
        2. matches sender area on send side, receiver area on recv.

      3. no scatter to multiple
      4. no gather from multiple

    2. Messages

      Message format


      1. consist of data payload, operand, opcode, and header
      2. Operand, Opcode

        1. Receiver executes ONE instruction from message
        2. Operand used if needed
        3. Instruction set (from Fig. 2 in paper)

          1. address generation
          2. simple arithmetic
          3. interrupt generation
          4. Hardware Implementation

            1. Fixed instruction set, could implement in HW
            2. TLB in HW as well

    3. Protection mechanism

      1. Limit send/recv. area to "DMZ" memory
      2. Use OS virtual address mechanism
      3. How accomplished in AM?

        1. "Pure" AM

          1. message includes instruction pointer to arbitrary code: no protection

        2. modified AM

          1. message includes code table index to set of registered handlers
          2. can't execute arbitrary code, only registered

      4. Protection in Hybrid Deposit

        1. "Pure" Hybrid Deposit

          1. raw instructions == no protection

        2. modified Hybrid Deposit

          1. use code table index as above

  4. IXP Implementaiton

    1. Small operations

      1. executed by uEngine

    2. HD Cells

      1. wrap in Ethernet frame

        1. Could use ACE framework

      2. Limited State

        1. IXP SRAM

      3. Send/Recv. Areas

        1. host-DRAM
        2. IXP SDRAM (?)

  5. Evaluation

    1. How do we evaluate these systems? Relative performance/merits/failings?
    2. Method

      1. Implement
      2. Implement large body of SW that uses it
      3. Compare to large body of SW using different method

    3. In other words: very hard!

  6. Final Ramblings

    1. Fragmentation

      1. Hamlyn/HD more suitable for message fragmentation than AM

    2. Other Hybrid ideas/extensions

      1. Multiple packet formats
      2. Extended operations

        1. Fragmentation support
        2. Data transformation operations

    3. AM enhancements

      1. 3 "Fixed" standardized handlers could make AM more "remote mem like"

        1. read, write, queue


Last modified: Fri Mar 22 16:04:39 EST 2002
daniel j. rocco