Jump to content
  • astrolabos
    astrolabos

    Από το "τρέχει DOOM" στο "τρέχει Minecraft": Minecraft server σε λάμπα φτηνή IoT λάμπα

    Ένας δημιουργός με το ψευδώνυμο «Vimpo» αποσυναρμολόγησε μια οικονομική LED λάμπα και απομόνωσε τον μικροελεγκτή Bouffalo Lab BL602, συνδέοντάς τον μέσω αντάπτορα USB-to-serial. Ο BL602 είναι μονοπύρηνος επεξεργαστής RISC-V (σύγχρονη ανοιχτή αρχιτεκτονική επεξεργαστών) στα 192 MHz, με 276 KB RAM και 128 KB ROM, χαρακτηριστικά τυπικά για IoT (Internet of Things, Διαδίκτυο των Πραγμάτων) συσκευές, όχι για διακομιστές παιχνιδιών.

     

     

    Στην επίδειξη φαίνονται τρεις παίκτες να συνδέονται σε έναν ελαφρύ διακομιστή που είναι γραμμένος σε C, ενώ ο αποθηκευμένος κόσμος περιορίζεται γύρω στα 90 KB, λόγω των αυστηρών περιορισμών μνήμης. Το έργο βασίζεται στο «UCraft», μια μινιμαλιστική υλοποίηση του πρωτοκόλλου του Minecraft σε C για μηχανές με ελάχιστους πόρους. Το εκτελέσιμο ξεκινά περίπου από 46 KB χωρίς σύστημα ταυτοποίησης και μπορεί να φτάσει γύρω στα 90 KB με ενσωματωμένο authentication. Σε σενάρια υψηλού φόρτου, η κατανάλωση heap αναφέρεται περίπου στα 70 KB με ταυτοποίηση και ~20 KB χωρίς, με ρητή επισήμανση ότι λείπει το μεγαλύτερο μέρος των δυνατοτήτων του επίσημου διακομιστή.

     

    Γιατί έχει σημασία. Η υλοποίηση δείχνει πόσο αποδοτικά μπορεί να γραφτεί το πρωτόκολλο του Minecraft όταν αφαιρεθούν ενδιάμεσα στρώματα λογισμικού και περιττές εξαρτήσεις. Αναδεικνύει επίσης την ωριμότητα φθηνών SoC (System on Chip, ολοκληρωμένο σύστημα σε μικροτσίπ) με Wi-Fi/BLE (Bluetooth Low Energy) που συναντάμε σε λάμπες και έξυπνες πρίζες. Στα τεχνικά χαρακτηριστικά περιλαμβάνονται 32 KB μνήμη L1 cache (προσωρινή μνήμη πρώτου επιπέδου) και απόδοση της τάξης των 1,46 DMIPS/MHz (μονάδα μέτρησης υπολογιστικής ισχύος), επαρκής για ένα σενάριο διακομιστή με αυστηρούς περιορισμούς.

     

    Για τους κατασκευαστές και τους ενθουσιώδεις του χώρου, πρόκειται για πρακτικό παράδειγμα δικτύωσης και χειρισμού εισόδου/εξόδου σε πραγματικό χρόνο, με αυστηρή διαχείριση μνήμης και πλήρη κατανόηση του πρωτοκόλλου. Η «απόδειξη εφικτότητας» είναι καθαρή: ακόμη και λίγες δεκάδες kilobytes, όταν χρησιμοποιηθούν με πειθαρχία, αρκούν για να στηθεί ένας βασικός, λειτουργικός κόσμος που συγχρονίζεται με πελάτες Minecraft συγκεκριμένης έκδοσης.

     

    Υπάρχουν όμως όρια. Το UCraft δεν στοχεύει σε ισοτιμία χαρακτηριστικών με τον επίσημο διακομιστή. Απουσιάζουν οι περισσότερες δυνατότητες παιχνιδιού και κλιμάκωσης, ενώ οι μετρήσεις προέρχονται από εργαστηριακή επίδειξη σε αποσυναρμολογημένη συσκευή. Σε πραγματικές συνθήκες, το θερμικό περιθώριο, η παροχή ρεύματος και το ραδιοφωνικό περιβάλλον θα επηρεάσουν την αξιοπιστία. Παρ’ όλα αυτά, το project λειτουργεί ως υπόμνηση ότι «λιγότερο» λογισμικό μπορεί, με σωστό σχεδιασμό, να κάνει «περισσότερα» από όσο περιμένουμε.

     

    Με δύο λόγια, δεν είναι «Minecraft στη λάμπα του σαλονιού», είναι μια επιτυχημένη επίδειξη προγραμματισμού χαμηλού επιπέδου: πρωτόκολλο προσαρμοσμένο απευθείας στο υλικό, RISC-V μικροελεγκτής με Wi-Fi που κοστίζει ελάχιστα, και εκτελέσιμο τόσο μικρό που χωρά περίπου στο μέγεθος μιας φωτογραφίας.


    Πηγή
    Φωτογραφία: tomshardware
×
×
  • Δημιουργία...

Important Information

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