You are on page 1of 16

Εισαγωγή στα συστήματα Grids

Ορισμός

Υπάρχουν διάφοροι ορισμοί για το τί είναι grid:

Είναι ένας τύπος παράλληλου και κατανεμημένου συστήματος


που κάνει δυνατή τη διαμοίραση, επιλογή και ενοποίηση
γεωγραφικά κατανεμημένων πόρων (υπολογιστών,
δεδομένων, συσκευών) με βάση τη διαθεσιμότητα,
δυνατότητα, κόστος και απαιτήσεις QoS από το χρήστη.

Το grid είναι ένα εικονικό σύστημα (virtual system) μεγάλης


κλίμακας (large-scale) και διαχείρισης δεδομένων (data-
handling) που σχηματίζεται από το σύνολο των υπηρεσιών που
παρέχονται από κατανεμημένους πόρους.

Είναι μια γενική υποδομή διαμοιρασμού πόρων στην οποία


χρησιμοποιούνται υπολογιστικά συστήματα σε δίκτυο ευρείας
περιοχής (wide-area network) για διάφορες εφαρμογές με
μεγάλες υπολογιστικές απαιτήσεις.

Σύμφωνα με τον I. Foster [3], ένα grid είναι ένα σύστημα το


οποίο:

1) συντονίζει πόρους που δεν υπόκεινται σε κεντρικό έλεγχο


(πόροι και χρήστες που υπάρχουν σε διαφορετικά πεδία ελέγχου
(control domains), για παράδειγμα desktop χρήστη με central
computing). Δεν είναι ένα σύστημα τοπικής διαχείρισης.

2) χρησιμοποιεί τυποποιημένα, ανοικτά και γενικού σκοπού


πρωτόκολλα και διεπαφές. Έτσι υλοποιούνται θεμελιώδεις
λειτουργίες όπως:
• πιστοποίηση (authentication),
• εξουσιοδότηση (authorization),
• εύρεση πόρων (resource discovery),
• πρόσβαση σε πόρους (resource access).

Τα πρωτόκολλα πρέπει να είναι τυποποιημένα και ανοικτά για


να μην είναι το σύστημα συγκεκριμένης εφαρμογής.

3) προσφέρει σημαντική ποιότητα υπηρεσίας (Quality of


Service). Η ποιότητα υπηρεσίας μπορεί να είναι σε διάφορα
επίπεδα όπως:

• χρόνος απόκρισης,
• ρυθμοαπόδοση,
• διαθεσιμότητα,
• ασφάλεια,
• κατανομή πόρων

για να ικανοποιηθούν πολύπλοκες απαιτήσεις χρηστών. Ο


στόχος είναι η ωφέλεια από το συνδυασμένο σύστημα να είναι
μεγαλύτερη από αυτήν που προσφέρει το άθροισμα των μερών
του.

Ως προς τη λειτουργία /υπηρεσίες που προσφέρουν, υπάρχουν


διάφοροι τύποι grids:

• Υπολογιστικά grids (Computational grids), που επικεντρώνονται


κυρίως σε υπολογιστικά απαιτητικές λειτουργίες (SETI@Home,
NASA IPG).

• Grids δεδομένων (Data grids), που αναλαμβάνουν τη


διαχείριση και το διαμοιρασμό μεγάλου όγκου κατανεμημένων
δεδομένων (LHC Grid).

-2-
• Grids εξοπλισμού (Equipment grids), που ελέγχουν κάποιον
εξοπλισμό π.χ. τηλεσκόπιο, και αναλύουν τα δεδομένα που
παράγονται.

• Grids αλληλεπίδρασης (Interaction grids), που προσφέρουν


υπηρεσίες αλληλεπίδρασης όπως e-Learning, virtual tables,
gaming.

• Grids γνώσης (Knowledge grids), που προσφέρουν υπηρεσίες


ανάκτησης και διαχείρισης γνώσης (data mining).

Οργάνωση

Η οργάνωση ενός grid είναι διαδοχικών επιπέδων (layered).

• Στο κατώτερο επίπεδο βρίσκεται το υλικό και το


