Releases: cslab-ntua/elise
Release list
v1.0.3
Release v1.0.3
This release introduces significant architectural refactoring to the communication layer and core management logic, alongside critical stability fixes for long-running simulations.
Summary
Version 1.0.3 focuses on unifying the server architecture, decoupling the batch creation logic, and resolving deadlocks in the multiprocessing engine. It also improves the reliability of the WebUI and reporting modules.
Key Changes
Architecture & Refactoring
- Unified Server Architecture: Consolidated the Progress and WebSocket servers into a single service, deprecating the legacy
ws_serverfor a more streamlined data flow. - Universal TCP Module: Implemented a standardized communication module for TCP socket client/server interactions.
- Logic Decoupling: * Split
BatchCreatorintoSchematicAnalysisandSimConfigfor better separation of concerns.- Decoupled
LoadManagerfrom individual simulation runs to allow for more flexible workload handling.
- Decoupled
- Lazy Workload Creation: Optimized memory and startup time by implementing lazy workload creation at the batch level.
Bug Fixes & Stability
- Simulation Stability: Implemented a fix for random hangs during simulation runs related to multiprocessing library limitations.
- WebUI/GUI Improvements: Fixed the progress bar synchronization and resolved issues with missing
simulation_idcolumns in the report rows. - Data Robustness: Added safety checks for missing spread data within JSON configurations to prevent runtime errors.
Documentation
- Updated
README.mdto reflect the new server architecture and updated batch processing logic.
What's Changed
- Universal Communication module, One Progress server architecture, Lazy workload creation by @stratos-karas in #34
- Readme changes by @nikosT in #35
- Architecture Refactoring and Simulation Stability by @nikosT in #36
Full Changelog: v1.0.2...v1.0.3
v1.0.2
🚀 What’s Changed
✨ Improvements
- Added assigned processors in the CSV export (last column).
- Introduced a spread mechanism in the simulation for better distribution.
🐛 Fixes
🔧 Maintenance
- Pending file rename:
random.py→randromfrominput.py(not yet applied).
Full Changelog: v1.0.1...v1.0.2
v1.0.1
What's Changed
- Add material by @nikosT in #11
- Update README.md by @nikosT in #12
- Quality of Life changes and preparing for next iteration by @stratos-karas in #13
- Update Readme based on recent changes by @nikosT in #28
- Release v1.0.1 – Merge devel into main by @nikosT in #29
Full Changelog: v1.0.0...v1.0.1
v1.0.0
This initial release introduces ELiSE as a framework designed for rapid prototyping and evaluation of scheduling and co-scheduling algorithms in High-Performance Computing (HPC) systems. It emphasizes simplicity, speed, minimal resource usage, and ease of extensibility.
Key Features
- Multi-Interface Support: ELiSE offers a graphical interface, a web interface, and a command-line interface, catering to diverse user preferences.
- Cross-Platform Compatibility: The software is compatible with both Linux and Windows environments, with environment configuration files provided for each.
- Modular Architecture: The framework is organized into distinct modules, including api/loader, framework, and pools, facilitating organized development and easy extensibility.
- Open Source Licensing: ELiSE is released under the GNU General Public License v3.0 (GPL-3.0), promoting open collaboration and distribution.
Additional Resources
- README: Provides detailed information on ELiSE's purpose, features, and usage instructions.
- Demo Video: An elise-gui-demo.mp4 file is included, showcasing the graphical user interface in action.
- Environment Configuration: Files like env_linx64.yml and env_win64.yml are provided to assist in setting up the development environment on respective operating systems.