मैं यह पता नहीं लगा सकता कि InfiniBand के साथ "कनेक्शन" का मॉडल क्या है?
विशेष रूप से, मैं RDMA स्थानांतरण करना चाह रहा हूँ। अंतिम लक्ष्य आरडीएमए तत्काल के साथ लिखना है, लेकिन मैं सिर्फ आरडीएमए हस्तांतरण के साथ शुरू कर रहा हूं।
यदि इसे एक आईपी कनेक्शन से तुलना करना है, तो आप एक कनेक्शन शुरू करते हैं, उस कनेक्शन पर कमांड जारी करते हैं, फिर कनेक्शन समाप्त करते हैं।
यदि इसकी तुलना HTTP क्वेरी / प्रतिक्रिया से की जा सकती है, तो आप एक स्व-निहित अनुरोध करते हैं और वह है।
इनमें से प्रत्येक के पास काफी अलग एपीआई हैं, लेकिन मैं एपीआई में इन के लिए पैटर्न नहीं खोज सकता।
उदाहरण के लिए, जब मैं एक RDMA हस्तांतरण के लिए आवश्यक संरचनाओं का निर्माण करता हूं, तो मैं इसे अपने पते की जानकारी और दूरस्थ मेमोरी के vaddr / rkey देता हूं ... लेकिन कहीं नहीं मिल सकता है कि इसे लक्ष्य होस्ट इंटरफ़ेस की पता जानकारी कहां देनी है।
लगभग हर उदाहरण मैंने देखा है कि C कॉल्स और जटिल संरचना (OO, लोग?) का एक भयानक संग्रह है और इसके अलावा, वे या तो IBConnectionManager का उपयोग करते हैं या अन्य जानकारी को पारित करने के लिए सॉकेट का उपयोग करते हैं, और एपीआई के आधार को आगे बढ़ाते हुए। आरडीएमए-राइट या आरडीएमए-राइट-विथ-इमीडिएट प्रदर्शन करने के लिए वास्तव में क्या आवश्यक है, इसका स्पष्ट विवरण किसी को नहीं लगता है।
इसलिए: मैं यह कैसे करु?