λογισμικό (λειτουργικά συστήματα) που ενσωματώνονται
σε έναν διασυνδεδεμένο πόρο. Με τον τρόπο αυτό ένα
cluster δίνει την εικόνα ενός μοναδικού συστήματος
(single system image cluster).

• Το αμέσως παραπάνω επίπεδο είναι το core-middleware


(ή αλλιώς low-level middleware) που παρέχει πρόσβαση
σε υπηρεσίες που παρέχονται από διαφορετικούς πόρους.
Είναι υπεύθυνο για την ποιότητα υπηρεσίας (QoS) και για
την ασφάλεια της πρόσβασης.

• Το επόμενο επίπεδο είναι το user-level middleware που


παρέχει τα εργαλεία για ανάπτυξη εφαρμογών
(βιβλιοθήκες, μεταγλωττιστές) και διαχείριση πόρων
(broker).

-3-
• Τέλος το ανώτερο επίπεδο αφορά τις κατανεμημένες
εφαρμογές που χρησιμοποιεί ο χρήστης.

APPLICATIONS
Applications and Portals

Scientific Engineerin Collaboration Prob. Solving … Web enabled


g Env. Apps

USER LEVEL
Development Environments and Tools
MIDDLEWARE
Languages/Compil Libraries Debugger Monitors … Web tools
ers s
Resource Management, Selection, and Aggregation (BROKERS)

CORE
Distributed Resources Coupling MIDDLEWARE
Services
Security Information Data Process Trading … QoS
SECURITY
LAYER

Local Resource Managers FABRIC

Operating Queuing Libraries & App … Internet


Systems Systems Kernels Protocols
Networked Resources across Organizations
Computers Network Storage Data … Scientific
s Systems Sources Instruments
Σχήμα 1.1 – Αρχιτεκτονική grid διαδοχικών επιπέδων [4]

Πόροι

Τα συστήματα διαχείρισης πόρων (Resource Management


Systems) διαχειρίζονται την προσφορά και τη ζήτηση για
πόρους. Ο στόχος τους είναι η ανάθεση πόρων έτσι ώστε αυτή
να είναι αμερόληπτη, η χρήση των πόρων να είναι αποδοτική,
οι χρήστες να είναι ικανοποιημένοι και οι εργασίες υψηλής
προτεραιότητας να έχουν ειδική μεταχείριση.

-4-
Οι πόροι σε ένα περιβάλλον όπως το grid, έχουν κάποια
ιδιαίτερα χαρακτηριστικά όπως:

Αυτονομία - Κάθε ένας πόρος έχει τη δική του πολιτική


ανάθεσης και δεν υπάρχει κεντρικός έλεγχος.

Ετερογένεια - Διαφορετικοί πόροι (Clusters, Windows, Linux


κ.α.)

Διαθεσιμότητα που μεταβάλλεται – Ο αριθμός των διαθέσιμων


πόρων μεταβάλλεται με το χρόνο.

Χρήστες

Καταναλωτές (Grid consumers) : Αυτή η ομάδα χρηστών


υποβάλλει εργασίες για επίλυση προβλημάτων διαφόρων
μεγεθών και πολυπλοκότητας. Ωφελούνται από τη σωστή
επιλογή πόρων.

Πάροχοι (Grid providers) : Συνεισφέρουν αδρανείς (idle)


πόρους για να εκτελεστούν οι εργασίες των καταναλωτών.
Ωφελούνται από τη μεγιστοποίηση της χρησιμοποίησης των
πόρων.

Grid scheduling

Οι πόροι στο Grid είναι κατανεμημένοι σε πολλά administrative


domains. Με την χρονοδρομολόγηση (scheduling) επιλέγονται
ένας ή περισσότεροι κατάλληλοι πόροι για την εκτέλεση μιας
εργασίας και γίνεται ανάθεση εργασιών στους πόρους και
παρακολούθηση της εκτέλεσης.

-5-
Οι grid schedulers είναι γενικοί (global) και δεν έχουν
κυριότητα ή έλεγχο σε πόρους. Οι εργασίες (jobs)
υποβάλλονται στους τοπικούς διαχειριστές πόρων (Local
Resource Managers, LRMs) από τους χρήστες και οι LRMs
φροντίζουν για την εκτέλεση των εργασιών.

