Το σύστημα που αναπτύξαμε βασίζεται στο πλαίσιο προσομοίωσης διακριτών γεγονότων SimPy και υλοποιείται με τη χρήση της γλώσσας Python, Το σύστημα μας, μπορεί να ενσωματωθεί καλά με πλαίσια βαθιάς μάθησης (π.χ. TensorFlow, PyTorch) που έχουν υποστήριξη της γλώωσας Python, γεγονός που μπορεί να βοηθήσει στη μελέτη της μηχανικής μάθησης ή της διαχείρισης πόρων με βάση τη βαθιά μάθηση.
Ο αλγόριθμος χρονοπρογραμματισμού εργασιών του κέντρου δεδομένων που βασίζεται στη βαθιά ενισχυτική μάθηση στο CloudSimPy/playground/DAG/algorithm/DeepJS/DQLAgent.py & ../DQLScheduler.py υλοποιούνται με τη χρήση της βιβλιοθήκης pytorch.
Ως πλαίσιο προσομοίωσης χρονοπρογραμματισμού εργασιών κέντρου δεδομένων, το CloudSimPy περιέχει δύο πακέτα Python core και playground.
Το πακέτο core αφηρημένο και μοντελοποιεί τις οντότητες (entity) σε ένα πρόβλημα χρονοπρογραμματισμού εργασιών ενός κέντρου δεδομένων, το πακέτο core περιέχει τις ακόλουθες ενότητες:
- Τα
TaskInstanceConfig,TaskConfig,JobConfigστοconfigδίνουν τη διαμόρφωση (απαιτήσεις πόρων, διάρκεια κ.λπ.) των περιπτώσεων εργασιών, των εργασιών και των θέσεων εργασίας, αντίστοιχα. jobόπουTaskInstance,Task,Jobαποτελούν τη δομή της μοντελοποίησης των περιπτώσεων εργασιών.machineμοντελοποιεί τη μηχανή.- Το
nodeμοντελοποιεί μια υπολογιστική συστάδα που αποτελείται από τρία μηχανήματα. - Το
clusterμοντελοποιεί μια υπολογιστική συστάδα, η κλάσηClusterδιατηρεί έναν κατάλογο των κόμβων πυ περιέχει. αλγόριθμοςορίζει τη διεπαφή με τον αλγόριθμο χρονοπρογραμματισμού, ο οποίος πρέπει να υλοποιείται από αλγόριθμους χρονοπρογραμματισμού που ορίζονται από τον χρήστη, και είναι το κλειδί για την υλοποίηση του μοντέλου.schedulerμοντελοποιεί τον χρονοπρογραμματιστή, ένα πρότυπο σχεδίασης που επιτρέπει σε διαφορετικές περιπτώσεις τουSchedulerνα προγραμματίζονται με διαφορετικούς αλγορίθμους χρονοπρογραμματισμού.brokerυλοποιεί την κλάσηBroker, η οποία υποβάλλει εργασίες στη συστάδα υπολογιστών για λογαριασμό του χρήστη.monitorυλοποιεί την κλάσηMonitor, η οποία χρησιμοποιείται για την παρακολούθηση και την καταγραφή της κατάστασης μιας προσομοίωσης κατά τη διάρκεια της διαδικασίας προσομοίωσης.- Η
simulationμοντελοποιεί μια προσομοίωση, η οποία πρέπει να κατασκευάσει μια περίπτωση συστάδαςCluster, να κατασκευάσει μια σειρά από περιπτώσεις διαμόρφωσης εργασιώνJobConfigκαι να χρησιμοποιήσει αυτές τις περιπτώσεις διαμόρφωσης εργασιών για να κατασκευάσει μια περίπτωσηBroker, να κατασκευάσει μια περίπτωση χρονοπρογραμματιστήScheduler.
Το πακέτο playground έχει σχεδιαστεί για να διευκολύνει τον πειραματισμό από τους χρήστες του πακέτου και αποτελείται από το πακέτο DAG.
To 'auxiliary' περιέχει συναρτήσεις που έχουν βοηθητικό ρόλο στην ανάπτυξη του συστήματος του δρομολογητή και του μοντέλου ενισχυτικής μάθησης.
Το DAG είναι προ-υλοποιημένo με ορισμένους ευρετικούς αλγορίθμους χρονοπρογραμματισμού εργασιών καθώς και με αλγορίθμους χρονοπρογραμματισμού εργασιών που βασίζονται σε βαθιά ενισχυτική μάθηση, αντίστοιχα.
- ευφυές σώμα πράκτορα, το οποίο υλοποιεί την βαθμίδα πολιτικής στην ενισχυτική μάθηση
- εγκέφαλος TensorFlow που υλοποιεί τη δομή του νευρωνικού δικτύου
- D