Integrate Microsoft R Open and Microsoft R Server on Lablup backend.ai
- Microsoft Azure: you know it! :D
- Backend.AI: A server-side framework that provides an API-based remote code execution in various languages and pre-configured runtimes.
- Offer Lablup's Backend.AI customers a high-performance, highly scalable R and machine learning computation kernels
- Validate and demonstrate benefits of Azure integration for the Backend.AI customers
-
Joongi Kim (Lablup)
- Integrate Microsoft R Server to Backend.AI
- Integrate Azure Blob Storage to Backend.AI
- Help other people by providing necessary modifications/extensions of Backend.AI
-
Jonghyun Park (Lablup)
- Build docker images for CNTK and Microsoft R Open
-
Jeongkyu Shin (Lablup)
- Provide an example machine learning problem solving case in CNTK
-
Krit Kamtuo (Microsoft)
- Provide an example to demonstrate the performance benefits of Microsoft R
- Help other people to learn and use R
-
Daewoo Kim (Microsoft)
- Provide all necessary resources, including Azure VMs and documentation/guides
- Install Microsoft Machine Learning Server VM on Azure
- Or, deploy Microsoft Machine Learning Server VM on Azure Portal
- Administration Utility, Configure server for "One-box"
- Set a local admin password
Now you can access to 12800 port - endpoint of R server
- Set up Swagger API for Restful API service
- Request login URL http://SERVER-URL:12800/login with HTTP request body
{
"username": "admin",
"password": "your-admin-password"
}
- Generate access_token and get session_id http://SERVER-URL:12800/sessions
- Execute code with generated session_id http://SERVER-URL:12800/sessions/session_id/execute
Reference paper :
APIs for operationalizing your models and analytics with Machine Learning Server
Machine Learning Server swagger specification
REST Calls using PostMan for R server Operationalization
We have forked the kernel-runner and kernels repositories from Lablup: lu-project/backend.ai-kernel-runner, lu-project/backend.ai-kernels.
- MRS: Built a kernel runner module as an adaptor to the MRS REST API
- MRO: Baked a docker image
The changes are merged back via pull requests (lablup/backend.ai-kernel-runner#4).
Lablup is making necessary changes to the Backend.AI manager and agent to pass environment variables (such as API credentials including MRS_ENDPOINT
, MRS_USERNAME
, and MRS_PASSWORD
) as creation configs when creating new computation kernels.