Skip to content

A Distributed Task Scheduling System is a software infrastructure that allows for the distribution and execution of tasks across multiple nodes in a network. It enhances the efficiency and scalability of large-scale computation and data processing tasks by dividing complex tasks into smaller sub-tasks and distributing them.

Notifications You must be signed in to change notification settings

jeemanifaster/Java_Task_Scheduling

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Task Scheduling System:

Presentation:

  • This project introduces a Java-based Distributed Task Scheduling System for parallel data(Image & Matrix) processing using Threads.
  • Efficient task scheduling optimizes resource allocation and timeframes.

What does my project do exactly:

  • Clients can easily submit various tasks like Filter, Convolution, and Matrix, executed via RMI on the server.
  • Server further breaks down tasks through TCP to slaves, then compiles outcomes, and then sends the result back to the client.
  • Slaves play a pivotal role by executing assigned sub-tasks.

Instructions:

  • Put all 5 config.txt files+ image+ kernel.txt in Desktop
  • Inside folder "src" open 8 of Git-Bash in each 1 of type these lines:
# Compile Java files
1. javac Classes/*.java 

# Starts the slaves listening TCP
2. java Classes.SlaveTask config0.txt
3. java Classes.SlaveTask config1.txt
4. java Classes.SlaveTask config2.txt
5. java Classes.SlaveTask config3.txt

# Open the RMI port
6. rmiregistry 13190

# Start the server, creates multiple workers which works in parallel
7. java Classes.TaskSchedulerServer config.txt

# Open the GUI
8. java Classes.Tasks

Extra

A port open error:

jps #To see all javaprocess along with PID
taskkill /PID 5032 /F #To terminate in case it was needed, 5032 is just an example.

More ressources:

  • In case you didn't want to do this manually and felt lazy, check the folder called Xtra, I included C codes where it can automatize this work, just fix the Path to each C file in each C code, compile each one of them. When you finish, run TaskManagement_Process.exe, this will run all the 8 commands I mentioned above automatically.

  • Now whenever you feel like trying the project again just run TaskManagement_Process.exe, no need to run 8 commands every single time, consider creating a link to the .exe file instead and add an icon.

  • Contact me in LinkedIn for questions.



 
© by Walid BOUSSOU  🇲🇦 😄
 


About

A Distributed Task Scheduling System is a software infrastructure that allows for the distribution and execution of tasks across multiple nodes in a network. It enhances the efficiency and scalability of large-scale computation and data processing tasks by dividing complex tasks into smaller sub-tasks and distributing them.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 95.5%
  • C 4.5%