Skip to content

This repository contains the complete simulation work and source code accompanying the paper titled ”Shortest Path is Sufficient A Solver for Minimizing Data Delivery and Compute Time over the Computing-Aware Networks”.

Notifications You must be signed in to change notification settings

FeiLiu52/TVT-code

Repository files navigation

TVT-Code

This project implements and compares different algorithms for selecting computing nodes in network services. This work has submitted to the IEEE Transactions on Vehicular Technology, titled ”Shortest Path is Sufficient A Solver for Minimizing Data Delivery and Compute Time over the Computing-Aware Networks”.

Implemented Algorithms

The project includes the following algorithms:

  • MINLP (Mixed Integer Non-Linear Programming): Mixed integer non-linear programming algorithm
  • CPEG (Computing Power Expansion Graph): Computing power expanded graph algorithm
  • CNE (Computing Node Extended): Computing node extended algorithm
  • CCN (Closest Computing Node): Closest computing node algorithm
  • MPCN (Maximum Processing Capacity Node): Maximum processing capacity node algorithm

Main Features

Network Parameter Generation

network_parameters.py generates random network topologies and parameters:

  • Generates specified number of nodes and edges
  • Randomly selects computing nodes (approximately 60% of nodes)
  • Assigns properties like bandwidth and propagation delay to edges
  • Outputs network configuration in YAML format

Performance Comparison Analysis

The project provides multiple comparison scripts:

  • compare2.py: Compares algorithm performance in small networks (100 nodes, 2000 edges)
  • compare3.py: Compares performance across different network scales (200-2000 nodes)
  • compare4.py: Compares performance across different network densities
  • compare5.py: Compares performance with fixed nodes (1000) and varying edges
  • compare6.py: Specifically compares expansion performance of CPEG and CNE algorithms

Performance Metrics

The comparison analysis includes:

  • End-to-end delay
  • Running time
  • Memory usage
  • Network expansion time (for CPEG and CNE)
  • Number of nodes and edges after expansion (for CPEG and CNE)

Usage

  1. Generate network parameters:
python network_parameters.py
  1. Run individual algorithm:
python <algorithm_name>.py
  1. Perform performance comparison:
python compare<number>.py

Output Results

All comparison analysis results are saved as CSV files:

  • detailed_results.csv: Contains detailed data for each run
  • summary_results.csv: Contains statistical summary data

Dependencies

  • networkx
  • matplotlib
  • yaml
  • gurobipy (for MINLP algorithm)
  • pympler (for memory usage analysis)

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

This repository contains the complete simulation work and source code accompanying the paper titled ”Shortest Path is Sufficient A Solver for Minimizing Data Delivery and Compute Time over the Computing-Aware Networks”.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages