Transmit and receive contexts
This presentation is the property of its rightful owner.
Sponsored Links
1 / 7

Transmit and Receive Contexts PowerPoint PPT Presentation


  • 68 Views
  • Uploaded on
  • Presentation posted in: General

Transmit and Receive Contexts. Sean Hefty. Local Queue Management. Traditional view Fixed number of entries Each entry a fixed size. Memory optimized Fixed allocation Entries variable size. Local Queue Data. Application request Specified operation 0 or more IO vectors (SGEs).

Download Presentation

Transmit and Receive Contexts

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Transmit and Receive Contexts

Sean Hefty


Local Queue Management

  • Traditional view

    • Fixed number of entries

    • Each entry a fixed size

  • Memory optimized

    • Fixed allocation

    • Entries variable size

www.openfabrics.org


Local Queue Data

  • Application request

    • Specified operation

    • 0 or more IO vectors (SGEs)

  • Provider limits

    • Size of transmit queue

    • Maximum number of IOVs

www.openfabrics.org


Local Queue Data

Size to record operation

Size to record IO vector

Max IOVs

Size in bytes

Alignment restriction

www.openfabrics.org


Local Queue Management

  • Queue attributes

    • Total size, in bytes

    • IOV limit – max number of IOVs for a single operation

    • Operation alignment, in bytes

      • Calculate padding with each operation

  • Domain attributes

    • Operation size, in bytes

      • Amount of space consumed to track each request

    • IOV size, in bytes

      • Amount of space consumed for each IOV

www.openfabrics.org


Local Queue Management

  • Generic calculation done by app:

    needed = ((op_size + iov_size * nsge) +op_alignment- 1) & ~(op_alignment - 1)

  • For queues with fixed sized entries:

    • needed = op_alignment

  • For queues with variable sized entries

    • needed = op_size + iov_size * nsge

www.openfabrics.org


Injected (inline) Data

  • Queue attribute

    • Maximum injected data size

  • Queue space calculation

    needed = op_size + inject_size

    • (Subject to alignment)

www.openfabrics.org


  • Login