Wiki

Clone wiki

MapReduce_StarSS / guide

אהלן.

שרפתי קצת זמן כדי להשמיש סביבת עבודה- אז כשאתה מתפנה, דבר איתי ואני אסביר לך כדי שלא תשרוף גם אתה את הזמן הזה. בגדול (גם כדי שאני לא אשכח):

1. מתחילים מלהתקין את ה- vmware (זה לא player כמו שהיה במערכות הפעלה אלא משהו אחר) מורידים מכאן- https://csms.cs.technion.ac.il:4423

2. ואז צריך להתחיל מכונה חדשה ולתת לה את הקובץ iso של מערכת ההפעלה הרצויה כדי שהיא תתקין אותה - את ה- iso מורידים מכאן: ubuntu.com

3. צריך להתקין g++ ע"י פתיחת טרמינל והרצת השורה הבאה:

sudo apt-get install g++

4. צריך להתקין את SMPSs ע"פ סעיף 2.2 במדריך הבא: http://www.bsc.es/media/3833.pdf

את ה- SMPSs מורידים מכאן:

http://www.bsc.es/plantillaH.php?cat_id=392

שים לב שכדי להריץ את השלב החמישי במדריך הזה אתה צריך לרשום את המילה sudo בהתחלה (זה נותן לך הרשאות של super user ) - כלומר השלב החמישי יהיה הרצת הפקודה:

sudo make install

5. צריך להגדיר את ה PATH כמו שמבוצע בשלב 2.3 באותו מדריך.

6. להתקין עוד כמה דברים הכרחיים ע"י הקשת השורות: sudo apt-get install git sudo apt-get install autoconf2.13 sudo apt-get install libtool sudo apt-get install flex sudo apt-get install bison sudo apt-get install gperf

7.

install libxml2 from the ubuntu software center

להוריד את extrae ואת paraver כמו שהם, כנראה גרסת 32 ביט מ- http://www.bsc.es/plantillaC.php?cat_id=625

Extrae זו ספרייה שמאפשרת לקבצים שקומפלו באמצעות mcc או mcxx לייצר Trace.

לפתוח את ה- tar-ים לתיקיות שאינן זמניות.

8. ועכשיו אפשר לעבוד על פי ההנחיות של אלכס:

[תוספות אדומות: התקנה עם extrae. תוספות ירוקות: מעביר בסוף את mcxx ואת nanox לתיקייה /opt/alex.] These steps should work:

$ git clone git:nanos.ac.upc.edu/mcxx $ git clone git:nanos.ac.upc.edu/nanox $ export PREFIX=/tmp/alex/ $ cd nanox/ $ autoreconf -f -i $ ./configure --prefix=$PREFIX --with-extrae=/opt/extrae/ $ make install $ cd ../mcxx/ $ autoreconf -f -i $ ./configure --prefix=$PREFIX --enable-ompss $ make install $ cd /tmp/ $ mv alex /opt/alex $ export PREFIX=’/opt/alex’ $ PATH=$PATH:$PREFIX/bin

$ sscc --version

9. על מנת שהשינוי ל PATH יהיה תמידי גם לאחר אתחול, ייש להוסיף את השורות הבאות בסוף הקובץ .profile שנמצא בתיקיית ה- user: ./.profile … … PATH=”$PATH:/opt/SMPSs/bin:/opt/nanox/bin” LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/opt/SMPSs/lib”

10. ע"מ לקמפל קובץ כללי: mcc -o hello −−openmpt hello.c

mcxx עבור C++.

ע"מ לקמפל קובץ שמייצר trace:

To obtain traces then add the "--instrument" flag when compiling the application and define the environment variable NX_INSTRUMENTATION=extrae before runnig it.

Various other NANOX flags: NX_ARGS OMP_NUM_THREADS

אז בוא נדבר על:

METIS

1. להוריד קובץ מ- http://pdos.csail.mit.edu/metis/

2. מהתיקייה בה נמצא ה- tarball, שמשם אני מניח שתרצה להתקין את Metis:

sudo apt-get install libnuma-dev tar -xf metis cd metis

3. אני לא יודע לייצר קבצי patch, צריך בכל אופן לבצע את השינוי הבא: emacs /pkg/streamflow/streamflow.h Add this as line 60:

  1. define NUM_NUMA_NODES 2 /* OMER: let's hope this works. TODO */

4. בשלב זה, פשוט: make

cd obj/app

./matrix_mult -p 2 -m 2 -l 10

Programs for working from afar on the 8-cores machine:

Putty (find in google, d/l and install) and the setup X forwarding: http://www.math.umn.edu/systems_guide/putty_xwin32.html

XMING: https://sourceforge.net/projects/xming/

ds-out0.cs.technion.ac.il: machine for accessing outside the technion ds-bl202.cs.technion.ac.il: machine for running (8 cores)

for u/ling files: use http://winscp.net/eng/index.php

Cheers,

Michael Lewinger DSL Engineer

Updated