Currently ML/TensorFlow module requires an ability to expose some functionality 
to be used in C++ code. 

As far as I understand, currently Ignite provides an ability to work with it 
from C++ only through the Thin Client. The list of operations supported by it 
is very limited. What is the best approach to work with additional Ignite 
functionality (like ML/TensorFlow) from C++ code?

I see several ways we can do it:
1. Extend list of Thin Client operations. Unfortunately, it will lead to 
overgrowth of API. As result of that it will be harder to implement and 
maintain Thin Clients for different languages.
2. Use Thin Client as a "transport layer" and make Ignite functionality calls 
via puts/gets commands/responses into/from cache (like command pattern). It's 
looks a bit confusing to use cache with put/get operations as a transport.
3. Add custom endpoint that will listen specific port and process custom 
commands. It will introduce a new endpoint and a new protocol.

What do you think about these approaches? Could you suggest any other ways?

To have more concrete discussion lets say we need to functions available from 
C++: "saveModel(name, model)", "getModel(name)" already implemented in Ignite 
ML and available via Java API.

Reply via email to