v1.0.0
Initial release of Caribou, a framework for running and deploying complex serverless workflows multi-constraint and multi-objective aware on hyper-scalers over multiple regions.
This initial release consists of many, many features that we can not list at this points. Going forward we aim to showcase what has changed since the last release.
What's Changed
- Small change to readme by @vGsteiger in #2
- Initial Version of Architecture by @vGsteiger in #5
- Fix Github Actions by @vGsteiger in #28
- Restructure of Deployment Client for New Provider Field by @vGsteiger in #34
- Add validation for function name by @vGsteiger in #38
- Change Home Regions and other Regions Config to Objects by @vGsteiger in #43
- Merge Function Data Uploading and Retrieval by @vGsteiger in #40
- Fix merge function cycle and multiple entry points issues by @vGsteiger in #44
- Features/jerry/function level env by @jerryyiransun in #46
- Changed Architecture of Routing, decoupled solver from data_sources by @Danidite in #54
- Server Side Deployer and other cross component parts by @vGsteiger in #66
- Solver Output Formatter by @vGsteiger in #73
- Modify Input Parameters of Solver Inputs Functions by @Danidite in #77
- Add data collector definitions for carbon, workflow, and datacenter by @vGsteiger in #79
- Caller Endpoint Implementation by @vGsteiger in #78
- Additional verification for home region and provider regions on all levels at deployment by @vGsteiger in #85
- Initial Implementation of Stochastic Heuristic Descent Solver by @vGsteiger in #83
- Solver Documentation by @vGsteiger in #88
- Conditional Sync Nodes by @vGsteiger in #90
- Solver Benchmarks and BFS Fixes by @Danidite in #89
- Update function resource description to use topic identifier instead of function identifier by @vGsteiger in #97
- coarse_grained solver implementation by @jerryyiransun in #106
- Added documentation for Coarse Grained solver by @jerryyiransun in #114
- added spaces to Coarse Grained solver documentation by @jerryyiransun in #115
- Improve Topological Sort by @vGsteiger in #119
- Add poetry usage explanation and testing/benchmarking instructions by @vGsteiger in #117
- Optimizations for the BFS solver by @engshahrad in #123
- Memory usage reduction for the BFS slover by @engshahrad in #125
- Data Collector, Update Checker, and the DataStoreSyncer Implementation by @Danidite in #98
- Minor improvements to the benchmarking script and plotting by @engshahrad in #130
- Solver Input Redesign by @Danidite in #129
- Implement Datastore Syncer by @vGsteiger in #131
- Remove workflow functionality by @vGsteiger in #135
- Carbon Intensity Calculation actually at calculator by @vGsteiger in #134
- Benchmarks Initial Infrastructure Docker by @vGsteiger in #136
- All UnFaaSener Benchmarks by @vGsteiger in #139
- Fix Re-Deployment functionality by @vGsteiger in #140
- Implement deployment script for server functionalities by @vGsteiger in #141
- Fix re-deploy information loss by @vGsteiger in #151
- Fix image build in serverless environment by @vGsteiger in #155
- Preserve Home Region Deployment by @vGsteiger in #156
- Only run sync node if any predecessor has actually directly called by @vGsteiger in #159
- Solver Data Model Update by @vGsteiger in #154
- Fix benchmark calculations and update scenarios by @vGsteiger in #167
- Add Expiry Date to Deployments by @vGsteiger in #168
- Collect and use start hop data by @vGsteiger in #169
- Stochastic improvements by @vGsteiger in #177
- Refactor home_regions and start_hops to home_region by @vGsteiger in #181
- Refactor deployment metrics evaluation in Monte Carlo by @vGsteiger in #180
- Log Syncer Changes by @vGsteiger in #171
- Input Manager and Monte Carlo Modifications by @Danidite in #173
- Selectively forget by @vGsteiger in #186
- Implementation of new update checker for overhead calculation by @jerryyiransun in #160
- Fix three little breaking bugs by @vGsteiger in #195
- Fix bug in workflow retriever by @vGsteiger in #196
- Update image_processing requirements and config.yml, and add custom JSON Encode and Decoder by @vGsteiger in #197
- Cleanup Repository and Benchmark Updates by @vGsteiger in #194
- fixed issue with no src folder by @Danidite in #199
- Algorithm Speed Improvements by @vGsteiger in #200
- Fix some issues and improve stochastic performance by first trying out coarse grained by @vGsteiger in #201
- Benchmark for Map_Reduce by @jerryyiransun in #203
- Successor index per run id to avoid collision by @vGsteiger in #204
- Fixed issue with execution_cost calculation. by @Danidite in #205
- Fix no-data underestimation issues by @vGsteiger in #206
- Fix latency calculations in runtime calculator by @vGsteiger in #207
- Fix bug with Transmission cost for same region transmission. by @Danidite in #208
- Fix Video Analytics by @vGsteiger in #209
- Fix deployment algorithm issues by @vGsteiger in #210
- Conditional invocation map reduce benchmark by @vGsteiger in #211
- Fix bug in workflow_retriever.py by @vGsteiger in #212
- Update carbon calculator constants and conversion ratios by @vGsteiger in #213
- Add new benchmark files and requirements by @vGsteiger in #214
- Fixed issue with many benchmarks running out of space due to not deleting temporary files. by @Danidite in #215
- Resolved temp_file bug in Video Analytics benchmark by @Danidite in #216
- Log after invoke by @vGsteiger in #218
- Make workflow parallelizable by @vGsteiger in #220
- Fix benchmarks by @vGsteiger in #222
- Fix tiny issue crashing t2s censor by @Danidite in #223
- Change Project Name by @vGsteiger in #227
- Component Renames by @vGsteiger in #229
- Make bucket naming simpler to avoid collision by @vGsteiger in #230
- Update readme.md with instructions for data preparation in MapReduce by @vGsteiger in #232
- Rename routing by @vGsteiger in #233
- Fixed bugs for triggering the solver by @pjavanrood in #234
- altered deployment metrics calculator to now use topological sort by @Danidite in #237
- Addresses multiple bugs and issues found during paper writing by @Danidite in #243
- Updated Documentation by @vGsteiger in #245
- Improving Performance of Deployment Metrics Calculator by @pjavanrood in #255
- Provider Retriever SNS, DynamoDB, and ECR pricing Implementation by @SarraRe in #261
- Modeling and Logging Improvements by @Danidite in #252
- Remote Client Caching and Benchmark Updates by @Danidite in #288
- Caribou-Go: Moving Monte-Carlo Simulation to Go by @pjavanrood in #282
- Changed test file structure to better represent caribou structure. by @Danidite in #292
- fix dash to underscore in template by @jerryyiransun in #297
- Added caching to client CLI by @Danidite in #295
- Disabled all deployment package upload to S3 and S3 table creation by @Danidite in #296
- Update issue templates by @vGsteiger in #299
- Update documentation and Setup by @vGsteiger in #285
- Improving Architecture Readme by @pjavanrood in #301
- Bootstrapping Framework Components to AWS Lambda by @Danidite in #302
- Changed Remove Remote Client to also Remove ECR Repository by @Danidite in #307
- Update README.md by @vGsteiger in #309
- Update readme.md by @vGsteiger in #310
- Represent iterations accurately by @vGsteiger in #311
New Contributors
- @jerryyiransun made their first contribution in #46
- @engshahrad made their first contribution in #123
- @pjavanrood made their first contribution in #234
- @SarraRe made their first contribution in #261
Full Changelog: https://github.com/ubc-cirrus-lab/caribou/commits/v1.0.0