Performant collaborative transfer learning between cloud storage and cloud computing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems fail to efficiently execute machine learning code across both client and server due to network bottlenecks and limited computational resources in cloud object stores, particularly when dealing with complex tasks like image processing.
Innovation Solution
The system splits machine learning code into a first part executed on the server and a second part on the client, optimizing the distribution based on characteristics of the code and the computing environment to reduce network traffic and memory demands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If machine learning code is executed entirely on the server, then computational power is improved, but network traffic and data transfer between storage and compute tiers increase
Solution Approach 1:
The machine learning code is segmented into two parts: the first part is executed on the server (storage tier) and the second part is executed on the client (compute tier). This segmentation allows computational tasks to be distributed, reducing the need for large data transfers while maintaining computational efficiency.
2Quantity of substance
If machine learning code is executed entirely on the client, then network traffic is reduced, but computational resources and memory usage on the client increase
Solution Approach 1:
The machine learning code is divided such that resource-intensive initialization and data loading are performed on the server, while the lighter inference or processing tasks are executed on the client. This balances the computational load between server and client, preventing resource exhaustion on the client side.
3Productivity
If cloud object store computational resources are increased, then processing capability is improved, but resource costs and contention increase
Solution Approach 1:
By segmenting the execution environment, the system allows the storage tier to handle data-intensive operations while the compute tier handles processing-intensive operations. This reduces the need for expensive computational resources in the storage tier, optimizing resource allocation and reducing costs.
4Quantity of substance
If machine learning code is split between server and client, then network traffic is reduced, but system complexity increases
Solution Approach 1:
The system provides an automated framework for splitting machine learning code that handles the complexity of distribution, execution coordination, and result aggregation. This automation reduces the manual complexity burden on users while maintaining the benefits of reduced network traffic.
Data Source
AI summary
A computing apparatus is provided comprising a client and a server. The computing apparatus is configured to: obtain a machine learning code; split the machine learning code into a first part and a second part; execute the first part of the machine learning code on the server; execute the second part of the machine learning code on the client; and output a result of the machine learning code. In this way, the machine learning code may be split and executed over both the client and the server in an efficient way.


