Skip to content

Releases: cslab-ntua/elise

v1.0.3

Choose a tag to compare

@nikosT nikosT released this 21 Jan 15:56
73ffa3b

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_server for a more streamlined data flow.
  • Universal TCP Module: Implemented a standardized communication module for TCP socket client/server interactions.
  • Logic Decoupling: * Split BatchCreator into SchematicAnalysis and SimConfig for better separation of concerns.
    • Decoupled LoadManager from individual simulation runs to allow for more flexible workload handling.
  • 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_id columns in the report rows.
  • Data Robustness: Added safety checks for missing spread data within JSON configurations to prevent runtime errors.

Documentation

  • Updated README.md to 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

Choose a tag to compare

@nikosT nikosT released this 30 Sep 16:56
70efef0

🚀 What’s Changed

✨ Improvements

  • Added assigned processors in the CSV export (last column).
  • Introduced a spread mechanism in the simulation for better distribution.

🐛 Fixes

  • Fixed Shuffle from List generator to ensure correct randomization.
  • Bugfixes by @nikosT in #30

🔧 Maintenance

  • Pending file rename: random.pyrandromfrominput.py (not yet applied).

Full Changelog: v1.0.1...v1.0.2

v1.0.1

Choose a tag to compare

@nikosT nikosT released this 20 Sep 10:46
31cc330

What's Changed

Full Changelog: v1.0.0...v1.0.1

v1.0.0

Choose a tag to compare

@nikosT nikosT released this 30 May 09:31
9f6f50f

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.