Comments (8)
Hi! Thank you for the intrest in accelio. If I understand your question correctly, you need to change your application to work with Accelio api. Once you do it, you can switch tcp/trdma simply by changing accelio server binding address from "tcp://10.10.10.10:1234" to "rdma://10.10.10.10:1234".
Katya
from accelio.
Thanks katyakats! Yes, you are right. I really want to transplant my application to work with Accelio API, while my application works well on the traditional TCP socket(by calling the system API such as: socket, bind, listen, send, recv, select, etc.) based on Ethernet cards. Now we integrated IB HCA with RDMA function, so we should transplant app to RDMA devices. We need the concrete RDMA APIs from Accelio, but not changing server binding address as the URI format. Are there any common libxio's APIs available to replace the system APIs? In other words, like JXIO, it is scaled on top of Accelio with the bindings of C++ and JAVA, I need this eincapsulation. Thanks a lot.
from accelio.
Hi! I think if you take a look at the hello world example (examples/usr/hello_world) it might answer most of your question. There you will see a client connecting to server and sending request and receiving responses. The example shows the major Accelio's api functions.
Katya
from accelio.
Hi katyakats! I think you are right! Maybe there are many differences between RDMA send/recv, request/response model and TCP send/recv model. So the xio_xxx could not replace the system calls of TCP socket directly. I will make more efforts to integrate Accelio based on the sample programmes.
I have another question about the fio sample:
run the shell script as root:
./run_f_io_rd_lat.sh
file1: (g=0): rw=read, bs=1K-1K/1K-1K/1K-1K, ioengine=libraio, iodepth=1
fio-2.1.10
Starting 1 thread
libraio: unexpected session event: connection refused. reason: Connect error
**** [0x16c22c0] message 0 failed. reason: Message flushed
libraio: raio_open failed. Connection refused
libraio open failed - file:/172.16.10.214/12345/dev/null flags:2800 Connection refused
libraio: open file failed. /172.16.10.214/12345/dev/null
Run status group 0 (all jobs):
So what's the matter? How to resolve it? Should I run an RAIO server process on 172.16.10.214/12345 at first?
from accelio.
yes you should have a server process running
from accelio.
You are right! But there is a little bug for option -f of raio_server, if a server process run at first with finite option as follows:
./raio_server -a 172.16.10.214 -p 12345 -f 1
Then the client run fio shell with connect error as follows:
libraio: unexpected session event: connection refused. reason: Connect error
The workaound is that running raio_server without option -f, thus the fio shell could run normally on the client side.
from accelio.
Folks,
I am looking at the same issue as areschen raised. I have heavy duty client and multi threaded server code based on traditional tcp/ip socket APIs with well known flow (socket, bind, listen, accept on server side and socket, connect on client side followed by send/receive calls).
Now I have task at hand to replace this with Accelio APIs and library.
Would it be any faster introducing Accelio library and take considerable efforts changing the structure of the code rather than just use rsockets, which involves minimal efforts.
areschen, did you manage to replace your tcp/ip socket code with accelio APIs? If you have some samples for this, it would be really useful.
Thanks in Advance.
-- Jay
from accelio.
Hi @jsudrik first I suggest opening a new issue
In order to start working with accelio you should start with reading the developer's tutorial http://www.accelio.org/wp-admin/accelio_doc/index.html and understand the basic building blocks of an accelio application.
After that I suggest to look at accelio's examples located under the folders examples, tests and benchmark.
You can also take a look in sheepdog code that now supports accelio,
grep the code for HAVE_ACCELIO
https://github.com/sheepdog/sheepdog
from accelio.
Related Issues (20)
- Question about accelio RPC HOT 3
- Flush error in trace log HOT 1
- memory leak without mr HOT 2
- Slow RDMA req/rsp performance even than TCP HOT 1
- Benchmark failure over RDMA
- Thread stuck in busy loop when RDMA is being used
- compile accelio error in centos6.5 HOT 5
- can accelio be used with a framework like wangle HOT 1
- testing hello_test and not respond
- Keepalive isn't always triggered HOT 8
- hello word Concurrent test error
- (sheepdog) mempool is empty for 12587576 bytes HOT 2
- Peer Direct Support HOT 1
- Huge latency noticed of RDMA session_established for multi-process HOT 4
- SIGSEGV on hello_test HOT 1
- failed to build kmod with MLNX_OFED 4.0-2.0.0.1 driver HOT 1
- Is accelio abandoned? HOT 15
- xio_context_stop_loop sometimes failed to stop loop HOT 11
- kernel built failed as conflict with ofed-3.4
- Is accelio.org website still alive? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from accelio.