Στα υπολογιστικά (computational) grids, που είναι τα


συνηθέστερα, η χρονοδρομολόγηση εργασιών πραγματοποιείται
σε δυο επίπεδα, σε επίπεδο grid (grid-level) και σε τοπικό
επίπεδο (local-level).

Στο grid επίπεδο, οι grid schedulers επιλέγουν τα κατάλληλα


συστήματα / πόρους για τις εργασίες και υποστηρίζουν τη
μετανάστευση των εργασιών σε αναμονή (waiting jobs) σε πιο
κατάλληλους πόρους για αύξηση της απόδοσης.

Στο τοπικό επίπεδο, οι local schedulers των υπολογιστικών


συστημάτων τοποθετούν τις εργασίες σε τοπικές ουρές
σύμφωνα με κάποιο αλγόριθμο.

Οι χρονοδρομολογητές (grid και local) συνθέτουν ένα μοντέλο /


πλαίσιο χρονοδρομολόγησης, που μπορεί να είναι
κεντρικοποιημένο (centralized) ή μή - κεντρικοποιημένο /
κατανεμημένο (decentralized).

Στο σχήμα 1.2 φαίνονται τέσσερις διαφορετικές αρχιτεκτονικές


για χρονοδρομολόγηση, δύο κεντρικοποιημένες και δύο μη-
κεντρικοποιημένες.

Στις κεντρικοποιημένες, η πρώτη περιλαμβάνει έναν πόρο και η


δεύτερη πολλούς.

Στη δεύτερη αρχιτεκτονική ανήκουν τα συστήματα συστοιχιών


(clusters). Η πρώτη μη-κεντρικοποιημένη αρχιτεκτονική του

-6-
σχήματος είναι ιεραρχική και η πιο συνηθισμένη. Αποτελείται
από έναν Grid Scheduler, πολλούς Local Schedulers και
πολλούς πόρους. Σε αυτήν την κατηγορία ανήκουν συστήματα
όπως τα Gridbus Broker και SETI@Home. Τέλος η δεύτερη μη-
κεντρικοποιημένη αρχιτεκτονική είναι η Job Pool όπου υπάρχει
ελεύθερη μετανάστευση εργασιών μέσα στο σύστημα
(cooperative clusters)[6].

Επίσης γίνεται αναφορά σε κεντρικοποιημένα και μη-


κεντρικοποιημένα μοντέλα σε σχέση με τους grid schedulers.

Σε κεντρικοποιημένα μοντέλα οι grid schedulers επιλέγουν για


κάθε εργασία το κατάλληλο σύστημα χωρίς να συνεργάζονται
με άλλους grid schedulers.

Σε μη-κεντρικοποιημένα μοντέλα οι grid schedulers


συνεργάζονται μεταξύ τους για να βρεθεί το κατάλληλο
σύστημα για μια εργασία. Έτσι αυτά τα μοντέλα είναι
κατάλληλα για grids ευρείας κλίμακας [7, 8].

-7-
Σχήμα 1.2 – Μοντέλα χρονοδρομολόγησης

Για τη χρονοδρομολόγηση σε grid μπορούμε να πούμε ότι


γίνεται γενικά σε τρεις φάσεις – στάδια. Κάθε φάση αποτελείται
από μια σειρά πιο βασικών ενεργειών.

• Σε πρώτη φάση γίνεται εύρεση πόρων (resource


discovery). Δηλαδή βρίσκεται ένα σύνολο πόρων που
ικανοποιούν προϋποθέσεις, όπως για παράδειγμα η
εργασία να μπορεί να εξυπηρετηθεί από τους πόρους.

• Στη δεύτερη φάση γίνεται η επιλογή του πόρου (resource


selection) με κάποιο κριτήριο από τους υποψήφιους της
πρώτης φάσης.

• Τέλος στην τρίτη φάση γίνεται η εκτέλεση της εργασίας


(job execution).

-8-
Σχήμα 1.3 – Στάδια χρονοδρομολόγησης σε grid

Αναφορά στα κυριότερα βήματα κάθε φάσης [14]:

1.Authorization Filtering: Ο χρήστης έχει εξουσιοδότηση


