Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • VILLASnode VILLASnode
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 28
    • Issues 28
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 6
    • Merge requests 6
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • ACS
  • Public
  • VILLASframework
  • VILLASnodeVILLASnode
  • Issues
  • #194

Closed
Open
Created Aug 13, 2018 by Dennis Potter@dennis.potter

Pending connect state

While working on my thesis I came across the original proposal for the states of the Virtual Interface Architecture. See image at the bottom of this issue.

Right now we only support STARTED and CONNECTED which is not entirely right. In order for the Infiniband node to be able to receive data immediately after connection, we start filling the Queue Pair (Virtual Interface in this image) with Work Requests as soon as it is created. To be able to do that, at the receive side, we set the state to CONNECTED while it should actually be PEND_CONNECT. So:

Pseudocode of situation now:

ib_read() 
{
    if state == CONNECTED {
       // fill receive queue if not full

       // try to read from the buffers
    }
}

Pseudocode of new, better situation

ib_read() 
{
    if state == CONNECTED || state == PEND_CONNECT
       // fill receive queue if not full

    if state == CONNECTED
       // try to read from the buffers
}

@stvogel What do you think. I think the proper way to handle this, is to add the pending connect state. It should not influence any other code, but is actually the right way to handle Virtual Interface Architectures.

image

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking