exo
exo copied to clipboard
feat: partition by mem & node latency
Pull Request: Add Partitioning Strategy Flag with Latency-Aware Default
Description
Feature Added
-
Partitioning Strategy Flag:
- Introduced
--partitioning-strategyCLI flag inmain.pyto allow selection between partitioning strategies. - Set
latency_awareas the default partitioning strategy.
- Introduced
Implementation Details
-
Imports:
- Imported
LatencyAwarePartitioningStrategyalongside existing strategies.
- Imported
-
Argument Parsing:
- Updated
main.pyto parse the new--partitioning-strategyflag.
- Updated
-
Strategy Selection:
- Instantiated the selected partitioning strategy based on user input.
-
Node Initialization:
- Modified
StandardNodeinitialization to accept the chosen partitioning strategy.
- Modified
Testing
-
New Tests:
- Added
TestLatencyAwarePartitioningStrategyintests/test_latency_aware_partitioning.pyto validate the new strategy.
- Added
Additional Changes
-
Protobuf Definitions:
- Updated protobuf definitions to include latency in topology.
-
gRPC Files:
- Regenerated
node_service_pb2.pyandnode_service_pb2_grpc.pyto reflect.protoupdates.
- Regenerated
Usage
Default (Latency-Aware)
python main.py run <model_name>