πρόσβασης σε ένα σύνολο πόρων στο grid. Έτσι αποκλείονται
οι πόροι για τους οποίους δεν έχει πρόσβαση.

2.Application Definition: Διαφορετικές εργασίες έχουν


διαφορετικές απαιτήσεις εκτέλεσης, οπότε εδώ ο χρήστης δίνει
κάποια στοιχεία για τις απαιτήσεις της εργασίας που θα
υποβάλλει. Όσο πιο πολλές πληροφορίες δώσει τόσο πιο
αποτελεσματική θα είναι η αναζήτηση των κατάλληλων πόρων.

3.Minimal Requirement Filtering: Με αυτή την ενέργεια


φιλτράρονται και αποκλείονται οι πόροι που δεν ικανοποιούν
τις απαιτήσεις της εργασίας.

-9-
4.Information Gathering: Για να γίνει η βέλτιστη δυνατή
αντιστοίχιση εργασίας / πόρου απαιτείται δυναμική πληροφορία
για τους πόρους. Με αυτή την πληροφορία ο broker αποτιμά τη
διαθεσιμότητα και την κατάσταση των πόρων.

6.Advance Reservation: Με την ενέργεια αυτή βεβαιώνεται ότι


όλοι οι πόροι που επιλέχθηκαν θα είναι ταυτόχρονα διαθέσιμοι
κατά την ώρα εκτέλεσης της εργασίας.

8.Preparation Tasks: Γίνεται η απαραίτητη προετοιμασία


(εγκατάσταση, μετάφραση) για να είναι έτοιμοι οι πόροι να
εκτελέσουν την εργασία.

9.Monitoring Progress: Καθώς γίνεται η εκτέλεση της εργασίας,


ο χρήστης μπορεί να παρακολουθεί την πρόοδο της εκτέλεσης
και αν το επιθυμεί να την ακυρώσει ή να υποβάλλει ξανά την
εργασία.

Σύντομη περιγραφή βασικών λειτουργιών


χρονοδρομολόγησης σε grid. Αυτές οι λειτουργίες μπορεί να
είναι μέρος ενός πολύπλοκου μηχανισμού σε μια γενική
αρχιτεκτονική χρονοδρομολόγησης (grid scheduling)[9].

Αναζήτηση (search): Χρησιμοποιείται για συλλογή


πληροφοριών για τους πόρους. Για παράδειγμα σε μεγάλης
κλίμακας grids μπορεί να μην είναι αποδοτικό να συλλέγεται
πληροφορία για κάθε πόρο, αλλά για ένα υποσύνολο «καλών»
υποψήφιων πόρων. Μπορούν να χρησιμοποιηθούν διάφορες
στρατηγικές αναζήτησης (π.χ. best fit).

Παρακολούθηση (monitoring): Ένα μοντέλο


χρονοδρομολόγησης πρέπει να παρακολουθεί κάποια
χαρακτηριστικά, είτε για εσωτερική χρήση είτε για να παρέχει

- 10 -
πληροφορία για το σύστημα στους χρήστες ή στους
διαχειριστές. Για παράδειγμα μπορεί να παρακολουθείται η
κατάσταση ενός πόρου, η κατάσταση μιας εργασίας ώστε να
ενημερώνεται ο χρήστης που την υπέβαλλε κ.α.

Πρόβλεψη (forecasting): Κάποιες στρατηγικές


χρονοδρομολόγησης μπορούν να ευνοηθούν από την ύπαρξη
πληροφορίας για πόρους που έχει προβλεφθεί. Ανάλογα και με
το μοντέλο πρόβλεψης, μπορεί να υπάρχει και πληροφορία για
την πιθανότητα σε συνδυασμό με την πρόβλεψη.

Κράτηση (reservation): Η χρονοδρομολόγηση απαιτητικών


εργασιών μπορεί να απαιτεί σχεδιασμό (planning) και κράτηση
της διαθεσιμότητας ενός πόρου. Η κράτηση ενός πόρου μπορεί
να γίνει με διάφορους τρόπους όπως, αυτόματα, αν το
υποστηρίζει ο τοπικός διαχειριστής πόρων (local resource
manager), ή κατ’ απαίτηση του χρήστη αν το δηλώσει ρητά.

Συμφωνία (agreement) : Σε περίπτωση που υπάρχουν


κάποιες απαιτήσεις για ποιότητα υπηρεσίας (QoS), τα
εμπλεκόμενα μέρη μπορούν να πραγματοποιήσουν μια
συμφωνία.

Διαπραγμάτευση (negotiation) : Για να πραγματοποιηθεί μια


συμφωνία τα εμπλεκόμενα μέρη μπορεί να ακολουθούν
κάποιους κανόνες για ανταλλαγή προτάσεων για να
καταλήξουν σε μια τελική απόφαση. Για την αποδοτική χρήση
σε grids, η διαδικασία διαπραγμάτευσης πρέπει να είναι
αυτοματοποιημένη και να απαιτεί την ελάχιστη αλληλεπίδραση
από τους χρήστες.

Ασφάλεια (security) : Κάθε αλληλεπίδραση μεταξύ δύο μή-


έμπιστων οντοτήτων μπορεί να απαιτεί μηχανισμούς
ασφάλειας. Αυτοί οι μηχανισμοί μπορεί να είναι η πιστοποίηση

- 11 -
μιας οντότητας, η εξουσιοδότηση ενός χρήστη να υποβάλλει
μια εργασία και η ασφαλής διακίνηση των δεδομένων στο
δίκτυο.

Μοντέλα για χρονοδρομολόγηση εργασιών σε grids

Σε ερευνητικές εργασίες παρατηρείται μεγάλο πλήθος


προτεινόμενων μοντέλων grids ανάλογα και με τα επιθυμητά
χαρακτηριστικά χρονοδρομολόγησης των εργασιών. Τα
περισσότερα όμως έχουν κάποια κοινά σημεία που
περιγράφονται στη συνέχεια.

Η ιεραρχική οργάνωση είναι πολύ συνηθισμένη και


περιλαμβάνει οντότητες που ανήκουν σε διαφορετικά επίπεδα.

Για παράδειγμα υπάρχει ένας grid scheduler και πολλοί local


schedulers π.χ. ένας σε κάθε site.

Ο grid scheduler είναι υπεύθυνος για την επιλογή site για την
εργασία και στη συνέχεια αναλαμβάνει ο local scheduler που
είναι υπεύθυνος για τους τοπικούς πόρους.

Δυο σημαντικά χαρακτηριστικά για ένα μοντέλο grid είναι:

• η ετερογένεια, και
• η επεκτασιμότητα.

Η ετερογένεια είναι φυσικό να υπάρχει καθώς υπάρχει


δικτύωση υπολογιστικών κέντρων με πόρους διαφορετικούς ως
προς τον αριθμό και ως προς τα χαρακτηριστικά τους.

Η δυνατότητα της επεκτασιμότητας έχει να κάνει με το πόσο


εύκολη είναι η προσθαφαίρεση στοιχείων όπως συστοιχίες

- 12 -
πόρων (clusters), επεξεργαστικές μονάδες κ.α. Η
λειτουργικότητα του μοντέλου δεν πρέπει να επηρεάζεται από
αυτές τις μεταβολές.

Για την υποβολή εργασιών τα μοντέλα συνήθως υποστηρίζουν


δύο τύπους: υποβολή τοπικά (local job) και υποβολή στον
grid scheduler (grid job).

Σε άλλη περίπτωση grid, σε κάθε local scheduler εξετάζεται η


πρώτη εργασία στην ουρά. Αν μπορεί να εκτελεστεί στη
συστοιχία (όπου υπάρχει ο local scheduler), γίνεται εκεί η
εκτέλεση. Αν όχι, υπάρχουν τρεις περιπτώσεις:

• η εργασία θα εκτελεστεί αργότερα,


• ένα grid job που εκτελείται στη συστοιχία θα
μεταναστεύσει (migration) με αποτέλεσμα την
απελευθέρωση πόρου
• η εργασία θα σταλθεί στον grid scheduler.

Σε άλλη περίπτωση grid, όταν υποβάλλεται μια εργασία στον


grid scheduler γίνεται επικοινωνία με τον local scheduler για
εκτίμηση του χρόνου αναμονής της εργασίας.

Αν ο χρόνος είναι αποδεκτός αποστέλλεται στον local


