ubc-cirrus-lab / caribou

Caribou is a framework for running and deploying complex serverless workflows multi-constraint and multi-objective aware on hyper-scalers over multiple regions.
Other
6 stars 0 forks source link

Remote Client Caching and Benchmark Updates #288

Closed Danidite closed 1 month ago

Danidite commented 1 month ago

Addresses the following Issues:

github-actions[bot] commented 1 month ago

Coverage

Coverage Report
FileStmtsMissCoverMissing
caribou/common
   utils.py37878%43–58
caribou/common/models
   endpoints.py34391%18–19, 50
caribou/common/models/remote_client
   aws_remote_client.py4786686%42, 65, 105, 151, 216, 252, 269–270, 298–299, 338, 349, 359, 392–394, 402–403, 422–424, 443, 467, 480–481, 484, 490, 530–532, 570–572, 590–591, 632, 638, 648, 652, 663–664, 672–673, 682, 686, 697, 707–709, 729, 740–742, 762, 777–779, 794–799, 827–828, 832, 848–852, 858–859
   remote_client_factory.py21386%21–23
caribou/data_collector/components
   data_collector.py18194%23
   data_exporter.py34294%49, 56
caribou/data_collector/components/carbon
   carbon_collector.py21290%34–35
   carbon_retriever.py1341887%25, 59, 93, 135–144, 148, 153, 160, 168–169, 215, 246, 249, 256
caribou/data_collector/components/performance
   performance_retriever.py38684%44, 50–51, 56–59
caribou/data_collector/components/provider
   provider_collector.py24292%43–44
   provider_retriever.py2945083%24, 32, 34, 47, 59, 77, 84, 100, 132–152, 183–281, 299–304, 336, 344, 346, 348, 350, 352, 354, 356, 432, 446, 556, 649
caribou/data_collector/components/workflow
   workflow_collector.py25196%34
   workflow_retriever.py30510964%216–257, 280, 330–337, 339, 371–414, 436, 467–526, 533–563, 566–583, 587–604, 615, 676, 698
caribou/data_collector/utils/latency_retriever
   aws_latency_retriever.py74988%59, 63, 65, 67, 70, 74, 76, 78, 81
   latency_retriever.py6183%8
caribou/deployment/client
   caribou.py16194%22
   caribou_workflow.py46513571%54, 70–71, 80–83, 129, 201–223, 267–268, 282, 315–326, 347–354, 380–391, 434–454, 562, 578, 581, 636–662, 667–683, 705–715, 793, 796, 798, 800, 802, 804, 831, 866–881, 916–917, 927–931, 961, 996, 1004, 1016–1096, 1109–1138, 1172–1181, 1212, 1245, 1273–1282, 1302–1320, 1340, 1353–1359, 1365
caribou/deployment/common/config
   config.py83199%104
caribou/deployment/common/deploy
   deployer.py1381688%43, 94–101, 187, 228–230, 237, 244, 255
   deployment_packager.py1924577%31, 34, 39, 63–70, 73–84, 90, 96, 101, 106, 128, 156, 169, 182, 190, 251–253, 259–274, 284, 286, 288, 291
   executor.py53492%32–33, 66, 68
   workflow_builder.py1711392%43, 59, 146, 178, 186, 189, 191, 196, 205, 208, 210, 324, 330
caribou/deployment/common/deploy/models
   function.py41295%40, 51
   function_instance.py12283%16, 22
   iam_role.py34391%19–21
   instructions.py18289%17, 26
   resource.py18194%25
   workflow.py1923283%37, 42, 64, 74, 96, 117, 163, 168, 203, 216–228, 269, 278, 286, 290, 295–324
caribou/deployment/common/deploy_instructions
   aws_deploy_instructions.py23291%35, 81
   deploy_instructions.py52983%57, 93, 143, 149, 162, 166, 170, 174, 180
caribou/deployment/common/factories
   deploy_instruction_factory.py18383%20–22
   deployer_factory.py1071685%24–27, 41, 52–53, 82, 90, 99, 108, 119, 126–129
caribou/deployment/server
   re_deployment_server.py61592%36, 48, 51, 58, 107
caribou/deployment_solver
   workflow_config.py751185%24, 26, 32–33, 54–56, 61, 79, 82, 107
caribou/deployment_solver/deployment_algorithms
   coarse_grained_deployment_algorithm.py25292%27, 32
   deployment_algorithm.py941089%76, 90, 101, 115, 132, 167–173, 202
   fine_grained_deployment_algorithm.py25292%38, 43
   stochastic_heuristic_deployment_algorithm.py921485%17–18, 42, 52, 64, 85, 88, 93, 99–102, 112, 129, 156, 163
caribou/deployment_solver/deployment_input
   input_manager.py1975473%126, 132, 175, 181, 227–235, 257–263, 272–275, 285–288, 301–320, 333–354, 360–368, 422–423, 457–468, 474–476, 482
caribou/deployment_solver/deployment_input/components/calculators
   carbon_calculator.py94397%124–128, 214
   cost_calculator.py70199%163
   runtime_calculator.py1091190%130–145, 152, 201, 209, 262, 295
caribou/deployment_solver/deployment_input/components/loaders
   carbon_loader.py19289%22, 43
   datacenter_loader.py47491%106–111
   region_viability_loader.py15193%15
   workflow_loader.py1452583%86, 102–112, 122, 145, 165, 183, 193, 210, 264–276, 292, 364–369, 392, 430–432
caribou/deployment_solver/deployment_metrics_calculator
   deployment_metrics_calculator.py40198%49
   simple_deployment_metrics_calculator.py1271687%125–142, 170–171, 203–204, 220–223, 235–236
caribou/deployment_solver/deployment_metrics_calculator/models
   workflow_instance.py1948258%84–95, 107, 141–144, 183–186, 194–196, 203–227, 238–269, 275–289, 308–441, 520
caribou/deployment_solver/ranker
   ranker.py62494%14, 26–27, 95
caribou/endpoint
   client.py1312085%46, 56, 104, 126–129, 140, 167, 183, 185, 222–226, 231–232, 236–239
caribou/monitors
   deployment_manager.py1341887%64, 70, 81, 100, 122–127, 164–169, 184, 207, 222, 228, 263, 283
   monitor.py8188%12
caribou/syncers
   log_sync_workflow.py52129044%108, 163–173, 178, 186, 193, 203, 210, 248–254, 256, 258, 260, 262, 264, 268, 272, 274, 276, 279–285, 288, 292, 302–369, 378–385, 395–463, 472–475, 480–495, 506–597, 610–664, 674–700, 705–722, 727–744, 758, 765–788, 797–798, 808, 813–819, 846–847, 849–850, 855–856, 890–897, 901, 938, 940, 945, 979, 983–986, 994–1004, 1007–1013, 1016–1027, 1030
   log_syncer.py42198%46
caribou/syncers/components
   execution_data.py74495%76, 86, 129, 137
   workflow_run_sample.py83693%136, 145–149
TOTAL6291115682% 

Tests Skipped Failures Errors Time
640 0 :zzz: 0 :x: 0 :fire: 19.731s :stopwatch: