{"id":21992476,"url":"https://github.com/walidbosso/java_task_scheduling","last_synced_at":"2025-04-30T14:23:10.123Z","repository":{"id":182770645,"uuid":"669069492","full_name":"walidbosso/Java_Task_Scheduling","owner":"walidbosso","description":"☕ 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.","archived":false,"fork":false,"pushed_at":"2024-04-08T11:05:42.000Z","size":1617,"stargazers_count":22,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-08T12:26:54.675Z","etag":null,"topics":["c","java","master-slave-architecture","multithreading","rmi","swing","task-scheduler","tcp","threads"],"latest_commit_sha":null,"homepage":"https://github.com/walidbosso/Java_Task_Scheduling","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/walidbosso.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-07-21T09:12:41.000Z","updated_at":"2024-04-04T05:43:28.000Z","dependencies_parsed_at":"2023-12-22T03:27:21.145Z","dependency_job_id":"cad3b4bb-ef14-42b7-9f95-f8950a00b308","html_url":"https://github.com/walidbosso/Java_Task_Scheduling","commit_stats":null,"previous_names":["walidbosso/java_task_scheduling"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walidbosso%2FJava_Task_Scheduling","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walidbosso%2FJava_Task_Scheduling/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walidbosso%2FJava_Task_Scheduling/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walidbosso%2FJava_Task_Scheduling/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/walidbosso","download_url":"https://codeload.github.com/walidbosso/Java_Task_Scheduling/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227206316,"owners_count":17747734,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","java","master-slave-architecture","multithreading","rmi","swing","task-scheduler","tcp","threads"],"created_at":"2024-11-29T20:13:52.139Z","updated_at":"2024-11-29T20:13:52.872Z","avatar_url":"https://github.com/walidbosso.png","language":"Java","readme":"![Java_Task_Scheduling](https://socialify.git.ci/walidbosso/Java_Task_Scheduling/image?description=1\u0026descriptionEditable=Distribution%20and%20execution%20of%20tasks%20across%20multiple%20nodes%20It%20enhances%20the%20efficiency%20of%20large-scale%20computation.\u0026font=Source%20Code%20Pro\u0026forks=1\u0026issues=1\u0026language=1\u0026name=1\u0026owner=1\u0026pattern=Formal%20Invitation\u0026pulls=1\u0026stargazers=1\u0026theme=Auto)\n\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/walidbosso/Java_Task_Scheduling\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/khoa083/khoa/main/Khoa_ne/img/Rainbow.gif\" width=\"60%\"/\u003e \u003c/a\u003e\n\u003c/p\u003e\n\u003cdiv align=\"center\"\u003e\n  \n  [![GitHub WidgetBox](https://github-widgetbox.vercel.app/api/profile?username=walidbosso\u0026data=followers,repositories,stars,commits\u0026theme=nautilus)](https://github.com/walidbosso/Java_Task_Scheduling)\n\n  \u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/walidbosso/Java_Task_Scheduling\"\u003e\n\u003cimg src=\"https://api.visitorbadge.io/api/visitors?path=https%3A%2F%2Fgithub.com%2Fwalidbosso%2FJava_Task_Scheduling\u0026label=Project%20views\u0026countColor=%23263759\u0026style=flat-square\u0026labelStyle=none\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ca href=\"https://github.com/walidbosso/Java_Task_Scheduling\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/khoa083/khoa/main/Khoa_ne/img/Rainbow.gif\" width=\"60%\"/\u003e\n  \u003ca/\u003e\n\u003c/a\u003e\n\n\n\u003cbr/\u003e\n  \n# Java Task Scheduling System\n  \n  \u003c/div\u003e\n\n\n\n\n## \u003cdetails\u003e\u003csummary\u003e Presentation:\u003c/summary\u003e\n- This project introduces a Java-based Distributed Task Scheduling System for \u003cb\u003e parallel\u003c/b\u003e data(Image \u0026 Matrix) processing using `Threads`. \n- Efficient task scheduling optimizes resource allocation and timeframes. \n\u003c/details\u003e\n\n## \u003cdetails\u003e\u003csummary\u003e What does my project do exactly:\u003c/summary\u003e\n- Clients can easily submit various tasks like *Filter, Convolution, and Matrix*, executed via `RMI` on the server. All will be executed in parallel.\n- Server and its workers further breaks down tasks to pieces and send them through `TCP` to slaves, then compiles outcomes when they are ready again, and then sends the result back to the client.\n- Slaves play a pivotal role by executing assigned sub-tasks.\n \n\u003c/details\u003e\n\n## \u003cdetails\u003e\u003csummary\u003e Instructions: \u003c/summary\u003e \n- Fork \u0026 Clone the repository.\n\n- Install JDK if its not installed yet, when done, go to your system environement variables, Edit Path, and add \"C:\\Path\\To\\Your\\JDK\\bin\" at the end of it.\n\n- Put all 5 config.txt files+ image+ kernel.txt in Desktop\n \n **Inside folder \"src\" open 8 of Git-Bash in each 1 of type these lines:**  \n\u003cdiv align=\"left\"\u003e\n  \n```bash\n# Compile Java files\njavac Classes/*.java \n\n# Starts the slaves listening TCP\njava Classes.SlaveTask config0.txt\njava Classes.SlaveTask config1.txt\njava Classes.SlaveTask config2.txt\njava Classes.SlaveTask config3.txt\n\n# Open the RMI port\nrmiregistry 13190\n\n# Start the server, creates multiple workers which works in parallel\njava Classes.TaskSchedulerServer config.txt\n\n# Open the GUI\njava Classes.Tasks\n```\n\u003c/div\u003e\n\n## Extra\n### A port open error:\n```bash\njps #To see all javaprocess along with PID\n```\n```bash\ntaskkill /PID 5032 /F #To terminate in case it was needed, 5032 is just an example.\n```\n\u003c/details\u003e\n\n### More ressources: \n\n- 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.\n- 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.\n- Contact me in [LinkedIn](https://www.linkedin.com/in/walidbosso) for questions. \n\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \n----------------------\n\u003e \u003e  \u003cbr/\u003e \u0026copy; *by Walid BOUSSOU*   🇲🇦 😄 \u003cbr/\u003e  \n----------------------\n\n\u003cdetails\u003e\n\n\u003csummary\u003e👏 Thanks for the support \u003c/summary\u003e\n\n## Stargazers\n\n\n\u003cdiv align=\"center\"\u003e\n\n[![Stargazers repo roster for @walidbosso/Java_Task_Scheduling](http://reporoster.com/stars/dark/walidbosso/Java_Task_Scheduling)](https://github.com/walidbosso/Java_Task_Scheduling/stargazers)\n\n\n\n\u003c/div\u003e\n\n## Forkers\n\n\u003cdiv align=\"center\" \u003e\n\n[![Forkers repo roster for @walidbosso/Java_Task_Scheduling](http://reporoster.com/forks/dark/walidbosso/Java_Task_Scheduling)](https://github.com/walidbosso/Java_Task_Scheduling/network/members)\n\n\u003c/div\u003e\n\n## Contributors\n\n\u003ca href = \"https://github.com/walidbosso\"\u003e\n  \u003cimg src = \"https://contrib.rocks/image?repo=walidbosso/Java_Task_Scheduling\"/\u003e\n\u003c/a\u003e\n\n\n\u003cbr/\u003e\u003c/details\u003e\u003cbr/\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\n![GitHub last commit (by committer)](https://img.shields.io/github/last-commit/walidbosso/Java_Task_Scheduling?style=social)\n\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n\n![GitHub License](https://img.shields.io/github/license/walidbosso/Java_Task_Scheduling?style=social)\n\n\n\u003ca href=\"https://www.buymeacoffee.com/walidbosso\"\u003e\u003cimg src=\"https://img.buymeacoffee.com/button-api/?text=Buy me a coffee\u0026emoji=☕\u0026slug=walidbosso\u0026button_colour=5F7FFF\u0026font_colour=ffffff\u0026font_family=Poppins\u0026outline_colour=000000\u0026coffee_colour=FFDD00\" /\u003e\u003c/a\u003e\n\n\u003c/div\u003e\n\n\u003ca href = \"https://github.com/walidbosso\"\u003e\n  \u003cimg src = \"https://github.com/walidbosso/Python-GUI/blob/main/border.gif\" width=\"100%\"/\u003e\n\u003c/a\u003e\n\n\u003ca href = \"https://github.com/walidbosso\"\u003e\n  \u003cimg src = \"https://github.com/walidbosso/Python-GUI/blob/main/ciber-coding.gif\" width=\"100%\"/\u003e\n\u003c/a\u003e\n\n\u003ca href = \"https://github.com/walidbosso\"\u003e\n  \u003cimg src = \"https://github.com/walidbosso/Python-GUI/blob/main/border.gif\" width=\"100%\"/\u003e\n\u003c/a\u003e\n\n𝚂𝚑𝚘𝚠 𝚜𝚘𝚖𝚎 💙 𝚋𝚢 𝚜𝚝𝚊𝚛𝚛𝚒𝚗𝚐 ⭐ 𝚝𝚑𝚎 𝚛𝚎𝚙𝚘𝚜𝚒𝚝𝚘𝚛𝚢!\n\n\u003cbr/\u003e\n\n\n\u003cp align=\"center\"\u003e\u003ca href=\"#top\"\u003e\u003cimg src=\"https://img.shields.io/badge/Back%20to%20top--lightgrey?style=social\" alt=\"Back to top\" height=\"20\"/\u003e\u003c/a\u003e\u003c/p\u003e\n\n\n\u003c!--\n![Stargazers over time](https://starchart.cc/walidbosso/Java_Task_Scheduling.svg)\n\n![Sparkline](https://stars.medv.io/walidbosso/Java_Task_Scheduling.svg)\n--\u003e\n","funding_links":["https://www.buymeacoffee.com/walidbosso","https://img.buymeacoffee.com/button-api/?text=Buy"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalidbosso%2Fjava_task_scheduling","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwalidbosso%2Fjava_task_scheduling","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalidbosso%2Fjava_task_scheduling/lists"}