Les meilleurs développeurs Java freelances sont sur Codeur.com
Fermé·Moins de 500 €·9 offres·274 vues·13 interactions
Bonjour, je recherche un développeur dont le langage nécessaire est java. Nous devons créer un réseau avec un serveur, worker, et client. Voici le projet :
L’objectif de ce projet est d’exploiter la puissance de plusieurs machines pour répartir le traitement d’un nombre de tâches élevé et ainsi bénéficier d’une grande capacité de calcul.
Les tâches consistent à calculer la persistance multiplicative des nombres. Pour un nombre, cela consiste à multiplier tous ses chiffres puis à réitérer le processus sur le résultat intermédiaire, jusqu’à arriver à un nombre composé d’un seul chiffre. La persistance p d’un nombre n est le nombre de répétitions du processus. Par exemple, en utilisant le nombre 777 comme point de départ, on va obtenir une suite multiplicative 777 → 343 → 36 → 18 → 8 et une persistance de 4. On conjecture que la persistance multiplicative maximale est 11. Ceci a été vérifié pour les nombres inférieurs à 10333 en 2011.
Le système sera composé d’un serveur chargé de produire les tâches à exécuter et de les distribuer à des workers. Les workers sont des machines distantes, qui vont exécuter les calculs puis renvoyer les résultats au serveur. Lorsqu’un worker est lancé, il doit se connecter au serveur afin de lui signifier qu’il est disponible et lui indiquer combien de tâches il peut exécuter en parallèle (nombre de cœurs disponibles).
Le serveur doit donc être capable de savoir quels sont les workers disponibles et avoir une estimation de leur charge actuelle afin de répartir au mieux les futures tâches. Pour cela, le serveur doit utiliser les hashtables afin de conserver ces informations.
Le serveur tourne en permanence et explore de plus en plus de nombres en s’aidant des workers auxquels il affecte des intervalles à tester. Il stocke ses résultats et les enregistre périodiquement sur le disque.
Un programme client permet la supervision du système (workers actifs par exemple). Il se connecte au serveur pour consulter les résultats produits et permet de visualiser des statistiques (moyenne et médiane de la persistance, nombre d’occurrences par valeur de persistance, etc.). Le client peut aussi demander les résultats sur un intervalle spécifique, consulter la persistance d’un nombre, la liste des nombres avec la plus grande persistance, etc. Plusieurs clients doivent pouvoir se connecter au serveur en même temps.
Merci à vous pour votre réponse !
Budget indicatif : Moins de 500 €
Publication : 27 mars 2023 à 21h04
Profils recherchés : Développeur Java
9 freelances ont répondu à ce projet
3 propositions de devis en moins de 2h
Montant moyen des devis proposés : 4 800 €
Estimation du délai de réalisation : 6 jours
Votre navigateur Web n’est plus à jour. Il ne permet pas d’afficher correctement le site Codeur.com.
Nous vous invitons à mettre à jour votre navigateur ou à utiliser un autre navigateur plus récent.