Athlon 64 3500+ v. Core 2 Duo 2.0 GHz: Matlab

Το βρίσκω αρκετά αστείο, δεδομένης της αρεσκείας μου στα ηλεκτρονικά παιχνίδια, πως τα τελευταία δέκα χρόνια ο μόνος λόγος που κάνω σοβαρό upgrade είναι η δουλειά. Το Far Cry δεν κατάφερε να με μεταπείσει, αλλά λίγα simulations στο Matlab κάνανε τη δουλειά.

To τελευταίο upgrade σε desktop ήταν σ’ έναν Athlon 64 3500+, από τους πρώτους με τα 939 pins. Έκτοτε το υπολογιστικό μου budget έχει αναλωθεί σ’ έναν PowerBook 12″ και μετά έναν MeromBook Pro 15.4″. Από την εποχή του πρώτου δεν έχω πολυανοίξει τον desktop PC για οτιδήποτε εκτός από δουλειά και παιχνίδια. Με το Parallels και τον δεύτερο, η δουλειά μπορεί να γίνει πλέον στον Mac.

Έτρεχα λοιπόν σήμερα μερικά βαριά estimations στο Matlab. Παίρνουν πολύ να τρέξουν (αναλόγως πόσο γρήγορα κάνει converge από 5 έως 50 ώρες), οπότε δεν ήθελα να τα τρέξω στο laptop, για να παραμείνει φορητός. Οπότε άνοιξα το PC πάλι.

Ξαφνικά ήμουν περίεργος να κάνω τη σύγκριση. Τι λέει ο σχεδόν τριετής Athlon 64, πολύ hot για την εποχή του, μπροστά στον Core 2 Duo Mobile (Merom); Ο C2D υποτίθεται πως ήταν σαφές άλμα από τον ανταγωνισμό, αν και φυσικά η φορητή έκδοση δεν είναι το ίδιο δυνατή.

Τέλος πάντων, προφανώς δε μιλάμε για κάποια σοβαρά benchmarks — αν ενδιαφέρεστε για κάτι τέτοιο δείτε τα άνωθεν links.

Παρά ταύτα εγώ θέλω απλώς να σας πω μια ιστοριούλα — τι ακριβώς έγινε με το Matlab πρόγραμμα μου; Δεν είστε περίεργοι;

(Όχι; Με πληγώνετε.)

Πρώτον ας δούμε τις ‘ιδιαιτερότητες’ του κάθε ‘συστήματος.’ Το Matlab είναι τραγικά single-threaded, οπότε δεν έχουμε τρομερό θέμα εκεί, αλλά μιλάμε περί

  • Windows XP Desktop
    Athlon 64 3500+ (single core)
    1GB RAM
    Μπόλικο spyware
  • Windows XP Virtual Machine (στο Mac OS X μέσω Parallels)
    Merom C2D 2.0 GHz (single core λόγω Parallels)
    1.25GB RAM για τα Windows XP, 2GB RAM στο όλο σύστημα
    No spyware

Τα βάζω να τρέξουν ταυτόχρονα λοιπόν, και τι βλέπω;

Προς μεγάλη μου εντύπωση, ο C2D αφήνει τον A64 τρελά πίσω.

Το όλο routine αρχίζει με τέσσερα διαφορετικά tasks πριν μπει σε ένα τεράστιο convergence loop. Ο C2D γράφει λοιπόν χρόνο σ’ αυτά τα τέσσερα (χρησιμοποιόντας το κανονικό ρολόι, όχι cpu time)
11.536, 0.051, 1.742, 0.701 seconds,
ενώ ο A64 γράφει
47.765, 1.328, 4.266, 0.203 seconds.

Τρομερές διαφορές! Ομολογουμένως, δεν τις περίμενα τόσο μεγάλες.

Το πρώτο task έχει μπόλικο matrix manipulation — υπολογισμούς. Το δεύτερο έχει επίσης κάτι υπολογισμούς και διάφορα loops. Το τρίτο ουσιαστικά τρέχει μια φορά ένα μέρος της ρουτίνας που επαναλαμβάνεται αργότερα συνεχώς μέχρι convergence.

Το τέταρτο; Για μαντέψτε!

‘Checking memory requirements.’ Φορτώνει μερικά γιγάντια matrices στη μνήμη, για να τσεκάρει πως το Matlab θα έχει αρκετό χώρο αργότερα. (Το Matlab επιμένει να φορτώνει τα πάντα στη μνήμη.)

Αν είναι κάτι όπου η AMD ακόμη έχει προβάδισμα, είναι στη μνήμη λόγω του integrated memory controller της, και η γενιά των 939 ήταν η πρώτη όπου η υπεροχή της έγινε ξεκάθαρη.

Αρχίζει λοιπόν το κεντρικό loop. Μετά από λίγο έρχεται η πρώτη ενημέρωση. Ο C2D πρώτος, έστω και μέσα από το Parallels!
4.69 to 61.57 hrs

Άουτς. Ο άλλος; Ενημερώνει μετά από λίγο.
5.25 to 68.98 hrs

Παραπάνω άουτς. Μετά όμως συμβαίνει κάτι περίεργο.

Στη δεύτερη ενημέρωση λέει ο C2D
3.73 to 50.86 hrs
ενώ ο A64 λέει
2.36 to 32.15 hrs

Μετά συμβαίνει το εξής ευτράπελο επίσης: ο χρόνος του A64 άρχισε ν’ ανεβαίνει. Τελικά έφταιγε κάποιο spyware, το οποίο είχε αρχίσει να τρώει cpu time. Αφού σκότωσα το process (και τον explorer), έπεσαν πάλι οι χρόνοι.

Τώρα που τα γράφω ο C2D βρίσκεται στα
2.72 to 49.59 hrs
ενώ ο Α64 στα
1.56 to 34.33 hrs

Ενδιαφέρον. Είμαι περίεργος να δω πως θα πήγαινε σε Boot Camp, και όχι μέσω του Parallels. Φαντάζομαι λίγο καλύτερα, αν και δεν πρέπει να είναι σημαντική η διαφορά στις επιδόσεις, έτσι δεν είναι;

Που είσαι Santa Rosa;

6 Responses to “Athlon 64 3500+ v. Core 2 Duo 2.0 GHz: Matlab”


  1. 1 32bitos Mar 22nd, 2007 at 12:10 pm

    χμμμ δεν με εκπλήσουν τα αποτελέσματα, οι Core 2 είναι απίστευτα τσιπάκια
    όμορφο post και blog
    την καλημέρα μου

  2. 2 morpheous Mar 22nd, 2007 at 12:27 pm

    kewl man!
    to melodiko mou computer tha gamaei :P

  3. 3 xaplas Mar 22nd, 2007 at 10:39 pm

    Να ρωτήσω κάτι; Γιατί δεν τρέχεις το matlab μέσα από το OS X (με Χ11); Φαντάζομαι θα είναι ακόμα πιο γρήγορο…

  4. 4 kostis Mar 22nd, 2007 at 10:44 pm

    @32μπιτος: Δεν κατάλαβες, ενώ στα αρχικά ο C2D ήταν πολύ ανώτερος, όταν μπήκαν στο ίδιο το loop (που έχει ένα βαρύ matrix inversion), ο Athlon ήταν πολύ πιο γρήγορος… 30% πιο γρήγορος.

    @ξάπλας: Γιατί δεν έχω το Matlab για Mac, μόνο για Windows.

  5. 5 32bitos Mar 23rd, 2007 at 10:41 am

    δεν ειπα κάτι διαφορετικό ή κάτι που έρχεται σε αντίθεση με τα benchmarks

  6. 6 kostis Mar 23rd, 2007 at 10:43 am

    OK, νόμιζα πως δεν πρόσεξες τα μετέπειτα. Εμένα να σου πω μου έκανε λίγο εντύπωση. Βασικά δεν περίμενα τόση διαφορά μεταξύ των αρχικών (πολύ υπέρ του merom) αποτελεσμάτων, και των μετέπειτα… εξάλλου τα ίδια πάνω-κάτω κάνει και στις δυο φάσεις.

Leave a Reply