2005年12月21日ゼミ資料

12月14日(第29回) << 12月21日(第29回) >> 12月28日(第xx回)
研究関係Wikiトップへ戻る

今週の目標

テスト

設計

アルゴリズム決定!!!!

卒論執筆

下書き提出!!!!

先々週のゼミ資料メモ

シグナル

SIGALRMではなくSIGMiGを使う

マイグレーションのコスト

スケジューラの設計

IDMのコスト

現在の経過

アルゴリズム

http://mikilab.doshisha.ac.jp/dia/research/report/2002/0612/027/report20020612027.html

http://icl.cs.utk.edu/news_pub/submissions/annealing-scheduler.pdf

シグナル

SIGALRMではなくSIGMiGでも動く(migio2mig.c)

ただしsignal -sendする時はSIGMiGではなくSIGLIBCでないとだめ?

タスクに関する情報収集

以下のシステムコールは「undefined reference」になる。

BYTE4 proc_get_lifetime();
/*
	BYTE4 proc_get_lifetime(name)
	OBJECT_NAME name;

	タスクの寿命を調べる
	エラーの時は−1が返る
*/
BYTE4 self_get_lifetime();
/*
	BYTE4 self_get_lifetime()

	タスクの寿命を調べる
	エラーの時は−1が返る
*/

sss/proc.hに構造体Proc_infoがある。psで取得できる情報はここから取得可

使い方は……?

CPUクロックを用いてマイグレーションのコストを計測する

RDTSC命令がちゃんと働かない件について。

self_sleep(100)を挟んでrdtscでCPUクロックを計測しても-1.24GHzとかになってしまう。

森さんからもらったコードは以下のようなエラーを吐く。

rdtsc2.c: In function `rdtsc':
rdtsc2.c:8: `X' undeclared (first use in this function)
rdtsc2.c:8: (Each undeclared identifier is reported only once
rdtsc2.c:8: for each function it appears in.)

→externを外しXをxにしたら直った。ただし計測するとunsigned long longの範囲を超えるので使えない……。

ベンチマーク

http://mikilab.doshisha.ac.jp/dia/smpp/cluster2000/PDF/chapter04.pdf

各ベンチマークの特徴と実行方法がある。超便利。

http://mikilab.doshisha.ac.jp/dia/smpp/cluster2000/

元はここ「PCクラスタ超入門 2000」。

姫野ベンチ

バージョンアップのため再コンパイルが必要!!

./paramset.sh <gridsize> <ID> <JD> <KD>
make

これでできあがったbmtが実行ファイル。

gridsizeがXLになるとコンパイルが通らない!

ssspc@bootsrvr[6:47:23]yoshi/himeno% ./paramset.sh XL 1 1 1
ssspc@bootsrvr[6:47:36]yoshi/himeno% make
/usr/local/sss/bin/i386-unknown-ssscore3.elf-gcc -c -O3 -I /usr/local/sss/mpi/include/ himenoBMTxps.c
himenoBMTxps.c:56: size of array `a' is too large
himenoBMTxps.c:56: size of variable `a' is too large
*** Error code 1

Stop in /usr/sss/home/yoshi/himeno.

Lではコンパイルは通るが実行してもsleepしてしまう(原因不明)。

bmt-xs111をnode1のみで実行した結果

pstart 1 : bmt-xs111 bmt
node1: argc=5 argv=[pstart 1 : bmt-xs111 bmt]
:-)Sequential version array size
 mimax = 33 mjmax = 33 mkmax = 65
Parallel version array size
 mimax = 33 mjmax = 33 mkmax = 65
imax = 32 jmax = 32 kmax =64
I-decomp = 1 J-decomp = 1 K-decomp =1
 Start rehearsal measurement process.
 Measure the performance in 3 times.

 MFLOPS: 389.009177 time(s): 0.014631 6.229688e-03

 Now, start the actual measurement process.
 The loop will be excuted in 12302 times
 This will take about one minute.
 Wait for a while

cpu : 60.080377 sec.
Loop executed for 12302 times
Gosa : 1.009371e-11 
MFLOPS measured : 388.468841
Score based on Pentium III 600MHz : 4.737425

!! Task(BMT___:0x4da0000) Finished !! (cmd="bmt-xs111",ret=0)

bmt-xs111をnode1・3で実行した結果

(当然だけど不可能)

start 1 3 : bmt-xs111 bmt
ode1: argc=6 argv=[pstart 1 3 : bmt-xs111 bmt]
:-)Invalid number of PE
Please check partitioning pattern or number of PE

bmt-xs112をnode1・3で実行した結果

pstart 1 3 : bmt-xs112 bmt
node1: argc=6 argv=[pstart 1 3 : bmt-xs112 bmt]
:-)Sequential version array size
 mimax = 33 mjmax = 33 mkmax = 65
Parallel version array size
 mimax = 33 mjmax = 33 mkmax = 35
imax = 32 jmax = 32 kmax =33
I-decomp = 1 J-decomp = 1 K-decomp =2
 Start rehearsal measurement process.
 Measure the performance in 3 times.

 MFLOPS: 680.478225 time(s): 0.008364 6.229688e-03

 Now, start the actual measurement process.
 The loop will be excuted in 21520 times
 This will take about one minute.
 Wait for a while

cpu : 58.051122 sec.
Loop executed for 21520 times
Gosa : 1.009371e-11 
MFLOPS measured : 703.306717
Score based on Pentium III 600MHz : 8.576911

bmt-M111をnode1で実行した結果

:-)pstart 1 : bmt-M111 bmt
node1: argc=5 argv=[pstart 1 : bmt-M111 bmt]
:-)Sequential version array size
 mimax = 129 mjmax = 129 mkmax = 257
Parallel version array size
 mimax = 129 mjmax = 129 mkmax = 257
imax = 128 jmax = 128 kmax =256
I-decomp = 1 J-decomp = 1 K-decomp =1
 Start rehearsal measurement process.
 Measure the performance in 3 times.

 MFLOPS: 347.729792 time(s): 1.182859 1.693779e-03

 Now, start the actual measurement process.
 The loop will be excuted in 152 times
 This will take about one minute.
 Wait for a while

cpu : 59.866281 sec.
Loop executed for 152 times
Gosa : 1.301508e-03 
MFLOPS measured : 348.108824
Score based on Pentium III 600MHz : 4.245230

bmt-M112をnode1・3で実行した結果

pstart 1 3 : bmt-M112 bmt
node1: argc=6 argv=[pstart 1 3 : bmt-M112 bmt]
:-)Sequential version array size
 mimax = 129 mjmax = 129 mkmax = 257
Parallel version array size
 mimax = 129 mjmax = 129 mkmax = 131
imax = 128 jmax = 128 kmax =129
I-decomp = 1 J-decomp = 1 K-decomp =2
 Start rehearsal measurement process.
 Measure the performance in 3 times.

 MFLOPS: 637.233120 time(s): 0.645471 1.693779e-03

 Now, start the actual measurement process.
 The loop will be excuted in 278 times
 This will take about one minute.
 Wait for a while

cpu : 59.783793 sec.
Loop executed for 278 times
Gosa : 1.162861e-03 
MFLOPS measured : 637.551179
Score based on Pentium III 600MHz : 7.775014

関連ページ


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS