Welcome to the UMHPC Navigator GitHub repository! UMHPC Navigator is an application to extract and analyze log file information containing records of job submissions, allocations, completions, and terminations on a HPC system, which is associated with SLURM management software in UMHPC. It is developed under the course WIX1002 - Fundamentals of Programming, as a semester assignment project. This project is designed to analyze and visualize job execution data on a High-Performance Computing (HPC) cluster, specifically tailored for the Data-Intensive Computing Centre in University of Malaya. The UMHPC Navigator is a Java application that offers various analytical tools to assist system administrators in monitoring and optimizing the performance of their HPC resources.
-
Display The Number Of Jobs In A Specific Time Range:
- Input the start and end times to analyze the number of jobs executed within that period.
-
Display The Number Of Jobs By Partitions:
- Analyze job distribution across different HPC partitions such as GPU, EPYC, Opteron, and specific GPU models (V100s, K40c, K10, Titan).
-
Display The Number Of Errors And Responsible Users:
- Identify and count errors that occurred during job executions, and attribute these errors to the corresponding users.
-
Display The Average Execution Time Of The Jobs At UMHPC:
- Compute and display the average execution time of jobs across the HPC cluster.
-
Display The Overall Extracted Useful Information:
- Launch a JavaFX application to visualize the extracted data using combined charts.
-
Display The Extra Statistical Data:
- Perform a detailed analysis of the log file to provide additional statistical insights.
-
Exit:
- Exit the application.
-
Job Analysis:
- Analyzes job execution within specified time ranges using the
JobAnalyzer
class.
- Analyzes job execution within specified time ranges using the
-
Partition Analysis:
- Counts jobs in various partitions using classes like
GPUCounter
,OpteronCounter
,EPYCCounter
,gpuv100sCounter
,gpuk40cCounter
,gpuk10Counter
, andgputitanCounter
.
- Counts jobs in various partitions using classes like
-
Error Analysis:
- Processes log files to identify errors and responsible users using the
ErrorAnalyzer
class.
- Processes log files to identify errors and responsible users using the
-
Time Analysis:
- Computes average job execution time using the
TimeAnalyzer
class.
- Computes average job execution time using the
-
Log Analysis:
- Conducts comprehensive log analysis to extract and display useful statistical data using the
LogAnalyzer
class.
- Conducts comprehensive log analysis to extract and display useful statistical data using the
-
Description File:
- Provides an overview of the UMHPC Navigator application.
-
Team Details File:
- Lists the team members involved in developing this application.
- The application integrates JavaFX for graphical representation of data, offering interactive charts and visual aids for better understanding and interpretation.
- Ensure you have Java and JavaFX installed on your system.
- Clone the repository:
git clone https://github.com/yourusername/umhpc-navigator.git
- Navigate to the project directory and compile the code:
javac -d bin -sourcepath src src/umhpcnavigator/UMHPCNavigator.java
- Run the application:
java -cp bin umhpcnavigator.UMHPCNavigator
We welcome contributions from the community. If you have any suggestions, bug reports, or feature requests, please open an issue or submit a pull request. Make sure to follow our contributing guidelines.