Beowulf HOWTO
Jacek Radajewski and Douglas Eadline
v1.1.1, 22 November 1998
Hisakuni NOGAMI
[email protected]
1999 �N 9 �� 20 ��
�{�����ł� Beowulf �X�[�p�[�R���s���[�^�A�[�L�e�N�`����Љ�A����v
���O���~���O�̔w�i�m������܂��B���Əڍׂȕ�����E�F�u�y�[�W�ւ�
�����N����܂��B
______________________________________________________________________
�ڎ�
1. �O����
1.1 �Ɛ�
1.2 ���쌠
1.3 ���� HOWTO �ɂ���
1.4 ���҂ɂ���
1.5 �ӎ�
2. �͂��߂�
2.1 ���� HOWTO ��N���ǂނׂ����H
2.2 Beowulf ���ĉ��H
2.3 ����
3. �A�[�L�e�N�`���T�v
3.1 ����́A�ǂ�ȕ��Ɍ����܂����H
3.2 ���̑��̃m�[�h��g����悤�ɂ����@�́H
3.3 Beowulf �� COW �i���[�N�X�e�[�V�����̃N���X�^�j�͂ǂ��Ⴄ�́H
4. �V�X�e���v
4.1 ����v�Z�̔w�i�T�v
4.2 ����v�Z�̕���
4.2.1 �Ȃ���ȏ�� CPU ���H
4.2.2 ����v�Z�̂��X
4.2.2.1 �V���O���^�X�N�̃I�y���[�e�B���O�V�X�e��
4.2.2.2 �}���`�^�X�N�̃I�y���[�e�B���O�V�X�e��
4.2.2.3 ������ CPU ��g�����}���`�^�X�N�̃I�y���[�e�B���O�V�X�e��
4.2.2.4 ������ CPU �̃}���`�^�X�N�̃I�y���[�e�B���O�V�X�e����ł̃X���b�h
4.2.2.5 ������ CPU ��}���`�^�X�N�̃I�y���[�e�B���O�V�X�e����̃��b�Z�[�W�� �M
4.3 ����v�Z�̃A�[�L�e�N�`��
4.3.1 �n�[�h�E�F�A�A�[�L�e�N�`��
4.3.2 �\�t�g�E�F�A API �A�[�L�e�N�`��
4.3.2.1 ���b�Z�[�W
4.3.2.2 �X���b�h
4.3.3 �A�v���P�[�V�����̃A�[�L�e�N�`��
4.4 �K���� (Suitability)
4.5 ����\�t�g�E�F�A������ƂƈڐA���邱��
4.5.1 ���Ȃ��̃v���O�����ł̕��s�����f����
4.5.2 ����̌�������ς��
4.5.3 ���Ȃ��̃v���O�����̂��̕��s������L�q����
4.5.3.1 �����I���@
4.5.3.2 �ÖٓI���@
5. Beowulf �̏��
5.1 �o���_
5.2 ����
5.3 �_��
5.4 �\�t�g�E�F�A
5.5 Beowulf �}�V������
5.6 ���̑��̖ʔ����T�C�g
5.7 ��j
6. �\�[�X�R�[�h
6.1 sum.c
6.2 sigmasqrt.c
6.3 prun.sh
______________________________________________________________________
1. �O����
1.1. �Ɛ�
We will not accept any responsibility for any incorrect information
within this document, nor for any damage it might cause when applied.
�i�Ɛӂ̉���F �������́A�{�������̂ǂ�ȕs���m�ȏ��ɂ�A�g��������
�̂ǂ�ȑ��Q�ɂ�A���̐ӔC�����܂���B�j
1.2. ���쌠
Copyright (C) 1997 - 1998 Jacek Radajewski and Douglas Eadline.
Permission to distribute and modify this document is granted under the
GNU General Public Licence.
�i���쌠�̉���F Copyright (C) 1997 - 1998 Jacek Radajewski and
Douglas Eadline. �{�����̔z�z�Ɖ��ς� GNU General Public Licence ��
�]���ċ����܂��B�j
1.3. ���� HOWTO �ɂ���
Jacek Radajewski �� 1997 �N 11 ���ɖ{��������n�߁A������ Douglas
Eadline �������܂����B 2 �A 3 ������߂��āA Beowulf HOWTO �͑傫��
�����ɐ������A 1998 �N 8 ���� 3 �̕����ɕ�������܂��� - Beowulf
HOWTO �ƁA Beowulf Architecture Design HOWTO �A Beowulf Installation
and Administration HOWTO �ł��B Version 1.0.0 �� Beowulf HOWTO ��
Linux Documentation Project �� 1998 �N 11 �� 11 ���Ƀ����[�X����܂�
���B�������͂��ꂪ���S�� Beowulf Documentation Project �ƂȂ��n�߂�
�����Ȃ��Ǝv���Ă��܂��B
1.4. ���҂ɂ���
o Jacek Radajewski �� Network Manager �Ƃ��ē����Ă��܂��A�܂��A
University of Southern Queensland, Australia �� computer science ��
honors degree �̂��߂ɕ����Ă��܂��B Jacek �̍ŏ��� Linux �Ƃ̏o
��� 1995 �N�ŁA��ڂڂ�ł����B Jacek �͍ŏ��� Beowulf �N���X�^
�� 1997 �N 5 ���ɍ\�z���A����ȗ����̋Z�p�ŗV��ł���A�V�����ėǂ�
�Z�b�g�A�b�v���@������Ă��܂��B Jacek �ɂ�
[email protected]
�ւ̓d�q���[���ŘA���ł��܂��B
o Douglas Eadline, Ph.D. �� Paralogic, Inc., Bethlehem, PA, USA �̎�
������C�Ȋw�҂ł��B����/���͓I���w�̌P����A���w�@��Ŏg������
�̃V���O���{�[�h�R���s���[�^��߂� 1978 �N�ɍ\�z���Ĉȗ��A�R��
�s���[�^�Ɋւ��Ă��܂����B Dr. Eadline �����������̂ɂ́A
Linux �ƁA Beowulf �N���X�^�A����A���S���Y���������Ă��܂��BDr.
Eadline �ɂ�
[email protected] �ւ̓d�q���[���ŘA���ł��܂��B
1.5. �ӎ�
Beowulf HOWTO ����̂͒������̂�ł������A���Ɋ������܂����A������
���X�Ɋ��ӂ��܂��B�ȉ��̕��X�̏��͂Ɩ{ HOWTO �ւ̊�^�Ɋ��ӂ������Ǝv
���܂��B
o Becky �ɂ͔ޏ��̈���ƃT�|�[�g�Ɨ���ɁB
o NASA �� Beowulf �v���W�F�N�g��J�n���� Tom Sterling �A Don Becker
���̐l�X�ɁB
o Thanh Tran-Cong �� Faculty of Engineering and Surveying ���A�����p
�� topcat Beowulf �}�V����g����悤�ɂ��Ă��ꂽ���ƂɁB
o ���̊ē� Christopher Vance �̈̑�ȃA�C�f�A�ɁB
o ���̗F�l Russell Waldron �̈̑�ȃv���O���~���O�̃A�C�f�A�ƁA�{�v��
�W�F�N�g�ւ̑S�ʓI�ȋ����ƃT�|�[�g�ɁB
o ���̗F�l David Smith �̖{�����̍��ǂɁB
o Beowulf ���[�����O���X�g�́A���̑��吨�̕��X�̎��ւ̃t�B�[�h�o�b�N
�ƃA�C�f�A�ɁB
o Linux �I�y���[�e�B���O�V�X�e���A�܂��A topcat ���̑��� Beowulf �}�V
���Ŏg��ꂽ�A���̑��S�Ẵt���[�\�t�g�E�F�A�p�b�P�[�W�ɐӔC���
�S�Ă̐l�X�ɁB
o �i�F���{���ɂ��ẮA���� �L������A�㓡 �������̂i�e��
�F����̂��w�E���A���ӂ��Ă���܂��B�j
2. �͂��߂�
���p�i�̃R���s���[�^�Ƃ��l�b�g���[�N�n�[�h�E�F�A�̐��\�����サ�A������
�Ȃ�ɂ�āA���ɍ����ȃX�[�p�[�R���s���[�^�� CPU ���Ԃ����
��A�ȒP�ɓ���ł��镔�i�ŕ���v�Z�V�X�e����\�z����̂��܂��܂����p�I
�ɂȂ��Ă��Ă��܂��B���ۂɁA Beowulf �^�C�v�̃}�V���̉��i���\��́A�`
���I�ȃX�[�p�[�R���s���[�^���� 3 �{���� 10 �{�ǍD�ł��B Beowulf �A�[
�L�e�N�`���͂��܂��K�͊g��\�ŁA�\�z���e�Ղł����A�w�ǂ̃\�t�g�E�F�A
�͖����Ȃ̂ŁA�n�[�h�E�F�A�������ł��݂܂��B
2.1. ���� HOWTO ��N���ǂނׂ����H
���� HOWTO �́A���Ȃ��Ƃ� Linux �I�y���[�e�B���O�V�X�e���ʼn����̌o����
���l�ׂ̈ɏ�����Ă��܂��B Beowulf �Z�p�̒m���Ƃ��A���ƕ��G�ȃI�y
���[�e�B���O�V�X�e���Ƃ��l�b�g���[�N�T�O�̗���́A�s���ł͂���܂�
��B�ł�A����v�Z�̉��������̌o��������ΗL���ł��i���ǂ̂Ƃ���A����
���͖{������ǂނׂ����R�������Ƃ���͂��ł��j�B���� HOWTO �́A
Beowulf �ɂ��Ă̋^��S���ɂ͓����Ȃ��ł��傤���A���Ȃ��ɃA�C�f�A��
���A���Ȃ��������������Ɍ������铹�W�ɂȂ邱�Ƃł��傤�B�{ HOWTO �̖�
�I�́A�w�i���ƁA�X�ɐi�����ւ̃����N�ƎQ�l��������邱�Ƃ�
���B
2.2. Beowulf ���ĉ��H
Famed was this Beowulf: far flew the boast of him, son of Scyld, in
the Scandian lands. So becomes it a youth to quit him well with his
father's friends, by fee and gift, that to aid him, aged, in after
days, come warriors willing, should war draw nigh, liegemen loyal: by
lauded deeds shall appearl have honor in every clan.
�i�F���̉C���̘a��͈ȉ��̂Ƃ���ł��B����́A�u�����C�M���X�p�Y��
���� �x�[�I�E���t�v�E���ӎl�Y���g���ɂ���̔����ł����A�ꕔ�����͈�
�p�̓s���ň��Ă��܂��܂����B�j
�V�F���h�̌�q�x�[�I�E���t�́A���]���܂˂��L�܂�A�V�F�f�����h�ɂĂ���
���͉B��Ȃ���̂ł������B���q����ҁA�����̂��Ƃ��A���N�̔�̉��ɂ�
�鎞���A���ׂ��炭����{���A�ɂ��݂Ȃ�����킩���^����ׂ��ł���B
������A�₪�ĔN�V�������A��������̎��������A���`�Ȃ�Y�}�́A��
������܂�ł��낤�B�����Ȃ閯�ɂ����Ă�A�l�͖��_����s�����
�ĉh�����̂ł���B
�i�F���̎��́A�Ñ�p�� �x�I�E���t�� 17 �s�ڂ��� 25 �s�ڂ܂ł̌���
�p���ł��낤�Ǝv��܂����A�u�Ñ�p�� �x�I�E���t�v��؏d�ЕҌ����Њ�
�� p68 �ɂ��A���̕����� Beowulf �͎��̎�l���� Beowulf �Ɠ����̕�
�̉����A�Ƃ��Ă��܂��B�������A���ɖ{�����̃e�[�}�ɊW�͂��܂���B�j
Beowulf �͉p��ŏ����ꂽ�ŌÂ̏������ł��B���̘b�́A Grendal �ƌĂ�
��������|�����A�̑�ȋ����ƗE�C������p�Y�̕���ł��B���̉p�Y
Beowulf ��X�ɒm�肽����� ``History'' ��Q�Ƃ̂��ƁB
�����A Beowulf �̒�`�̐��́A Beowulf �X�[�p�[�R���s���[�^�ݔ���\�z��
����g�����l�̐���������܂��B NASA �̌��c�̃}�V���Ɠ������@�ō\�z����
����̂����� Beowulf �ƌĂׂ�A�Ǝ咣����l���܂��B���̑��ɂ�A��
���̋ɒ[�ɑ����āA���[�N�X�e�[�V�����̃V�X�e���ŕ���R�[�h�𑖂点��
�����̑S�Ă� Beowulf �ƌĂԐl���܂��B���� Beowulf �̒�`�͂��̓��
�̒��Ԃ̂ǂ����ɂ���܂��āA Beowulf ���[�����O���X�g�ւ̑����̓��e��
��Â���̂ł��B
Beowulf �͕���v�Z�Ɏg���镡���R���s���[�^�̃A�[�L�e�N�`���ł��B
Beowulf �͕��ʁA��ȏ�̃N���C�A���g�m�[�h�ƁA��̃T�[�o�m�[�h����
��A������C�[�T�l�b�g�Ȃǂ̃l�b�g���[�N�ňꏏ�ɐڑ����č\�������V�X
�e���ł��B Beowulf ��\�z����̂Ɏg�����i�́A Linux ������C�ӂ� PC ��
���A�W���C�[�T�l�b�g�A�_�v�^�ƃX�C�b�`�Ȃǂ́A����ӂꂽ�n�[�h�E�F�A��
�i�ł��B Beowulf �́A�����n�[�h�E�F�A��S���g��Ȃ��ŊȒP�ɍČ��ł���
���B�܂��ABeowulf �Ŏg���\�t�g�E�F�A�́A Linux �I�y���[�e�B���O�V�X�e
���� PVM(Parallel Virtual Machine) �A MPI(Message Passing Interface)
�Ȃǂ́A����ӂꂽ�\�t�g�E�F�A�ł��B���̃T�[�o�m�[�h�́A�N���X�^�S�̂�
����ƃN���C�A���g�ւ̃t�@�C����s���܂��i�F�N���X�^�Ƃ́u�Ђ�
�����܂�v�ɂ�����́A�Ƃ����Ӗ��j�B�܂��A�T�[�o�m�[�h�́A���̃N���X�^
�̃R���\�[���ł���A�O�����E�ւ̃Q�[�g�E�F�C�ł���܂��B�傫��
Beowulf �}�V���͈�ȏ�̃T�[�o�m�[�h�������܂��A�R���\�[
���Ƃ��A�e�X�e�[�V�����̃��j�^���́A����Ɩ���p�̃m�[�h���邩����
�܂���B�w�ǂ̏ꍇ�A Beowulf �V�X�e�����̃N���C�A���g�m�[�h�͉���ł�
�܂���A�ł��Ȃ���ł��Ȃ����ǂ��̂ł��B�N���C�A���g�m�[�h�̓T�[�o�m
�[�h�ɂ��Đݒ肳�ꐧ�䂳��A����悤�Ɍ���ꂽ���Ƃ�����s���܂��B
�f�B�X�N���X�N���C�A���g�̐ݒ�ł́A�N���C�A���g�͎����� IP �A�h���X��
�����O�����A�T�[�o�[��������܂ł͒m��܂���B Beowulf �� COW �i���[�N
�X�e�[�V�����̃N���X�^ Cluster of Workstations �j�Ƃ̎�ȈႢ�̈��
�́A�����̃��[�N�X�e�[�V�����Ƃ��Ă���A�P��̃}�V���̂悤�ɐU�镑��
���� Beowulf �͋߂��A�Ƃ��������ł��B�w�ǂ̏ꍇ�ɁA�N���C�A���g�m�[�h
�̓L�[�{�[�h�Ƃ����j�^������A�����[�g���O�C���i�V���A���[��������
�܂��j���Ă����A�N�Z�X����܂��B Beowulf �̃m�[�h�́A���傤��
�}�U�[�{�[�h�̒��ɍ������߂� CPU �Ƃ����������W���[���̂悤�ɁA���̃N
���X�^�ɍ������߂� CPU �{ �������̃p�b�P�[�W�ƍl�����܂��B
Beowulf �́A���ʂȃ\�t�g�E�F�A�p�b�P�[�W�ł�A�V�K�l�b�g���[�N�g�|���W
�ł�A�ŐV�̃J�[�l���n�b�N�ł���܂���B Beowulf �́A������ Linux �R
���s���[�^��N���X�^�����āA���z�X�[�p�[�R���s���[�^��`������Z�p
�ł��B Beowulf �A�[�L�e�N�`������ƍ����ɁA�ݒ����ƊȒP�ɁA��
�Ǝg���Ղ�����A�J�[�l���C���Ƃ��APVM �� MPI ���C�u�����A�ݒ�c�[����
�̃\�t�g�E�F�A�p�b�P�[�W�͑�������܂��B�������A�W���I�� Linux�f�B�X�g
���r���[�V������g���āA���̃\�t�g�E�F�A��lj����Ȃ��� Beowulf �N���X
�̃}�V����\�z�ł��܂��B���Ȃ����l�b�g���[�N�����ꂽ Linux �R���s���[
�^�� 2 �䎝���Ă��āA���Ȃ��Ƃ� NFS ���� /home ��L���Ă���A��
�݂��M�p�ł��ă����[�g�V�F�� (rsh) ��s����̂Ȃ�A���Ȃ��͒P���� 2
�m�[�h�� Beowulf �}�V������Ă���A�Ƙ_������ł��傤�B
2.3. ����
Beowulf �V�X�e���͑��l�ȕ��i�ō\�z����Ă��܂����B���\�̂��߂ɁA���肫
����łȂ����i�i�܂�A�P��̐����Ǝ҂̐��i�j��������̗p����Ă���
�����B�V�X�e���̃^�C�v�����ʂ肩�𐔂��グ�邽�߂ƁA�}�V���̋c�_���
�͊ȒP�ɂ��邽�߂ɁA�������͎��̒P���ȃN���X�����̘g�g�݂��Ă��܂��B
CLASS I BEOWULF
���̃N���X�̃}�V���́A���S�ɂ��肫����́u�ȒP�ɓ���ł���v�p�[�c��
�g���đS�����\�z����܂��B���肫����́u�ȒP�ɓ���ł���v�p�[�c���`
����̂ɁA�u Computer Shopper �v���e�X�g��g�����Ƃɂ��܂��傤�i
Computer Shopper �� PC �V�X�e���Ƃ����i�́A 1 �C���`���̌����G��/�J�^
���O�ł��j�B���̃e�X�g�͎��̂悤�Ȃ�̂ł��B
CLASS I Beowulf �Ƃ́A���Ȃ��Ƃ� 3 �̍��œ���ł��邩�A���E�I�ɓ���
�ł���A�Ƃ����̂Ɋۂ��t����ꂽ�L���J�^���O�Ō��t����p�[�c�őg�ݗ���
����}�V���ł���B
CLASS I �V�X�e���̗��_��
o �n�[�h�E�F�A�������̒�������\�i�ቿ�i�A�e�Ղȕێ�j
o �P��̃n�[�h�E�F�A�x���_�ւ̈ˑ��Ȃ�
o Linux �R�~���j�e�B����̃h���C�o�T�|�[�g
o ���ʂ͕W�������i SCSI�A�C�[�T�l�b�g ���X�j
CLASS I �V�X�e���̌��_��
o �ō����\�ɂ� CLASS II �̃n�[�h�E�F�A���K�v������Ȃ�
CLASS II BEOWULF
CLASS II Beowulf �͒P���ɁA Computer Shopper ���e�X�g��p�X���Ȃ��}
�V���S�Ăł��B����͈������Ƃł͂���܂���B�S������̓}�V���̕��ނɂ�
���܂���B
CLASS II �V�X�e���̗��_��
o ���\�����\�ǍD�ɂȂ��I
CLASS II �V�X�e���̌��_��
o �h���C�o�T�|�[�g���ς�邩����Ȃ�
o �P��̃n�[�h�E�F�A�x���_�ւ̈ˑ�
o CLASS I �V�X�e���������ɂȂ邩����Ȃ�
��̃N���X�������̃N���X���ǍD���Ƃ͌���܂���B�S�Ă͂��Ȃ��̃j�[
�Y�Ɨ\�Z�Ɉˑ����邱�Ƃł��B�V�X�e��������ނ���̂́A Beowulf �V�X
�e���ɂ��Ă̋c�_�����肠���̂ɂ����邽�߂ɂ����܂���B�u�V�X�e
���v�v�̐߂́A�ǂ̎�ނ̃V�X�e�������Ȃ��̃j�[�Y�Ɉ�ԍ������f��
��̂ɖ𗧂ł��傤�B
3. �A�[�L�e�N�`���T�v
3.1. ����́A�ǂ�ȕ��Ɍ����܂����H
Beowulf �X�[�p�[�R���s���[�^�A�[�L�e�N�`�������Ă�炤�ɂ́A���ۂ�
Beowulf �Ɣ��Ɏ��Ă��āA�w�ǂ̃V�X�e���Ǘ��҂ɐg�߂ȁA�Ꭶ��g���̂�
��Ԃ��Ǝ��͎v���܂��B Beowulf �}�V���Ɉ�ԋ߂���́A��̃T�[�o�Ƒ�
���̃N���C�A���g������ Unix �R���s���[�^�������ł��B���Ƌ�̓I�ɂ́A
���� DEC Alpha undergraduate computer laboratory at the Faculty of
Sciences, USQ ���Ɏ��܂��傤�B���̃T�[�o�R���s���[�^�� beldin �ƌ�
��A�N���C�A���g�}�V���́A scilab01�A scilab02�A scilab03��
��Ascilab20 �܂łƌĂ�܂��B�S�ẴN���C�A���g�� Digital Unix 4.0
�I�y���[�e�B���O�V�X�e���̃��[�J���R�s�[����A�C���X�g�[������Ă���
�����A���[�U�̃t�@�C����� (/home) �� /usr/local �̓T�[�o���� NFS
(Network File System) �Ŏ����Ă��Ă��܂��B�e�N���C�A���g�̓T�[�o�ɃG��
�g������A���ꂼ��� /etc/hosts.equiv �t�@�C���̒��ɂ͂��̑��S�ẴN
���C�A���g�������Ă��܂��B�ł�����A�S�ẴN���C�A���g�͂��̑��S�Ăɑ�
���ă����[�g�V�F�� (rsh) ��s�ł��܂��B���̃T�[�o�}�V���͎������S��
�� NIS �T�[�o�ł�����A�S�Ẵ}�V���ɂ킽��A�J�E���g���͓����ł��B
�N���� scilab02 �̃R���\�[���ɍ��胍�O�I������A�ނ��T�[�o�Ƃ�
scilab15 �Ƀ��O�C�������̂Ɠ���������܂��B�S�ẴN���C�A���g����
���g�������̂́A���̃I�y���[�e�B���O�V�X�e�����C���X�g�[�������
�S�}�V���œ���̕��@�Őݒ肳��Ă���A���[�U�� /home �� /usr/local ��
�悪�����I�ɃT�[�o��ɂ��� NFS ���ăA�N�Z�X����邩��ł��B NIS ��
NFS ��X�ɒm�肽���Ȃ� NIS �� NFS �� HOWTO ��ǂ�ʼn������B
3.2. ���̑��̃m�[�h��g����悤�ɂ����@�́H
�����܂łŁA���̃V�X�e���̃A�[�L�e�N�`���ɂ��ď���������܂����B����
�R���s���[�^��������̃}�V���̗��p�\�� CPU �T�C�N����A�ǂ����Ďg
����悤�ɂ��邩��Ă݂܂��傤�B�N�ł�C�ӂ̃}�V���Ƀ��O�C���ł��A��
���̃z�[���f�B���N�g�����̃v���O�����𑖂点���܂����A�P�Ȃ郊���[�g
�V�F���̎��s�ɂ��ĕʂ̃}�V����œ���̃W���u�� spawn ��ł��܂��B��
���A 1 ���� 10 �܂ł̑S�Ă̐����̕������̍��v��v�Z�������Ƃ��܂���
���B�������͂���������s�� sigmasqrt �i ``source code'' ��Q�Ƃ���
�������j�ƌĂ��ȒP�ȃv���O��������܂��B 1 ���� 10 �܂ł̐��̕�
�����̍��v��v�Z����ɂ́A�������͎���s���܂��B
[jacek@beldin sigmasqrt]$ time ./sigmasqrt 1 10
22.468278
real 0m0.029s
user 0m0.001s
sys 0m0.024s
���� time �R�}���h�ŁA���̃W���u�����鎞�Ԃ𒌎��v�i�o�ߎ��ԁj�Ń`�F�b
�N�ł��܂��B���Ă̒ʂ�A���̗�͎��s����̂ɉ��\���� 1 �b�i 0.029 �b�j
����������܂��A������ 1 ���� 10 ���܂ł̐����̕�������Z����
���Ƃ���ǂ��ł��傤���H�������Ă݂܂��傤�A�����čĂђ����v�̎�
�Ԃ�v�Z���܂��傤�B
[jacek@beldin sigmasqrt]$ time ./sigmasqrt 1 1000000000
21081851083600.559000
real 16m45.937s
user 16m43.527s
sys 0m0.108s
���x�́A���̃v���O�����̎��s���Ԃ͑��������ł��B�N�ł��������Ȃ�^��
�́A���̃W���u�̎��s���Ԃ�������邽�߂ɉ����ł��邩�A�ł��B���̃W��
�u�������@��ǂ��ύX����A���̃W���u�����钌���v�̎��Ԃ�ŏ��ɂł�
��ł��傤���H�N�ł�����́A���̃W���u�𑽐��̃T�u�W���u�ɕ�����
�āA�S�ẴR���s���[�^��ŕ���ɂ����̃T�u�W���u�𑖂点�邱�Ƃł��B
�������͈�̑傫�ȉ��Z�^�X�N�� 20 �̕����ɕ������āA�e�m�[�h�̏�ň�
�͈̔͂̕�������v�Z���č��v�ł���ł��傤�B�S�Ẵm�[�h���v�Z��I��
���Č��ʂ�Ԃ������ɁA���� 20 �̐��l�͍��v����čŏI��܂��B����
�W���u�𑖂点��O�ɁA�S�Ẵv���Z�X�������̌��ʂ�����ނ̂Ɏg����
���ƂɂȂ閼�O�t���p�C�v��쐬���܂��傤�B
[jacek@beldin sigmasqrt]$ mkfifo output
[jacek@beldin sigmasqrt]$ ./prun.sh & time cat output | ./sum
[1] 5085
21081851083600.941000
[1]+ Done ./prun.sh
real 0m58.539s
user 0m0.061s
sys 0m0.206s
���x�͖� 58.5 �b�ł����B����̓W���u���X�^�[�g���Ă���A�S�Ẵm�[�h��
�e���̌v�Z���I���A�p�C�v���ʂ�����ݏI���܂ł̎��Ԃł��B���̎�
�Ԃɂ� 20 �̐�����Ō�ɉ��Z����̂͊܂݂܂��A���̎��Ԃ͔��ɋ�
���Ȃ̂Ŗ����ł��܂��B���̃W���u���ɑ��点�đ����̉��P��邱�Ƃ�
�ł��܂��B���ۂɁA����W���u�͖� 17 �{�����ɑ���܂����A����� CPU ��
���ɂ��đS���� 20 �{���₵���ꍇ�Ƃ��ẮA�ƂĂ����I�ł��B���̗�̖�
�I�́A���s�R�[�h������ԒP���ȕ��@��`�ʂ��邱�Ƃł��B���ۂɂ�
����ȒP���ȗ�͂܂�ŁA�ʂ̋Z�p�i PVM �� PMI �� API �j������B��
����̂Ɏg���܂��B�i�F���s concurrent �ƕ��� parallel �͍�������
���ł��B���s�̓X���b�h�̂悤�Ƀ\�t�g�E�F�A�I�ɓ��삪���s�����̂ŁA��
��� SMP �̂悤�Ƀn�[�h�E�F�A�I�ɕ��Ă����̂̂悤�ł��B����ɂ�
���Ă�``�K����''�̐߂�Q�Ƃ��ĉ������B�j
3.3. Beowulf �� COW �i���[�N�X�e�[�V�����̃N���X�^�j�͂ǂ��Ⴄ�́H
��L�̃R���s���[�^�������͊��S�Ƀ��[�N�X�e�[�V�����̃N���X�^ (Cluster
of Workstations (COW)) �̗�ł��B����ł́A Beowulf �̉������ʂŁA�ǂ�
�Ȃӂ��� COW �ƈႤ�̂ł��傤���H �^���͂����ł��A���قǂ̈Ⴂ�͂���
�܂���A������ Beowulf �ɂ́A�����Ȃ��ł����Ǝ��̐��i���ԈႢ�Ȃ�����
�܂��B�܂��n�߂ɁA Beowulf �N���X�^�̃N���C�A���g�m�[�h�́A�L�[�{�[�h
��A�}�E�X�A�r�f�I�J�[�h�A���j�^�[�����Ȃ��̂��w�ǂł��B���̃N���C�A
���g�m�[�h�ւ̃A�N�Z�X�ɂ̓����[�g�ڑ����āA�T�[�o�m�[�h����A����
���́A��p�R���\�[���m�[�h�A�V���A���R���\�[������s���܂��B�N���C�A
���g�m�[�h����N���X�^�O���̃}�V���ɃA�N�Z�X����K�v�͂���܂��A�N
���X�^�O���̃}�V������N���C�A���g�֒��ڃA�N�Z�X����K�v����܂���
��A 10.0.0.0/8 �Ƃ� 192.168.0.0/16 �̃A�h���X�͈́i RFC 1918
http://www.alternic.net/rfcs/1900/rfc1918.txt.html �F�����̃A�h��
�X�͖�҂̓A�N�Z�X�ł����A�����̕��̓A�N�Z�X�ł��܂����j���̃v���C�x�[
�g�A�h���X��N���C�A���g�m�[�h�Ɏg�p����̂��悭����K���ł��B�ڂ�
�l�b�g���[�N�J�[�h��g���ĊO�����E�ɂ�ڑ�����}�V���̓T�[�o�m�[�h��
���A�Ƃ����̂͂悭����܂��B���̃V�X�e���̎g�����ň�Ԃ悭����̂́A��
�̃T�[�o�̃R���\�[���ɒ��ڃA�N�Z�X���邩�A�l�̃��[�N�X�e�[�V��������
�T�[�o�m�[�h�� telnet �������[�g���O�C�������̂ł��B��U�T�[�o�m�[�h
��ɓ���A���[�U�͎����̃R�[�h��ҏW���ăR���p�C���ł��A�N���X�^����
�S�m�[�h��ł̃W���u�� spawn ��ł��܂��B�w�ǂ̏ꍇ�ɁACOW �ł́A�l�X
�����ۂɂ͓���Ɩ��Ɏg���Ă��Ȃ��̂ŃA�C�h���� CPU �T�C�N����p�ł�
��A��ԂƂ��T���ɁA����v�Z�p�ɗ��p����܂��B����ɑ��� Beowulf ��
���ʂ͕���v�Z��p�̃}�V���ŁA���̖ړI�ɍœK������Ă��܂��B�܂�
Beowulf �͂����ɓ���ł��镔�i�ō\�z����Ă���A��Ƀt���[�̃\�t�g�E�F
�A�𑖂点�܂��̂ŁA��荂�����i���\����܂��B�܂��A Beowulf �N
���X�^���P��̌v�Z���[�N�X�e�[�V�������A�ƃ��[�U���猩����̂ɖ𗧂A
�P��V�X�e���C���[�W�̋@�\�� Beowulf �͂�葽�������܂��B
4. �V�X�e���v
�n�[�h�E�F�A��w������O�ɁA���Ȃ��̃V�X�e���v��l�@���Ă��������ǂ�
�ł��傤�B Beowulf �V�X�e���̐v�Ŋ�{�I�ȃn�[�h�E�F�A������ 2 ����
�܂� - ���Ȃ����g�����Ƃ���m�[�h�Ƃ��R���s���[�^�̃^�C�v�A�R���s���[
�^�m�[�h�ɐڑ������@�ł��B�n�[�h�E�F�A�I��ɉe�����邩����Ȃ��\�t
�g�E�F�A�����������܂� - �ʐM���C�u�����Ƃ� API �ł��B�n�[�h�E�F�A
�ƒʐM�\�t�g�E�F�A�ɂ��ẮA�����Əڍׂɋc�_���܂��B
�I��͑�������܂��A Beowulf �V�X�e����\�z�����ő厖�Ȑv��
�̌��肪�������܂��B�u����v�Z�v�̉Ȋw�i�܂��͋Z�@�j�ɂ͂��������
�Ⴄ��߂�����܂��̂ŁA�ȉ��ɏЉ�܂��B���w�i������ǂނ̂����D��
�łȂ��Ȃ�A�{�߂͔���܂����A���Ȃ����ŏI�I�ȃn�[�h�E�F�A��肷��
�O�� ``�K����''�̐߂�ǂނ悤�A�A�h�o�C�X���Ă����܂��B
4.1. ����v�Z�̔w�i�T�v
�{�߂͕���v�Z�Ƃ����T�O�̔w�i����܂��B����͌����āA����v�Z�̉Ȋw
�Ƃ��Z�p�̖ԗ��I�Ŋ��S�Ȑ��ł͂���܂���B����� Beowulf �̐v�҂�
���[�U�ɂ͑�Ǝv���鎖���̊T�v���������̂ł��B
���Ȃ��� Beowulf �̐v�ƍ\�z�̍ۂɁA�ȉ��Ő����鎖���̑����͂��Ȃ�
�̌���v���Z�X�ŏd�v�ɂȂ邱�Ƃł��傤�B Beowulf �͖{���I�Ɏ��������I
��ō\�������̂ł�����A Beowulf �X�[�p�[�R���s���[�^�̑����̗v�f��
�����������Ӑ[���l������K�v������܂��B��ʓI�ɁA����v�Z�Ɋ܂܂�鎖
���𗝉��̂͌����ē���͂���܂���B�{���ɁA��U�����̎�������
����A���Ȃ��̗\�z�͂���Ɍ����I�ɂȂ�A�����͂���Ɋm���ɂȂ��
���B�v���Z�b�T�̑��x���B��ōŏd�v�̗v�f�ƍl������u�����I���E�i
sequential world �j�v�Ƃ͈��āA�u����̐��E�i parallel world �j�v��
������v���Z�b�T�̑��x�́A�V�X�e���S�̂̐��\�ƌ�����肷�����̗v
�f�̒��̈�ɂ����܂���B
4.2. ����v�Z�̕���
����v�Z�͑����̌`�Ԃ�Ƃ�܂��B���[�U�̎��_����A�e�����̗��_�ƌ��_��
�l�@����̂��d�v�ł��B�ȉ��̐߂ł́A����v�Z�̕�����ǂ����邩����
�����A Beowulf �}�V���������̒��łǂ�ɓ�����̂�������ł��B
4.2.1. �Ȃ���ȏ�� CPU ���H
���̎���ւ̉͏d�v�ł��B���Ȃ��̃��[�h�v���Z�b�T�� 8 CPU �𑖂点
��̂͂����Ɓu��肷���v�̂悤�ɕ�������ł��傤���A���̒ʂ�ł��B��
�̓E�F�u�T�[�o�Ƃ��A�f�[�^�x�[�X�A�����_�����O�v���O�����A�v���W�F�N�g
�X�P�W���[���Ȃ�ǂ��ł��傤���H �����lj��� CPU ���𗧂��܂��B���G�ȃV
�~�����[�V�����Ƃ��A���̗͊w�̃R�[�h�A�f�[�^�}�C�j���O�A�v���P�[�V����
�Ȃ�ǂ��ł��傤�H���̂悤�ȏł͒lj��� CPU ���ԈႢ�Ȃ��𗧂���
���B�{���ɁA�܂��܂������̖���ɕ����� CPU ���g����悤�ɂȂ���
���܂��B
���̎��̎���͑��������ł��傤�A�u�Ȃ� 2 �Ƃ� 4 �� CPU �����ɕK�v
�Ȃ̂ł����H���� 986 �^�[�{�n�C�p�[�`�b�v���o�Ă���̂�҂����ɂ���
���ȁv�B����ɂ͊���̗��R������܂��B
1. �}���`�^�X�N�̃I�y���[�e�B���O�V�X�e���̗��p�ŁA�����Ɋ����s
�ł��܂��B����́A��ȏ�̈����� CPU �ɂ��ĊȒP�ɂł���悤�ɂ�
�鎩�R�ȁu���v�ł��B
2. �v���Z�b�T���x�� 18 �������ɔ{�����Ă��Ă��܂����A RAM ���x�Ƃ��n�[
�h�f�B�X�N���x�͂ǂ��ł��傤���H�c�O�Ȃ���A�����̑��x�� CPU ���x
�������͑������Ă��܂���B�w�ǂ̃A�v���P�[�V�����́u�L���b�V���ȊO
�̃������A�N�Z�X�v�ƃn�[�h�f�B�X�N�A�N�Z�X���K�v���Ƃ������Ƃ�O��
�ɒu���܂��傤�B����ɕ�����s���̂́A���̂悤�Ȑ���̊������
�z�����̕��@�ł��B
3. �\�z�ɂ��A 2005 �N�ȍ~�� 18 �������̃v���Z�b�T���x�{���͑�����
���ł��傤�B���̑����X����ێ����邽�߂ɏ��z���Ȃ���Ȃ�Ȃ���
�Q�ɂ́A���ɐ[���Ȃ�̂��������̂ł��B
4. �A�v���P�[�V�����ɂ��܂����A����v�Z�ō������ł���x�����́A 2 �{
���� 500 �{�̊Ԃ̂ǂ����i����̏ꍇ�ɂ͍X�ɍ����Ɂj�ł��B���ꂾ��
�̐��\�͒P��̃v���Z�b�T��g���̂ł͓����܂���B�X�[�p�R���s���[
�^�ł����A�ꎞ�͋ɂ߂č����̓����v���Z�b�T��g���Ă����̂��A���ł�
�����́u����ӂꂽ�����ɓ���ł���v CPU �ō\�z����Ă��܂��B
���Ȃ����A�v�Z���E��� ����� / �܂��� ���o�͌��E���̂��߂ɁA���x��
�K�v���Ƃ�����A���������ɒl���܂��B����v�Z�͑��l�ȕ��@�Ŏ�������
�܂��̂ŁA���Ȃ��̖���ʼn����ɂ͊�����ɑ厖�Ȍ��肪�K
�v�ɂȂ�܂��B�����̌���́A���Ȃ��̃A�v���P�[�V�����̉����Ɛ��\��
��p�ɁA���I�ɉe�����邩����܂���B
�Z�p�I�ɂȂ�O�ɁA�X�Œ�����ɕ���ő҂Ƃ����A�������ɐg�߂Ȗ����
�ɂƂ��āA���ۂ́u����v�Z���v�߂Ă݂܂��傤�B
4.2.2. ����v�Z�̂��X
�X�̐��ʂ� 8 �̃L���b�V�����W�X�^��ꏏ�ɒu���Ă���傫�ȓX��l����
���傤�B�L���b�V�����W�X�^�����ꂼ���� CPU �ŁA���q�����ꂼ��
��̃R���s���[�^�v���O�������Ƒz�肵�܂��B���̃R���s���[�^�v���O����
�̃T�C�Y�i�Ɩ��̗ʁj�́A���q���ꂼ��̒����̃T�C�Y�ł��B�ȉ��̔�g
�́A����v�Z�̊T�O��`�ʂ���̂Ɏg���܂��B
4.2.2.1. �V���O���^�X�N�̃I�y���[�e�B���O�V�X�e��
��̃L���b�V�����W�X�^���I�[�v���i�g�p�\��ԁj�ŁA���ꂼ��̂��q��
���ꎞ�Ɉ�l���������Ȃ���Ȃ�Ȃ��B
�R���s���[�^�̗� - MS DOS
4.2.2.2. �}���`�^�X�N�̃I�y���[�e�B���O�V�X�e��
��̃L���b�V�����W�X�^���I�[�v���ł��A�������A�����ł͂��ꂼ��̒���
�̈ꕔ��������ꎞ�ɏ������A���̂��q����Ɉڂ��Ă�����̒����̊�炩��
�������܂��B���q�͊F���̍s��ňꏏ�ɓ����Ă���Ɓu�����v�܂����A���̍s
��ɑ��ɒN���Ȃ�����̍s�����Ƒ����ʉ߂���ł��傤�B
�R���s���[�^�̗� - �P��� CPU ��g�� UNIX �A NT
4.2.2.3. ������ CPU ��g�����}���`�^�X�N�̃I�y���[�e�B���O�V�X�e��
���x�́A�X�Ɋ���̃L���b�V�����W�X�^���I�[�v�����Ă��܂��B���ꂼ���
�����͕ʁX�̃L���b�V�����W�X�^�ŏ����ł��āA�s��͂��Ȃ葁���ʉ߂ł���
���B����� SMP - Symmetric Multi-processing �ƌĂ�܂��B�lj��̃L���b
�V�����W�X�^���I�[�v�����Ă��Ă�A�L���b�V�����W�X�^����ł��q������
����l�����̎��������s��ʉ߂́A�����Ăł��܂���B
�R���s���[�^�̗� - ���� CPU �� UNIX �� NT
4.2.2.4. ������ CPU �̃}���`�^�X�N�̃I�y���[�e�B���O�V�X�e����ł̃X
���b�h
���Ȃ��̒����̕i�ڂ�Ȃ����u�ו����v����A�ꎞ�Ɋ���̃L���b�V��
���W�X�^��g�����ƂŁA�s�����Ƒ����ʂ蔲������ł��傤�B�ŏ��ɂ�
�Ȃ��̕i���̕��ʂ���ʂ��Ƒz�肵�Ȃ���Ȃ�܂���A�Ȃ��Ȃ�A�u���Ȃ�
�̒����̍ו����v�ł̓����������̃L���b�V�����W�X�^���p�Ŏ��߂��˂�
��Ȃ�����ł��B���_�I�ɂ́A���Ȃ��͈ȑO����u n �v�{�����s���ʉ�
�ł���͂��ł��A���́u n �v�̓L���b�V�����W�X�^�̐��ł��B�L���b�V����
�W�X�^�����v��Ƃ�K�v�����鎞�ɂ́A�L���b�V�����W�X�^�����͕ʂ́u���[
�J���v�L���b�V�����W�X�^�S�Ă����b�����肵�đ����ɏ���ł���
���B�L���b�V�����W�X�^�����͕ʂ̃L���b�V�����W�X�^��`���܂��āA����
�����Ƒ����d������̂ɕK�v�ȏ�������肳���ł��܂��B�������A��
��������܂��A���̓X�̂ǂ�������ŃL���b�V�����W�X�^����I�ɐݒu��
���鐔�ɂ́A���肪����܂��B
�܂��A Amdals �̖@���ɂ��āA���̃A�v���P�[�V�����̍������́A���̃v��
�O�����̍Œᑬ�̒����I�����ɐ�������܂��B
�R���s���[�^�̗� - �}���`�X���b�h�����ꂽ�v���O�����𑖂点�Ă���A��
��̃}�U�[�{�[�h��ɕ��� CPU ������� UNIX �� NT
4.2.2.5. ������ CPU ��}���`�^�X�N�̃I�y���[�e�B���O�V�X�e�����
���b�Z�[�W�� �M
���\����̂��߂ɁA���̓X�ł͓X�̌��� 8 �̃L���b�V�����W�X�^��lj�
���܂����B���̐V�����L���b�V�����W�X�^�́A�����̏��v��X�̐��ʂ̃L���b
�V�����W�X�^�ɑ��M����̂ɁA�d�b��|���˂Ȃ�܂���B���̋����̓L���b
�V�����W�X�^���m�̒ʐM�ɗ]���̃I�[�o�[�w�b�h�i���ԁj����܂����A��
�ʐM���ŏ����ɂ��ꂽ�Ȃ�A����͖��ɂ͂Ȃ�܂���B�����Ȃ����A�S��
�̃L���b�V�����W�X�^��K�v�Ƃ���悤�ȁA�{���ɑ傫�Ȓ�������Ȃ�A��
�L�Ɠ��l�ɓ����ɑS�ẴL���b�V�����W�X�^��g�����ƂŁA���x��P�ł���
���A�]���̃I�[�o�[�w�b�h��l���ɓ���Ȃ���Ȃ�܂���B����ꍇ�ɂ́A
���̓X�͒P��̃L���b�V�����W�X�^�i�܂��̓L���b�V�����W�X�^�̓��j���X��
���S�̂ɎU����Ă��邩���ꂸ�A���ꂼ��̃L���b�V�����W�X�^�i�����j
���m���A�d�b�ŒʐM���Ȃ���Ȃ�Ȃ�������܂���A�S�ẴL���b�V����
�W�X�^�����݂��ɓd�b�Řb�������܂�����A���̏ꏊ�̐������͖��ɂȂ��
����B
�R���s���[�^�̗� - ���� CPU ��܂��͕����̃}�U�[�{�[�h��Ɏ����A
���b�Z�[�W���ĒʐM���� UNIX �� NT �i���̃R�s�[�j
�����܂ł̃V�i���I�́A���m�ł͂Ȃ��Ƃ�A����V�X�e���ŋN���鐧����
���\�����Ă��܂��B�P��� CPU �i�܂�L���b�V�����W�X�^���j�����Ƃ�
���āA�ʐM���ۑ�ł��B
4.3. ����v�Z�̃A�[�L�e�N�`��
����v�Z�ł悭�����@�ƃA�[�L�e�N�`����ȉ��ɐ����܂��B�����Ėԗ��I
�Ȑ��ɂ͂Ȃ�܂��A Beowulf �v�ɕK�v�Ȋ�{�I�����𗝉��ɂ�
�\���ł��B
4.3.1. �n�[�h�E�F�A�A�[�L�e�N�`��
����R���s���[�^�̃n�[�h�E�F�A���ɂ܂Ƃ߂�ɂ́A��{�I�ɓ���@��
����܂��B
1. ���[�J���������}�V���Ń��b�Z�[�W�ŒʐM��s����́i Beowulf �N���X
�^�j
2. ���L�������}�V���Ń��������ĒʐM��s����́i SMP �}�V���j
�T�^�I�� Beowulf �́A�����ȃC�[�T�l�b�g��g���Đڑ����ꂽ�P�� CPU �}�V
���̏W���ł�����A���[�J���������}�V���ł��B 4 CPU �� SMP �{�b�N�X�͋�
�L�������}�V���ŁA����v�Z�Ɏg���܂� - ����A�v���P�|�V�����͋��L����
����g���ĒʐM���܂��B���傤�ǁA�R���s���|�^�̓X�̔�g�ŁA���|�J������
���}�V���i�X�̃L���b�V�����W�X�^�j�͑����� CPU �ɂ܂ŋK�͊g�傪�\
�Ȉ��ł́A��������荇���̂��߂ɋ��L�������}�V���� CPU ���i�����
�ݒu�ł���L���b�V�����W�X�^�̐��j�ɐ������邩����Ȃ��A�Ƃ�����
�Ɠ����ł��B
�������A�����̋��L�������}�V����ڑ����āu�n�C�u���b�h�v���L�������}�V
����쐬�ł��܂��B���̂悤�ȃn�C�u���b�h�}�V���́A���[�U�ɂƂ��Ă͒P��
�̑傫�� SMP �}�V���̂悤�Ɂu�����v�A�v���O���}���猩���đS�Ă� CPU ��
���L����O���[�o���������͈قȂ郌�[�e���V������邱�Ƃ���A
NUMA�i��l�ł͂Ȃ��������A�N�Z�X non uniform memory access �j�Ƃ���
�ΌĂ�܂��B�������A����̃��x���ł́A NUMA �}�V���̓��[�J�����L��
�����̃v�[���̑��݊ԂŁu���b�Z�[�W�̃p�X�v��Ȃ���Ȃ�܂���B
���[�J���������v�Z�m�[�h�Ƃ��� SMP �}�V����ڑ�����̂�\�ł��B�T�^
�I�ȃN���X I �}�U�[�{�[�h�� 2 �� 4 �� CPU ����A�����V�X�e��
�R�X�g�S�̂�����@�Ƃ��Ďg���܂��B Linux ���̃X�P�W���[���͂�
���� CPU ��L�������@�f���܂��B���[�U�͓���� SMP �v���Z�b�T
�Ɂi���̓_�ł́j����̃^�X�N��蓖�Ă邱�Ƃ͂ł��܂���B�������A���[
�U�͓�̓Ɨ������v���Z�X�Ƃ��X���b�h�����ꂽ�v���Z�X��X�^�[�g����
�āA�P�� CPU �}�V�������\������悤�Ɋ��҂ł��܂��B
4.3.2. �\�t�g�E�F�A API �A�[�L�e�N�`��
��{�I�ɁA��̃v���O�������ł̕��s����u�\������v�̂ɓ�̕��@����
��܂��B
1. �v���Z�b�T�Ԃő��M����郁�b�Z�[�W�̎g�p
2. �I�y���[�e�B���O�V�X�e���̃X���b�h�̎g�p
���̑��̕��@��ԈႢ�Ȃ����݂��܂����A�����͍ł�L���g�����̕�
�@�ł��B���s���̕\���́A�z�肷��n�[�h�E�F�A�ɕK�������E����܂���A
���̂��Ƃ�Y��Ȃ��悤�ɂ���̂��厖�ł��B���b�Z�[�W��X���b�h��Ƃ�
�ɁA SMP �ł�A NUMA-SMP �ł�N���X�^�ł����ł��܂��A�������A�ȉ���
������悤�ɁA�������Ɖ������厖�Ȏ����ł��B
4.3.2.1. ���b�Z�[�W
��j�I�ɁA���b�Z�[�W�p�b�V���O�Z�p�́A�����̃��[�J������������R���s��
�[�^�̐v�f���܂����B���b�Z�[�W�̓f�[�^��R�s�[����K�v������܂�
���A�X���b�h�̓f�[�^��K�X�g���܂��B�R�s�[�\�ȃ��b�Z�[�W�ł̃��[�e��
�V�Ƒ��x�́A���b�Z�[�W�p�b�V���O���f���ł̐���v�f�ł��B���b�Z�[�W�͏\
���P���ł� - �����̃f�[�^�Ƒ����̃v���Z�b�T�ł��B���ʂ̃��b�Z�[�W
�p�b�V���O API ��PVM �� MPI �ɂ���܂��B���b�Z�[�W�p�b�V���O�̓X���b�h
��p���Č����I�Ɏ����\�ŁA SMP �}�V����ł�N���X�^�̃}�V���Ԃł�
�܂������܂��B�X���b�h�Ɣ�ׂāA SMP �}�V����Ń��b�Z�[�W��g�����_
�́A���Ȃ��������N���X�^��g�����S����Ƃ��Ă�A�}�V���̒lj��Ƃ�����
���̃A�v���P�[�V�����̋K�͊g�傪�e�Ղ��Ƃ������Ƃł��B
4.3.2.2. �X���b�h
���L������ SMP �i�Ώ̃}���`�v���Z�b�V���O�j���v���ꂽ�̂ŁA��̃v
���O�������ł̕��s�����̑��݂ŁA���ɍ����̋��L�������ʐM�Ɠ������\
�ƂȂ�܂����A���̂��߂ɁA�I�y���[�e�B���O�V�X�e���̃X���b�h�͊J������
�܂����B�ʐM�͋��L����������̂ŁA SMP �V�X�e����̃X���b�h�͂���
�������܂��B���̗��R�ɂ��A���[�U�̓��[�J���f�[�^��O���[�o���f�[�^��
��u�����Ȃ���Ȃ�܂���A����Ȃ���A�v���O�����͓K���ɓ����Ȃ���
���傤�B���b�Z�[�W�ƑΔ䂵�āA�X���b�h�ł͑�ʂ̃R�s�[���ȗ��ł��܂��A
���̃f�[�^�̓v���Z�X�i�X���b�h�j�Ԃŋ��L����邩��ł��B Linux ��
POSIX �X���b�h��T�|�[�g���܂��B�X���b�h�ł̖��́A��� SMP �}�V��
���ẴX���b�h�̊g����������Ƃł��A�܂��A�f�[�^�� CPU �̊Ԃŋ�
�L����܂�����A�L���b�V���̎��ѐ��̖�肪�I�[�o�w�b�h�ɂȂ邩��
��܂���B SMP �̋��E���ẴX���b�h�̊g������I�ɍs���ɂ́A
Linux �Ńl�C�e�B�u�ɃT�|�[�g����Ă��Ȃ������� NUMA �Z�p��K�v�Ƃ���
���B���b�Z�[�W�̏�ւ̃X���b�h�����͊��ɍs���Ă��܂����i
(
http://syntron.com/ptools/ptools_pg.htm) �F��҂͂����̓A�N�Z�X��
���܂���ł����j�A���b�Z�[�W��g���ẴX���b�h�̎����͔���I�Ȃ��Ƃ�
�����ł��B
���\�ɂ��āA�ȉ��̂��Ƃ������܂��B
SMP �}�V�� �}�V���̃N���X�^ �g���\��
���\ ���\ �i scalability �j
----------- ------------------- -----------
���b�Z�[�W �ǍD �ō� �ō�
�X���b�h �ō� �n�� �� �n�� ��
�� ������ NUMA �Z�p���K�v
4.3.3. �A�v���P�[�V�����̃A�[�L�e�N�`��
���� CPU ��ŕ���ɃA�v���P�[�V�����𑖂点�邽�߂ɂ́A�A�v���P�[�V��
����s�����ɖ��m�ɕ������Ȃ���Ȃ�܂���B�W���I�ȒP�� CPU �A�v��
�P�[�V�����́A�����v���Z�b�T��ŒP�� CPU �A�v���P�[�V������������
�邱�Ƃ͂���܂���B�v���O�������ł���c�[���ƃR���p�C���͊����
��܂����A�R�[�h�����̂́u�v���O�A���h�v���C�v����ł͂���܂�
��B���̃A�v���P�[�V�����Ɉˑ����āA�R�[�h�̕��͊ȒP�ɂ�Ȃ�A��
�[�ɓ����Ȃ�A�A���S���Y���̈ˑ����̂��߂ɕs�\�ɂȂ�ꍇ���邩
����܂���B
�\�t�g�E�F�A�̎�����q�ׂ�O�ɁA�K���� (Suitability) �̍l��������
��K�v������܂��B
4.4. �K���� (Suitability)
����v�Z�ɂ��Ă̖w�ǂ̋^��͓��������ɂȂ�܂��B
�u����̓A�v���P�[�V�����ɑS�Ĉˑ����܂��B�v
���̎����ɔ�э��ޑO�ɁA��ƂĂ�厖�ȋ�ʂ�Ă����K�v������܂� -
���s (CONCURRENT) �� ���� (PARALLELL) �̈Ⴂ�ł��B�c�_��i�߂邽�߂ɁA
���̓�̊T�O��̂悤�ɒ�`���܂��傤�B
���s (CONCURRENT) ��̃v���O�����ŁA�Ɨ����Čv�Z�\�ȕ���
���� (PARALLELL) ��̃v���O�����ŁA�����ɕʌ̏����v�f��Ŏ��s��
����s����
���̋�ʂ͔��ɏd�v�ł��A�Ȃ��Ȃ�A���s���͂��̃v���O�����̑����ł�
��A�����I�ȕ��͂��̃}�V���̑���������ł��B���z�I�ɂ́A����s��
��荂���̐��\�ނ͂��ł��B���\�𐧖�v�f�͌v�Z�m�[�h�Ԃ̒�
�M���x�ƃ��[�e���V�ł��B�i���[�e���V�́A�X���b�h�����ꂽ SMP �A�v���P
�[�V�����ɂ�A�L���b�V���̈�ѐ��̂��߂ɑ��݂��܂��B�j�悭������x��
�`�}�[�N�̑����́A���x�ɕ���ŁA�ʐM�ƃ��[�e���V�̓{�g���l�b�N�ł͂���
�܂���B���̃^�C�v�̖��́u���炩�ɕ���v�ƌĂԂ��Ƃ��ł��܂��B�����
�O�̃A�v���P�[�V�����͂����P���ł͂Ȃ��A���̃v���O�����̕��s������
��Ɏ��s����ƁA���ۂɂ͒ᑬ�ɑ��点�邱�ƂɂȂ��Ă��܂��A���̂��߂Ƀv
���O�������̑��̕��s�����ł̐��\����E���Ă��܂�������܂���B��
�P�Ɍ����ƁA�v�Z���Ԑߖ�̂��߂ɒʐM���Ԃ̔�p��x����˂Ȃ�܂���A
����Ȃ���Ε��s�����̕���s�͔���I�ɂȂ�܂��B
�v���O���}�̎d���́A���̃v���O�����̂ǂ̕��s����������Ɏ��s�����ׂ�
�ŁA�ǂ̕��������s�����ׂ��łȂ����f���邱�Ƃł��B����̉̓A
�v���P�[�V�����̌��������t����ł��傤�B�ȉ��̃O���t�͂��̃v���O��
�}�̗����܂Ƃ߂Ă��܂��B
�A�v���P | *
�[�V���� | *
�́� | *
| *
| *
| *
| *
| *
| *
| *
| *
| ****
| ****
| ********************
+-----------------------------------
�ʐM���� / ��������
���S�ȕ���R���s���[�^�ł́A�ʐM/�����̔䗦�͓������Ȃ�ł��傤���A��
�s�����͑S�ĕ���Ŏ����ł���ł��傤�B�c�O�Ȃ���A���L�������}�V�����
�ތ����̕���R���s���[�^�́A���̃O���t�ŕ`���ꂽ�e����܂��B
Beowulf ��v���鎞�ɂ́A���[�U�����̃O���t��S�����Ă����悤�ɂ���
���傤�A���̂Ȃ�A����̌����͓���̕���R���s���[�^�̒ʐM���ԂƏ�����
�Ԃ̔䗦�Ɉˑ����邩��ł��B�A�v���P�[�V�����͕���R���s���[�^�̑��݂�
��������܂��A�قȂ�v���b�g�t�H�[���̏�Ō����I�ł���ۏ͂�
��܂���B
��ʓI�ɁA���ł������I�ȕ���v���O�����͑��݂��܂���
����̌��_����L�̃O���t����o�ė��܂��B�����͒ʐM/������Ɉˑ���
�܂�����A���̔䗦�̈�������ς��Ă�A�K��������̃A�v���P�[�V����
���������Ƃ͌���Ȃ����Ƃł��B�ʐM���x��ς��Ȃ��ł����ăv���Z�b�T
���x��ς���ƁA���Ȃ��̃v���O�����Œ����I�ɂ͕�����Ȃ��e����y�ڂ���
����܂���B�Ⴆ�A CPU ���x�� 2 �A 3 �{�ɂ��āA�ʐM���x���ɂ�
�܂��傤�B���x�́A�ȑO�ɂ��Ȃ��̃v���O�������Ō����I������ ����I����
���A�����I�Ɏ��s�������������I�ɂȂ邩����܂���B����́A�ȑO�͕���
�I������������A���x�́A�����I�ɑ��点�������A���ƍ����ɂȂ邩����
�Ȃ��Ƃ������Ƃł��B�X�ɁA����ɑ��点��Δ���I�ȕ������A���̃A�v��
�P�[�V�����̍ő呬�x�̒B����ۂɂ͎ז����Ă��܂��ł��傤�B�]���āA��
�荂���̃v���Z�b�T�̒lj��ɂ��āA���ۂɂ͂��Ȃ��̃A�v���P�[�V�������
���������Ă��܂�������Ȃ��̂ł��i���Ȃ��͂��̃A�v���P�[�V�����ŐV
CPU ���ő呬�x�ő���̂�ז�����̂ł��j�B
��荂���� CPU �ւ̃A�b�v�O���[�h�����ۂɂ͂��Ȃ��̃A�v���P�[�V������
�ᑬ�������邩����Ȃ��B
����ŁA���_�Ƃ��āA���Ȃ�������n�[�h�E�F�A����g���邩�ۂ���m���
�́A���Ȃ��̃A�v���P�[�V����������̃}�V���ɓK�����邩�ǂ�����A������
�K�v������܂��B���Ȃ��́A CPU ���x�Ƃ��A�R���p�C���A���b�Z�[�W�p�b�V
���O API �A�l�b�g���[�N�Ȃǂ�܂ޑ����̎����ׂ�K�v������܂��B�C
��t���邱�Ƃ́A����A�v���P�[�V�����̃v���t�@�C����쐬���邾���ł́A
�S�͕̂�����Ȃ����Ƃł��B���Ȃ��͂��Ȃ��̃v���O�����̌v�Z�ʓI�ɏd����
�������ł���ł��傤���A���̕����̒ʐM�R�X�g�͕�����܂���B����^
����ꂽ�V�X�e���ɂ����ẮA�ʐM�R�X�g�̂������ŁA���̃R�[�h���I��
���Ȃ����������I�ɂȂ�A�Ƃ������Ƃ��L�蓾�܂��B
�悭������ɂ��Ă̍Ō�̒��ӂł��B�u����v���O�����������ꂽ�v
�ƌ�����̂��A���ۂɂ́A���̃v���O�����̕��s�����̏ꏊ�����������ɉ�
���Ȃ����Ƃ������̂ł��B���܂łɏq�ׂ��S�Ă̗��R�̂����ŁA���̃v���O��
���͕����ꂽ�̂ł͂���܂���B�����I�ȕ��͂��̃}�V���̑����Ȃ�
�ł��B
4.5. ����\�t�g�E�F�A������ƂƈڐA���邱��
��U�A���Ȃ�������v�Z���K�v���ƌ��S���A Beowulf ��v���č\�z���悤
�Ƃ���Ȃ�A�����܂ł̋c�_�ɏƂ炵�āA���Ȃ��̃A�v���P�[�V�������
�Ƃ������Ԃ���Č�������̂͗ǂ��l���ł��B
��ʓI�ɂ��Ȃ����ł��邱�Ƃ͓����܂��B
1. �O�ɐi�݁ACLASS I �� Beowulf ��\�z���Ă���A���Ȃ��̃A�v���P�[�V��
�����Ɂu�K���v�����܂��B���邢�́A���Ȃ��� Beowulf ��œ�������
���������Ă������̕���A�v���P�[�V�����𑖂点�܂��i�������A����
�ŏq�ׂĂ����ڐA���ƌ������̎����ɋC��t����悤�Ɂj�B
2. ���Ȃ��� Beowulf ��ő��点��K�v������A�v���P�[�V�����ׂāA��
�Ȃ����K�v�ȃn�[�h�E�F�A�ƃ\�t�g�E�F�A�̃^�C�v�ɂ��ẮA���炩��
�z���s�����ƁB
������̏ꍇ�ł�A���Ȃ��͌������̎����ɂ��āA�������ׂ�K�v��
����ł��傤�B��ʓI�ɂ́A���Ȃ��� 3 �s���K�v������܂��B
1. ���Ȃ��̃v���O�����ł̕��s�����f����
2. ����̌�������ς��
3. ���Ȃ��̃v���O�����̂��̕��s������L�q����
���̂R����ƒ��ׂĂ݂܂��傤�B
4.5.1. ���Ȃ��̃v���O�����ł̕��s�����f����
���̃X�e�b�v�͂����u���Ȃ��̃v���O��������邱�Ɓv�A�ƍl����
��Ă��܂��B���̌���͑��X�e�b�v�ōs���܂��B�{�X�e�b�v�ł̓f�[
�^�ˑ����f����K�v������܂��B
���p�I���n����A�A�v���P�[�V�����͓�̃^�C�v�̕��s������ł��傤 -
�v�Z�i��ʃf�[�^���� number crunching �j�Ɠ��o�́i�f�[�^�x�[�X�j�ł��B
�������A�����̏ꍇ�A�v�Z�Ɠ��o�͂̓�̕��s���͒���܂��A�������K�v
�ȃA�v���P�[�V���������݂��܂��B�����̃A�v���P�[�V�����̕��s�����͂�s
����c�[��������ł��܂��B�����̃c�[���̖w�ǂ� FORTRAN �p�ɐv����
�Ă��܂��B FORTRAN ���g���闝�R�͓����܂� - ��j�I�ɖw�ǂ̑�ʃf
�[�^�����i�i���o�[�N�����`�j�̃A�v���P�[�V������ FORTRAN �ŏ�����Ă�
�邱�ƁA�����āA���͂����e�ՂȂ��Ƃł��B�ǂ̃c�[������ł��Ȃ���
�A�����̃A�v���P�[�V�����ɑ��邱�̃X�e�b�v�́A��⍢��ɂȂ邩��
��܂���B
4.5.2. ����̌�������ς��
�c�[���̏������Ȃ���A�{�X�e�b�v�ɂ́A���s����Ƃ��A�L�x�Ȍo�����犄
��o�����������K�v������܂���B���Ȃ�������̃A�v���P�[�V������O��
�ɒu���Ă���̂Ȃ�A CPU �����ł��i�v�Z���E�j�Ȃ̂��A�n�[�h�f�B�X�N��
���ł��i���o�͌��E�j�Ȃ̂��f���Ă݂܂��傤�B���Ȃ��� Beowulf �̏�
�v��́A���Ȃ��̕K�v���ɉ����đ������Ă��邩����܂���B�Ⴆ�A
�v�Z���E���ɂ͏����̋ɂ߂č����� CPU �ƒ�[�e���V�l�b�g���[�N���K
�v������܂��A���o�͌��E�̖��ɂ͂��ƒᑬ�� CPU �ƍ����ȃC�[
�T�l�b�g�����Ɨǂ��@�\���邩����܂���B
�����ł��E�߂��Ă��邱�Ƃ͖w�ǂ̐l�X���T�������܂��A�Ȃ��Ȃ�A�v��
�Z�b�T�͑�����Α�������ɗǂ��Ƃ����̂��W���I�\�z������ł��B���Ȃ���
�����̗\�Z����Ă�����̗\�z�͐^�Ȃ̂ł����A�R�X�g�̐���̌��ōō�
���\��ڎw���̂������̃V�X�e���ł��傤�B���o�͖��ɂ��ẮA���\��
���܂������܂�m���Ă��Ȃ��@���i Eadline-Dedkov �̖@���ƌĂ�܂��j
������܂��B
��̕���R���s���[�^�ŗݐϓI CPU ���\�w�W������̂�̂��^����ꂽ��
���āA���ᑬ�̃v���Z�b�T����i�����đ����A�������ɁA���ᑬ�̃v
���Z�b�T���݂̒ʐM�l�b�g���[�N����j���A���o�͂��x�z�I�ȃA�v���P�[
�V�����ɂ͂��ǂ����\����ƂɂȂ�B�i�F�����̍��� CPU ��g��
������R���s���[�^�ƁA�����̒ᑬ CPU ��g��������R���s���[�^�Ƃ̓��
���������Ƃ��āA���v�ł͓��� CPU ���\�������Ƃ���A���o�͂Ŏ��Ԃ���
����A�v���P�[�V�����ł͑����̒ᑬ CPU ��g�������������A�Ƃ�����|��
�悤�ł��B�j
���̖@���̏ؖ��͖{�����͈̔͂��܂����A���Ȃ���Performance
Considerations for I/O-Dominant Applications on Parallel Computers
(Postscript format 109K ) (
ftp://www.plogic.com/pub/papers/exs-
pap6.ps) �_����_�E�����[�h��������[���ł��傤�B�i�F�����̏�L
�A�h���X��(
ftp://www.plogic.com/plogic/papers/exs-pap6.ps) �ɕς���
����悤�ł��B�j
���Ȃ��̃A�v���P�[�V�������̕��s���̃^�C�v���U���f������A����ɂ���
�ǂ������I�ɂȂ邩��ς��K�v������ł��傤�B�\�t�g�E�F�A�c�[����
���� ``Software'' �̐߂�Ă��������B
�c�[�����Ȃ��Ă�A�����ɂ��Ė{�X�e�b�v��ǂ�̂͂ł��܂��B���A�v
�Z���E�̃��[�v�������P�ʂő��肳��āA�f�[�^���b�P�ʂœ]���ł���̂�
��A���̗ǂ����ɂȂ邩����܂���B�������A�Y��Ȃ��ł����̂́A
16 ���Ԃ����郋�[�v�� 32 �̕����ɕ������āA���Ȃ��̃f�[�^�]�����e����
���Ƃɐ��b�K�v���Ƃ���A���肬��ɂȂ肩���Ă���A�Ƃ������Ƃł��B��
�Ȃ��͎��n����������|�C���g�ɒB����ł��傤�B
4.5.3. ���Ȃ��̃v���O�����̂��̕��s������L�q����
���Ȃ��̃v���O�����̕��s������L�q�����@�͊������܂��B
1. �����I����s
2. �ÖٓI����s
���̓�̎�ȈႢ�́A�����I���̓��[�U�����f���A�ÖٓI����s�̓R
���p�C�������f���邱�Ƃł��B
4.5.3.1. �����I���@
�����I���@�ł͊�{�I�ɁA���[�U���\�[�X�R�[�h��A����R���s���[�^��p��
�C�����Ȃ���Ȃ�܂���B���[�U�� PVM �� MPI ��p���ă��b�Z�[�W��lj�
���邩�A���邢�́A POSIX �X���b�h��p���ăX���b�h��lj����邩���Ȃ���
�Ȃ�܂���i�������A���ӂ��邱�Ƃ́A�X���b�h�� SMP �}�U�[�{�[�h�Ԃ�
�ړ��ł��Ȃ����Ƃł��j�B
�����I���@�͎����ƃf�o�b�O���ł���ɂȂ肪���ł��B���[�U�͓T�^�I��
�́A�W�� FORTRAN 77 �Ƃ� C/C++ �\�[�X�R�[�h���ɖ����I���Ăяo����
�ߍ��݂܂��B���� MPI ���C�u�����ɂ́A����̕W���I�����@�������
��������������lj����Ă��܂��i�Ⴆ�Ascatter/gather ���j�B��
��ɉ����āA����R���s���[�^�p�ɏ�����Ă����W�����C�u������g���܂��B
�i�������A���ӂ���̂́A���� vs. ������ �̃g���[�h�I�t�ł��B�j
��j�I���R����A�w�ǂ̑�ʃf�[�^�����i�i���o�[�N�����`�j�̃R�[�h�́A
FORTRAN �ŏ�����Ă��܂��B���̂��߁A����v�Z�ł́A FORTRAN �ɂ̓T�|�[
�g�i�c�[���A���C�u�����A���̑��j����ԑ�������܂��B���ł́A�b�ł͂�
�ƍ������s�ł���ƍl���āA�����̃v���O���}���b��g������A������
FORTRAN �̃A�v���P�[�V������b�ɏ����������肵�܂��B�b�͔ėp�}�V���R�[
�h�ɍł�߂���̂ł�����A����͐^������܂��A����傫�Ȍ��_��
����܂��B�b�ł̃|�C���^�g�p�̓f�[�^�ˑ����̔����ɒ[�ɓ�����܂��B
�|�C���^�̎������͂͋ɒ[�ɍ���ł��B���Ȃ��������� FORTRAN �v���O����
����Ă��āA�����I�ɂ������������Ȃ邩����Ȃ��ƍl���Ă���
�Ȃ� - �����b�ɕϊ����Ă͂����܂���B
4.5.3.2. �ÖٓI���@
�ÖٓI���@�́A���̌���̊���i�܂��͑S�āj��R���p�C���ɂ܂�����
�悤�Ȃ�̂ł��B��́A FORTRAN 90 �ƁA High Performance FORTRAN (HPF)
�A Bulk Synchronous Parallel (BSP) �A�����āA�J�����̂��̑��̕��@�A�S
�ó��B
�ÖٓI���@�́A���[�U�̃A�v���P�[�V�����̕��s�I�����ɂ��ĉ��炩�̏��
��[�U���^����K�v������܂����A��������A���̕��s�I�������Ɏ�
�s�����@�ɂ��āA�R���p�C���������̌����s���܂��B�����̕��@�͂�
�郌�x���̉����ƌ���������炵�܂����A����ł���R���s���[�^�̂�
�߂ɕ��s����L�q����u�őP�̕��@�v�͑��݂��܂���B
5. Beowulf �̏��
5.1. �o���_
o Beowulf ���[�����O���X�g�B�Q������ɂ� beowulf-
[email protected] ���āAsubscribe ��b�Z�[�W�{���ɂ���
���[���𑗂�܂��B
o Beowulf �z�[���y�[�W
http://www.beowulf.org
o Extreme Linux
http://www.extremelinux.org
o Red Hat ����� Extreme Linux �\�t�g�E�F�A
http://www.redhat.com/extreme
5.2. ����
o Beowulf HOWTO �̍ŐV��
http://www.sci.usq.edu.au/staff/jacek/beowulf
o Beowulf �V�X�e���̍\�z
http://www.cacr.caltech.edu/beowulf/tutorial/building.html
o Jacek's Beowulf Links
http://www.sci.usq.edu.au/staff/jacek/beowulf.
o Beowulf Installation and Administration HOWTO (DRAFT)
http://www.sci.usq.edu.au/staff/jacek/beowulf.
o Linux Parallel Processing HOWTO
http://yara.ecn.purdue.edu/~pplinux/PPHOWTO/pphowto.html
5.3. �_��
o Chance Reschke, Thomas Sterling, Daniel Ridge, Daniel Savarese,
Donald Becker, and Phillip Merkey A Design Study of Alternative
Network Topologies for the Beowulf Parallel Workstation.
Proceedings Fifth IEEE International Symposium on High Performance
Distributed Computing, 1996.
http://www.beowulf.org/papers/HPDC96/hpdc96.html
o Daniel Ridge, Donald Becker, Phillip Merkey, Thomas Sterling
Becker, and Phillip Merkey. Harnessing the Power of Parallelism in
a Pile-of-PCs. Proceedings, IEEE Aerospace, 1997.
http://www.beowulf.org/papers/AA97/aa97.ps
o Thomas Sterling, Donald J. Becker, Daniel Savarese, Michael R.
Berry, and Chance Res. Achieving a Balanced Low-Cost Architecture
for Mass Storage Management through Multiple Fast Ethernet Channels
on the Beowulf Parallel Workstation. Proceedings, International
Parallel Processing Symposium, 1996.
http://www.beowulf.org/papers/IPPS96/ipps96.html
o Donald J. Becker, Thomas Sterling, Daniel Savarese, Bruce Fryxell,
Kevin Olson. Communication Overhead for Space Science Applications
on the Beowulf Parallel Workstation. Proceedings,High Performance
and Distributed Computing, 1995.
http://www.beowulf.org/papers/HPDC95/hpdc95.html
o Donald J. Becker, Thomas Sterling, Daniel Savarese, John E.
Dorband, Udaya A. Ranawak, Charles V. Packer. BEOWULF: A PARALLEL
WORKSTATION FOR SCIENTIFIC COMPUTATION. Proceedings, International
Conference on Parallel Processing, 95.
http://www.beowulf.org/papers/ICPP95/icpp95.html
o Beowulf �T�C�g�̘_��
http://www.beowulf.org/papers/papers.html
5.4. �\�t�g�E�F�A
o PVM - Parallel Virtual Machine
http://www.epm.ornl.gov/pvm/pvm_home.html
o LAM/MPI (Local Area Multicomputer / Message Passing Interface
http://www.mpi.nd.edu/lam
o BERT77 - FORTRAN conversion tool
http://www.plogic.com/bert.html
o Beowulf �v���W�F�N�g�̃y�[�W����� Beowulf �\�t�g�E�F�A
http://beowulf.gsfc.nasa.gov/software/software.html
o Jacek's Beowulf-utils
ftp://ftp.sci.usq.edu.au/pub/jacek/beowulf-
utils
o bWatch - cluster monitoring tool
http://www.sci.usq.edu.au/staff/jacek/bWatch
5.5. Beowulf �}�V������
o Avalon �� 140 �� Alpha �v���Z�b�T�A 36 GB �� RAM �ō\������A������
���� Beowulf �}�V���ŁA 47.7 Gflops �ŏ��q���A Top 500 ���X�g�� 114
�Ԗڂł��B
http://swift.lanl.gov/avalon/ �i�F��L�A�h���X
��
http://cnls.lanl.gov/avalon/ �ɂȂ��Ă���悤�ł��B top 500 list
�ɂ��A 160 �ʂł����B�Ȃ��A 129 �ʂɂ� CPlant Cluster ��������
���܂��B�j
o Megalon-A Massively PArallel CompuTer Resource (MPACTR) �� 4 CPU
Pentium Pro 200 �̃m�[�h�� 14 �� 14 GB �� RAM �ō\������Ă���
���B
http://megalon.ca.sandia.gov/description.html �i�F��҂̓A
�N�Z�X�ł��܂���ł����B�j
o theHIVE - Highly-parallel Integrated Virtual Environment �͂����
�̍��� Beowulf �X�[�p�[�R���s���[�^�ł��B theHIVE �� 64 �m�[�h��
128 CPU �}�V���őS���� 4 GB RAM ����܂��B
http://newton.gsfc.nasa.gov/thehive/
o Topcat �͂��Ə����ȃ}�V���ŁA 16 CPU �� 1.2 GB RAM �ō\�������
���B
http://www.sci.usq.edu.au/staff/jacek/topcat
o MAGI cluster - ����͔��ɖʔ����T�C�g�ŗǂ������N�����������
���B
http://noel.feld.cvut.cz/magi/
5.6. ���̑��̖ʔ����T�C�g
o SMP Linux
http://www.linux.org.uk/SMP/title.html
o Paralogic - Beowulf ����
http://www.plogic.com
5.7. ��j
o ��Y - Beowulf
http://legends.dm.net/beowulf/index.html
o Beowulf �̖`��
http://www.lnstar.com/literature/beowulf/beowulf.html
6. �\�[�X�R�[�h
6.1. sum.c
/* Jacek Radajewski
[email protected] */
/* 21/08/1998 */
#include <stdio.h>
#include <math.h>
int main (void) {
double result = 0.0;
double number = 0.0;
char string[80];
while (scanf("%s", string) != EOF) {
number = atof(string);
result = result + number;
}
printf("%lf\n", result);
return 0;
}
6.2. sigmasqrt.c
/* Jacek Radajewski
[email protected] */
/* 21/08/1998 */
#include <stdio.h>
#include <math.h>
int main (int argc, char** argv) {
long number1, number2, counter;
double result;
if (argc < 3) {
printf ("usage : %s number1 number2\n",argv[0]);
exit(1);
} else {
number1 = atol (argv[1]);
number2 = atol (argv[2]);
result = 0.0;
}
for (counter = number1; counter <= number2; counter++) {
result = result + sqrt((double)counter);
}
printf("%lf\n", result);
return 0;
}
6.3. prun.sh
#!/bin/bash
# Jacek Radajewski
[email protected]
# 21/08/1998
export SIGMASQRT=/home/staff/jacek/beowulf/HOWTO/example1/sigmasqrt
# $OUTPUT must be a named pipe
# mkfifo output
export OUTPUT=/home/staff/jacek/beowulf/HOWTO/example1/output
rsh scilab01 $SIGMASQRT 1 50000000 > $OUTPUT < /dev/null&
rsh scilab02 $SIGMASQRT 50000001 100000000 > $OUTPUT < /dev/null&
rsh scilab03 $SIGMASQRT 100000001 150000000 > $OUTPUT < /dev/null&
rsh scilab04 $SIGMASQRT 150000001 200000000 > $OUTPUT < /dev/null&
rsh scilab05 $SIGMASQRT 200000001 250000000 > $OUTPUT < /dev/null&
rsh scilab06 $SIGMASQRT 250000001 300000000 > $OUTPUT < /dev/null&
rsh scilab07 $SIGMASQRT 300000001 350000000 > $OUTPUT < /dev/null&
rsh scilab08 $SIGMASQRT 350000001 400000000 > $OUTPUT < /dev/null&
rsh scilab09 $SIGMASQRT 400000001 450000000 > $OUTPUT < /dev/null&
rsh scilab10 $SIGMASQRT 450000001 500000000 > $OUTPUT < /dev/null&
rsh scilab11 $SIGMASQRT 500000001 550000000 > $OUTPUT < /dev/null&
rsh scilab12 $SIGMASQRT 550000001 600000000 > $OUTPUT < /dev/null&
rsh scilab13 $SIGMASQRT 600000001 650000000 > $OUTPUT < /dev/null&
rsh scilab14 $SIGMASQRT 650000001 700000000 > $OUTPUT < /dev/null&
rsh scilab15 $SIGMASQRT 700000001 750000000 > $OUTPUT < /dev/null&
rsh scilab16 $SIGMASQRT 750000001 800000000 > $OUTPUT < /dev/null&
rsh scilab17 $SIGMASQRT 800000001 850000000 > $OUTPUT < /dev/null&
rsh scilab18 $SIGMASQRT 850000001 900000000 > $OUTPUT < /dev/null&
rsh scilab19 $SIGMASQRT 900000001 950000000 > $OUTPUT < /dev/null&
rsh scilab20 $SIGMASQRT 950000001 1000000000 > $OUTPUT < /dev/null&