scheduler, αλλιώς μεταναστεύει σε άλλη συστοιχία. Εδώ η
τοπολογία είναι διαφορετική σε σχέση με το προηγούμενο
παράδειγμα γιατί κάθε συστοιχία έχει τον δικό της grid
scheduler (σχήμα 1.4).

- 13 -
Σχήμα 1.4 – Αρχιτεκτονική Grid της εργασίας [12]

Όσον αφορά τη δομή και τα χαρακτηριστικά των εργασιών που


υποβάλλονται στο grid, πολλές ερευνητικές εργασίες μελετούν
στρατηγικές χρονοδρομολόγησης εργασιών/εφαρμογών, οι
οποίες μπορούν να χωριστούν σε κομμάτια (chunks)
ανεξάρτητα μεταξύ τους που μπορούν να εκτελεστούν σε
διαφορετικούς πόρους.

Σε εργασίες αυτού του τύπου αναφέρονται εφαρμογές που


ονομάζονται Divisible Load (DL) εφαρμογές και BoT (Bag-of-
Tasks) εφαρμογές. Επίσης πολλές εργασίες υιοθετούν την
τεχνική των διπλότυπων διεργασιών (task duplication).

Η προσομοίωση αποτελεί πολύτιμο εργαλείο για την αποτίμηση


της απόδοσης των συστημάτων grid.

Αναφορές
1. Ζήκος Στυλιανός, “Μοντελοποίηση και Προσομοίωση Χρονοδρομολόγησης
Εργασιών σε Πολλαπλά Sites στο Grid”, Μεταπτυχιακή Διατριβή, 2007.
2. http://en.wikipedia.org/wiki/Grid_computing
3. Ian Foster, “What is the Grid? A Three Point Checklist”, 2002.

- 14 -
4. Rajkumar Buyya, “Introduction to Grid Computing: Trends, Challenges,
Technologies and Applications”, 2006.
5. http://www.gridbus.org/
6. Rajkumar Buyya, “Grid Resource Management and Application Scheduling”, 2006.
7. Arora M., Das SK, Biswas R., “A de-centralized scheduling and load balancing
algorithm for heterogeneous Grid environments”. Proceedings of the International
Conference on Parallel Processing Workshops, August 2002. IEEE Computer
Society Press: Los Alamitos, CA, 2002: 499–505.
8. Junwei C, Spooner DP, Jarvis SA, Saini S, Nudd GR. “Agent-based Grid load
balancing using performance-driven task scheduling”. Proceedings of the 17th
International Symposium on Parallel and Distributed Processing, April 2003, IEEE
Computer Society Press: Los Alamitos, CA, 2003: 49-58.
9. N. Tonellotto, R. Yahyapour, Ph. Wieder, “A Proposal for a Generic Grid
Scheduling Architecture”, CoreGrid technical report, 2006.
10. B. Yagoubi, Y. Slimani, “Dynamic Load Balancing Strategy for Grid Computing”,
Transactions on Engineering, Computing and Technology, Vol. 13, May 2006.
11. A. Goldman, C. Queiroz, “A model for parallel job scheduling on dynamical
computer Grids”, Concurrency Computation.: Pract. Exper. 2004, 16:461–468.
12. H. Shan, W. Smith, L. Oliker, R. Biswas, “Scheduling in Heterogeneous Grid
Environments: The Effects of Data Migration”, Advanced Computing and
Communications (ADCOM 2004).
13. IBM redbook, “Introduction to Grid Computing with Globus”, September 2003,
ISBN: 0070366985.
14. Yang C-T, Shih P-C, Lin C-F, Chen S-Y, “A resource broker with an efficient
network information model on grid environments”, Journal of Supercomputing, Vol.
40: 249-267, June 2007.
15. V. Floros, “Introduction to Grid Application Development”, Enabling Grids for E-
sciencE (EGEE), 2006.
16. Y. Cardinale, H. Casanova, “An Evaluation of Job Scheduling Strategies for
Divisible Loads on Grid Platforms”, In Proceedings of the High Performance
Computing & Simulation Conference, Bonn, Germany, May 2006.
17. Y. C. Lee, A. Zomaya, “Practical Scheduling of Bag-of-Tasks Applications on
Grids with Dynamic Resilience”, IEEE Transactions on Computers, vol. 56, no.6,
pp.815-825, June 2007.
18. M. Baker, R. Buyya and D. Laforenza, “Grids and Grid technologies for wide-area
distributed computing”, Software Practice and Experience, 2002.
19. S. Zikos and H.D. Karatza, “Resource Allocation Strategies in a 2-level
Hierarchical Grid System”, Proceedings of the 41st Annual Simulation Symposium
(ANSS), IEEE Computer Society Press, SCS, April 13-16, 2008, Ottawa, Canada, pp.
157-174.
20. S. Zikos and H. Karatza, “Communication Cost Effective Scheduling Policies of
Nonclairvoyant Jobs with Load Balancing in a Grid”, The Journal of Systems and
Software, Elsevier, Vol. 82, Issue 12, 2009, pp. 2103-2116.

