Skip to content

Switching RPC library in new pserver implement #2602

@typhoonzero

Description

@typhoonzero

Related issue: #1721

We are using net/rpc in our implementation currently. In fact, I found that when we writing a client for trainers to call from, we have to implement the c binding first, and then compile it to a shared object(so), and then use swig to export that library, and then using ctypes to import so lib from python. The procedure can be displayed below:

go pserver

As we can see, we need to implement so many things. The root cause is that net/rpc in go don't have c or python bindings, we have to convert go-written clients to c and then to python.

I would like to introduce a more simple and efficient way using grpc instead of net/rpc as below:

go pserver2

If we all switch to grpc and using python binding to implement the pserver client and master client, it will be much more simpler.


Some etcd3 python client bindings:

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions