The AI Mainframe Optimizer is a Streamlit application designed to analyze mainframe job data (SMF-like logs) to identify optimization opportunities and provide recommendations for reducing MSU usage and costs.
- MSU Usage Analysis: Identify top MSU-consuming jobs and time periods
- Peak Detection: Highlight time windows with MSU overload
- Job Analysis: Detailed analysis of individual job performance
- Optimization Recommendations: Suggest job rescheduling to reduce peak MSU usage
- Savings Calculator: Estimate cost savings from implementing recommendations
- MSU Forecasting: Predict future MSU usage patterns using Prophet
app.py: Main Streamlit applicationsrc/: Source code directorydata_processor.py: Data processing and analysis functionsforecast_engine.py: MSU usage forecasting using Prophetvisualization.py: Data visualization components
utils/: Utility functionshelpers.py: Helper functions for formatting and summaries
data/: Data directory containing sample datastatic/: Static assets directory
- Clone the repository
- Install dependencies:
pip install streamlit pandas numpy plotly matplotlib prophet scikit-learn
- Run the Streamlit application:
streamlit run app.py - Upload SMF/CSV job data or use the provided sample data
- Explore the different tabs to analyze MSU usage and get optimization recommendations
The application is deployed and accessible at: https://optizframe.streamlit.app/
The application includes sample data in CSV format with the following columns:
- Job Name: Name of the mainframe job
- MSU Used: MSU consumption for the job
- Start Time: Job start timestamp
- Duration (min): Job duration in minutes
- CPU Time (s): CPU time in seconds
- IO Count: Number of I/O operations
- Enqueue: Enqueue count
- Storage Used (MB): Storage usage in MB
- Job Class: Job classification
The application identifies optimization opportunities by:
- Detecting peak MSU usage windows
- Identifying jobs running during these peak periods
- Finding alternative time slots with lower MSU usage
- Calculating potential savings from rescheduling
- Integration with real-time mainframe monitoring systems
- Advanced machine learning for predictive job scheduling
- What-if simulator for testing different optimization scenarios
- Export functionality for reports and recommendations