- 15 -
21. S. Zikos and H. Karatza, “The Impact of Service Demand Variability on Resource
Allocation Strategies in a Grid System”, ACM Transactions on Modeling and
Computer Simulation (TOMACS), Vol. 20, Issue 4, Article No. 19, October 2010, pp.
19:1-19:29.
22. S. Zikos and H. Karatza, “Performance and energy aware cluster-level scheduling
of compute-intensive jobs with unknown service times”, Simulation Modelling
Practice and Theory, Elsevier, 19 (2011), pp.239–250.
23. S. Zikos and H. Karatza, “A clairvoyant site allocation policy based on service
demands of jobs in a computational grid”, Simulation Modelling Practice and Theory,
Elsevier, Vol. 19, Issue 6, June 2011, pp. 1465-1478.
24. S. Zikos and H. Karatza, “Clairvoyant site allocation of jobs with highly variable
service demands in a computational grid”, Proceedings of the 9th International
Workshop on Performance Modeling, Evaluation, and Optimization of Ubiquitous
Computing and Networked Systems (PMEO-UCNS'10), in conjunction with IPDPS
2010, April 19-23, 2010, Atlanta, USA (sponsored by IEEE Computer Society and
ACM SIGARCH).
25. K. Karaoglanoglou and H. Karatza, “Resource Discovery in a Grid System:
Directing Requests to Trustworthy Virtual Organizations based on Global Trust
Values”, Journal of Systems and Software, Elsevier, Vol. 84, Iss. 3, pp. 465-478,
2011.
26. K. Karaoglanoglou, and H. Karatza, “Directing Requests in a Large-Scale Grid
System based on Resource Categorization", 2011 International Symposium on
Performance Evaluation of Computer and Telecommunication Systems, SPECTS
2011, June 27-30, 2011, The Hague, Netherlands, pp. 9-15.
27. K. Karaoglanoglou and H. Karatza, “Resource Discovery in Large Scale Grid
Systems”, ComplexHPC book, John Wiley & Sons, 2013.
28. S. Zikos and H. D. Karatza, “Allocating jobs of different priorities to a distributed
system with heterogeneous resources”, in Proceedings of the 2018 International
Conference on Computer, Information and Telecommunication Systems (CITS
2018), Colmar, France, 11-13 July 2018, pp. 60-64.
29. G. L. Stavrinides and H. D. Karatza, “Scheduling Bag-of-Task-Chains in
Distributed Systems”, in Proceedings of the The 14th IEEE International Symposium
on Autonomous Decentralized Systems, Utrecht, The Netherlands, 8-10 April, 2019,
pp. 81-86.
30. G. L. Stavrinides and H. D. Karatza, “Scheduling a Job Mix of Bag-of-Tasks and
Bag-of-Task-Chains on Distributed Resources”, in Proceedings of the 11th
International Conference on Information and Communication Systems (ICICS), Irbid,
Jordan, 7-9 April, 2020, pp. 394-399.
31. G. L. Stavrinides and H. D. Karatza, “Scheduling a Time-Varying Workload of
Multiple Types of Jobs on Distributed Resources”, in Proceedings of the 2020
International Symposium on Performance Evaluation of Computer and
Telecommunication Systems (SPECTS), July 20-22, 2020, Madrid, Spain.

- 16 -

You might also like