Rocks Command 중 특이한 명령이 있어 올려봅니다.
이미 있었는데,, 제가 좀 늦게 눈치챈 것도 있고, Rocks 5.4에서 추가된 것도 있습니다.

rocks add host bonded compute-0-0 channel=bond0 interface=eth0,eth1 ip=10.1.255.254 network=private
http://www.rocksclusters.org/roll-documentation/base/5.4/x1640.html#ROCKS-ADD-HOST-BONDED

rocks create mirror http://mirrors.kernel.org/contos/4.5/updates/i386/RPMS rollname=updates version=4.5
http://www.rocksclusters.org/roll-documentation/base/5.4/x3097.html#ROCKS-CREATE-MIRROR

rocks iterate host compute commnad="scp file %:/tmp/"
http://www.rocksclusters.org/roll-documentation/base/5.4/x3755.html

rocks open host console {host} [key=string] [vncflags=string]
http://www.rocksclusters.org/roll-documentation/base/5.4/x4603.html#ROCKS-OPEN-HOST-CONSOLE

rocks set host interface channel compute-0-0 iface=eth1 channel="bond0"
http://www.rocksclusters.org/roll-documentation/base/5.4/x6200.html#ROCKS-SET-HOST-INTERFACE-CHANNEL

rocks set host power action=on/off/install
http://www.rocksclusters.org/roll-documentation/base/5.4/x6200.html#ROCKS-SET-HOST-POWER

rocks swap host interface {host} [ifaces=string] [sync-config=boolean]
http://www.rocksclusters.org/roll-documentation/base/5.4/x7772.html

rocks update
http://www.rocksclusters.org/roll-documentation/base/5.4/x7861.html

'Rocks' 카테고리의 다른 글

Installing pdsh on HPC cluster  (0) 2010.12.15
Adding a Login Appliance to Your Cluster  (0) 2010.12.09
Channel Bonding Interfaces  (0) 2010.12.09
Add roll on an existing server  (0) 2010.11.23
What you have to do after channel bonding  (0) 2010.10.19

Rocks 5.4 에서 추가된 또 다른 기능입니다.
Login 노드를 추가할 수 있습니다.
예전에는 별도로 다운받거나 XML을 수정해서 Login 노드 타입을 설정할 수 있었지만,,
기본 기능으로 추가되었네요..

http://www.rocksclusters.org/roll-documentation/base/5.4/login-appliance.html


7.3. Adding a Login Appliance to Your Cluster

A login appliance is a host that users use to build, launch and monitor their application(s). This host is a subset of a frontend appliance (a frontend runs several other services that are used to install and maintain all the nodes in the system).

First, we need to perform the initial installation of the login appliance. On the frontend, execute:

# insert-ethers

Select "Login" as the appliance type.

Then PXE boot the host that you want to be a login appliance.

Login hosts are generally hosts that also have a public network interface so users can directly access the login host. After the login appliance installs, to configure the public network interface on the login host, see Adding a public IP address to the second ethernet adapter on a compute node.

7.3.1. Making any Host a Submission and/or Execution Host

If you've installed a batch queueing system (e.g., by using the SGE Roll or Torque Roll), you can change any host in your system to be a submission host (a host where users can submit jobs) and/or an execution host (the queueing system schedules jobs on execution hosts).

Note

By default, a login host is a submission host, but not an execution host. By default, a compute node is an execution host, but not a submission host.

To make a host a submission host (e.g., tile-0-0), on the frontend execute:

# rocks set host attr tile-0-0 submit_host true

Then reinstall tile-0-0.

To make a host an execution host (e.g., tile-0-0), on the frontend execute:

# rocks set host attr tile-0-0 exec_host true

Then reinstall tile-0-0.


'Rocks' 카테고리의 다른 글

Installing pdsh on HPC cluster  (0) 2010.12.15
Rocks Command  (0) 2010.12.09
Channel Bonding Interfaces  (0) 2010.12.09
Add roll on an existing server  (0) 2010.11.23
What you have to do after channel bonding  (0) 2010.10.19

Rocks Cluster 5.4에서 추가된 Channel Bonding 관련 내용입니다. 간단한 명령으로 채널 본딩을 구성할 수있게 되었네요..

http://www.rocksclusters.org/roll-documentation/base/5.4/bonding.html 

7.4. Channel Bonding Interfaces

Channel bonding enables two or more network interfaces to act as one. The following procedure describes how to channel bond interfaces in Rocks.

We'll use the example of channel bonding two interfaces for compute-0-1. First, let's list the current configuration of the interfaces for compute-0-1:

# rocks list host interface compute-0-1
SUBNET IFACE MAC IP NETMASK MODULE NAME VLAN OPTIONS
private eth0 00:1e:4f:b0:74:ef 10.1.255.253 255.255.0.0 tg3 compute-0-1 ---- -------
------- eth1 00:10:18:31:74:43 ------------ ----------- tg3 ----------- ---- -------

Here's what we'll do:

  • Bond eth0 and eth1.

  • Name the bonded channel "bond0".

  • Give bond0 the IP address 10.1.255.253.

  • Associate bond0 with the private network.

# rocks add host bonded compute-0-1 channel=bond0 interfaces=eth0,eth1 ip=10.1.255.253 network=private

The above command changes the interface configuraion for compute-0-1 in the following way:

# rocks list host interface compute-0-1
SUBNET IFACE MAC IP NETMASK MODULE NAME VLAN OPTIONS CHANNEL
private bond0 ----------------- 10.1.255.253 255.255.0.0 bonding compute-0-1 ---- ------- -------
------- eth0 00:1e:4f:b0:74:ef ------------ ----------- tg3 ----------- ---- ------- bond0
------- eth1 00:10:18:31:74:43 ------------ ----------- tg3 ----------- ---- ------- bond0

To apply the configuration, execute:

# rocks sync config
# rocks sync host network compute-0-1

7.4.1. Adding Parameters to the Kernel Bonding Module

There are several options that can be added to the kernel bonding module (see RedHat's documentation The Channel Bonding Module for a full description of all the options).

To set options "miimon=100" and "mode=balance-rr" for the kernel bonding module associated with bond0, execute:

# rocks set host interface options compute-0-1 bond0 options="miimon=100 mode=balance-rr"
Warning

The "options" value (e.g., "miimon=100 mode=balance-rr") must be a space-separated list.

And now we see:

SUBNET  IFACE MAC               IP           NETMASK     MODULE  NAME        VLAN OPTIONS                    CHANNEL
private bond0 ----------------- 10.1.255.253 255.255.0.0 bonding compute-0-1 ---- miimon=100 mode=balance-rr -------
------- eth0 00:1e:4f:b0:74:ef ------------ ----------- tg3 ----------- ---- -------------------------- bond0
------- eth1 00:10:18:31:74:43 ------------ ----------- tg3 ----------- ---- -------------------------- bond0

To apply the options to the bond0 interface, execute:

# rocks sync host network compute-0-1

'Rocks' 카테고리의 다른 글

Rocks Command  (0) 2010.12.09
Adding a Login Appliance to Your Cluster  (0) 2010.12.09
Add roll on an existing server  (0) 2010.11.23
What you have to do after channel bonding  (0) 2010.10.19
Dell Blade 성능이슈 및 해결 방법  (0) 2010.10.08
이번에 Dell Blade 에 Rocks+ 를 구성하면서 여러가지 많은 공부를 했습니다.
잊어먹기 전에 간단히 메모라도 해두어야죠..

  • IPMI 패스워드 설정
    • Rocks 문서에 보면, 파워 관리를 위해 IPMI를 사용하는 방법이 나와 있습니다.
    • 네트워크를 통해 관리하려면, IP를 입력하고, 네트워크 관리를 활성화 하고, 계정에 패스워드를 입력하여 활성화 시켜줘야 합니다.
    • 계정을 활성화할 경우 Dell Blade의 샤시 관리 모듈 (CMC)와 각 블레이드의 IPMI 모듈(iDRAC6)의 통신이 안된다는 군요.
    • 이 문제때문에 블레이드 서버가 관리 모듈에서 사라지는 문제를 겪었습니다.
    • 해결 방법은 패스워드를 설정하지 않는 것이죠...
    • default 계정으로 root/calvin을 사용하면 됩니다.
    • 참고 : Google 그룹스(Rocks Cluster)

  • Infiniband  연결방법
    • Blocking <-> Non-Blocking 구조가 있다고 합니다.
    • 총 16개의 블레이드가 장착되는데,, Infiniband 카드를 장착할 때 8대는 B위치에 나머지 8대는 C위치에 장착해야 하고,
    • Infiniband 스위치 모듈 또한 B위치/C위치에 각각 연결해야 합니다.

  • 블레이드 서버 MAC <--> 샤시 MAC 매칭
    • 이번에 이 기능을 보고 참 좋아졌구나 생각했습니다.
    • 블레이드 서버에 문제가 생겨서 보드를 교체할 경우 Onboard NIC의 MAC주소가 바뀌게 됩니다.
    • 이런 문제를 해결하기 위해 만들어진 것인지는 모르겠지만, Onboard NIC의 MAC주소를 샤시의 MAC 주소로 1:1 매핑시켜주는 기능이 있습니다.
    • 이 기능은 샤시 관리 모듈(CMC)의 Add-on 기능이며, 메모리를 꽂아서 활성화 시켜주어야 합니다.
    • 이 메모리는 샤시의 Service Tag를 기억하고 있으며, Service Tag가 다를 경우 동작하지 않습니다.

  • ifcfg-eth0 의 MAC 주소와 성능관계??
    • 이번 프로젝트의 최대 미스테리입니다.
    • 일반적으로 RedHat 계열 리눅스에서 네트워크 설정을 하면 /etc/sysconfig/network-scripts/ifcfg-eth0 안에 HWADDR=xx:xx:xx:xx:xx:xx 형태의 MAC을 기록하게 됩니다.
    • 이 항목을 주석처리하고 리부팅했는데 성능이 향상되었다?
    • 성능과 MAC주소와 무슨 관계가 있는지.. ??? 연구가 필요한 부분이네요..

왜 설치가 안됐을까 고민고민하다가 rocks 의 graphs 에 대해서 확인하고, 그 원인을 찾았습니다.
graphs 는 rocks 패키지 설치의 지도와 같습니다.
지도에 support 가 설치되어 있어야 설치가 된다고 연결이 되어 있더군요.



당연히 안되는 걸 가지고,, 한참을 헤맸네요..
그럼 해결 방법은 ??

support-client ==> client
support-server ==> server

로 연결 고리를 바꾸면 가능하지 않을까요? ㅎㅎㅎ

[root@rocks ~]# cd /export/rocks/install/rocks-dist/x86_64/build/graphs/default/
[root@rocks default]# cp ofed.xml intel-developer.xml intel-icr.xml /export/rocks/install/site-profiles/5.3/graphs/default/
[root@rocks default]# cd /export/rocks/install/site-profiles/5.3/graphs/default/

ofed.xml
FROM
<edge from="support-server">
  <to>ofed-server</to>
  <to>ofed-base</to>
  <to>ofed-prune-packages</to>
</edge>

<edge from="support-client" cond="ofed">
  <to>ofed-client</to>
  <to>ofed-base</to>
  <to>ofed-prune-packages</to>
</edge>

TO
<edge from="server">
  <to>ofed-server</to>
  <to>ofed-base</to>
  <to>ofed-prune-packages</to>
</edge>

<edge from="client" cond="ofed">
  <to>ofed-client</to>
  <to>ofed-base</to>
  <to>ofed-prune-packages</to>
</edge>


intel-developer.xml
FROM
<edge from="support-server" to="intel-developer-server"/>
<edge from="support-client" to="intel-developer-client"/>
<edge from="support-base"   to="intel-developer-base"/>

TO
<edge from="server" to="intel-developer-server"/>
<edge from="client" to="intel-developer-client"/>
<edge from="base"   to="intel-developer-base"/>


intel-icr.xml
FROM
<edge from="support-server">
<to>intel-icr-frontend</to>
</edge>

<edge from="support-client">
<to>intel-icr-client</to>
</edge>

TO
<edge from="server">
<to>intel-icr-frontend</to>
</edge>

<edge from="client">
<to>intel-icr-client</to>
</edge>

[root@rocks default]# cd /export/rocks/install/
[root@rocks install]# rocks create distro

'Rocks' 카테고리의 다른 글

What you have to do after channel bonding  (0) 2010.10.19
Dell Blade 성능이슈 및 해결 방법  (0) 2010.10.08
Rocks+ 설치 주의사항  (0) 2010.09.18
HPC Cluster 구성 툴의 다양화  (0) 2010.07.07
Rocks 5.4 발표 일정  (5) 2010.06.25
정말 급변하는 시대이다.
잠시 한눈 팔면,, 변화에 뒤쳐지기 마련이다..
최근에 HPC Cluster 구축 요청을 받으면서,,
고객은 이미 한발 앞서가고 있는데,, 서비스를 제공한다는 사람이 관련 내용을 전혀 모르고 있다니 !!
급 실망.. ~~~~
하지만 늦었다고 생갈할 때가 가장 빠르다는 격언을 되새기며,, 최근의 Cluster 툴을 살펴보자.

1. http://www.rocksclusters.org
 - 가장 애용하는 클러스터 툴이다. 이 툴을 접해본지도 벌써 5년이 다되간다.
   무엇보다 구성하기가 쉽다. 그동안 구축한 reference 도 상당히 많다.
   앞으로도 가장 많이 사용하게될 툴....

2. http://www.clustercorp.com (Rocks+)
 - Rocks Cluster 는 OpenSource 이다. 이 패키지 안에 포함되어 있는 툴들도 모두 OpenSource 이다.
   하지만,, 클러스터를 구성하다 보면 상용툴을 설치해야 하는 경우가 종종 있다.
   예를 들면, Intel Compiler, TotalView, PBS Pro 등 상용 Scheduler 등등..
   ClusterCorp는 OpenSource Rocks 를 기반으로 하며, 상용 툴들에 대한 Roll CD를 제공해 준다.
   Roll CD를 다운로드 받으려면 반드시 등록된 ID가 있어야 하며,,
   구매 가격은 $149/node 부터 시작한다.

3. http://rocks.stanford.edu/doku.php
  - 상용 툴을 사용하기 위해 반드시 반드시 Rocks+ 를 구매해야 하는 것은 아니다.
    위 싸이트에 접속하면 Intel, PGI, openIB, MPI Library 등을 구할 수 있다.

4. http://www.redhat.com/hpc
   http://www.platform.com/cluster-computing/cluster-management
   http://www.hpccommunity.org/
  - 이 툴은 정말 최근에야 소식을 접했다
    예전에 Platform 에서는 Rocks를 기반으로 Open Cluster Stack (OCS) 을 제공했는데,
    최근에 PCM (Platform Cluster Management)  으로 그 툴이 변경되었다.
    KUSU 라는 프로젝트를 기반으로 하고 있다는데,,
    알아봐야 할 내용이 많은 부분이다.
  - RedHat HPC 를 구매하면 yum을 통해서 PCM을 구성할 수 있다고 하는데,,
    현재 Evaluation 중인데, 완전 까막눈이라 갈 길이 멀다.

5. http://www.penguincomputing.com/software/scyld_clusterware
   - Scyld ClusterWare 라는 클러스터 구축 툴이다.
     얼마전 S대에 펭귄클러스터가 납품되었는데, diskless 구성이다.
     사용해 본 분이 그 어떤 툴보다 사용이 편리하다고 하더라...
     Evaluation 을 해봤는데,, 구축하기도 쉽다.
     좀 더 테스트가 필요한 툴이다.

6. http://svn.oscar.openclustergroup.org/trac/oscar/wiki
   - OSCAR
   - 한번도 시도해 보지 않은 툴이다.
      현재도 계속 업데이트되고 있는데,, 언젠가 한번 테스트 해봐야지.

7. http://xcat.sourceforge.net/
  - xCAT Extreme Cloud Administration Toolkit
   2005년 이후에 설치해 볼 기회가 없었다.
   IBM에서 OpenSource 로 넘어오면서, 구조 자체가 바뀌었다고 하던데,,,
   언젠가는 테스트해 볼 기회가 오겠지..

신규 서버를 도입한 이후에 성능이 예전만 못하다!!
돈들여 구입했는데,, 예전만 못하다면,, 실망이 이만 저만이 아니죠..
분명히 최근에 나온 신규 서버이고,,
Intel에서 CPU의 성능이 월등히 좋아졌다고 하는데,,
2년전에 도입한 서버보다도 성능이 떨어지다니!!!

여기서 잠깐,,,
성능비교 환경을 잠깐 살펴보죠..

1. CPU
   OLD : Intel 3000-series "Conroe" 3070 (2.66GHz Dual-core, 4MB L2 Cache, 1066MHz FSB)
   NEW : Intel 5500-series "Nehalem-EP" (Gainestown) E5504 (2.0GHz Quad-core, 4MB L3 Cache)

2. Application
   User Developed MPI Program. USE 4 cores

아~~~ 눈물이 앞을 가립니다.
Dual-core <--> Quad-core
"Conroe" <--> "Nehalem-EP"
어느것 하나 떨어지는 것이 없는데,, 왜 성능이 떨어지는 것입니까????

이것이 바로 성능 비교의 오류입니다.
사용하는 application은 MPI 프로그램으로 CPU를 많이 사용합니다.
비교에 사용된 core 개수는 OLD / NEW 모두 4 core를 사용했습니다.
4 core를 사용할 경우 초당 부동소수점 연산 (FLOPS)를 이론치는,,

Rpeak (OLD) = 2.66 * 4 cores * 4 = 42.56
Rpeak (NEW) = 2.0 * 4 cores * 4 = 32

같은 core를 사용할 경우 성능을 좌우하는 것은 CPU Clock 입니다.
Clock 이 낮으므로,, 신규 서버의 성능이 당연히 떨어질 수 밖에 없습니다.
당연한 것 때문에,, 고민하는 분이,,, 앞으로는 안계시길...

Performance Tuning !!!
무슨 작업을 하던 간에,, 가장 어려운 주제입니다.
얼마전에 Rocks 5.1 Cluster 를 구성했는데,
성능이 예상만큼 안나온다는 얘기를 들었습니다.
올 것이 왔구나!!!

성능을 개선하기 위해서 여러가지 접근 방법이 있겠지만,,
우선은 Compiler와 MPI Library를 변경하기로 하였습니다.
Intel Roll CD가 제공되지만,, Roll CD를 사용하지 않고,,
개별적으로 Intel Fortran Compiler + Intel MPI Libray 를 설치하는 방법을 사용했습니다.

  1. Compatibility Package 설치
    • Intel Compiler 설치를 위해서는 미리 설치되어 있어야 합니다.
    • compat-gcc-34, compat-gcc-34-g77, compat-gcc-34-c++, compat-libstdc++ 패키지 설치
    • yum -y install compat-gcc-34 compat-gcc-34-g77 compat-gcc-34-c++ compat-libstdc++
    • [compute node only] yum -y install gcc-g++
       
  2. Intel Fortran Compiler 설치
    • Intel Software download 싸이트에서 Evaluation 을 다운로드
    • 메일로 라이센스 키를 받으면 /opt/intel/licenses 디렉토리 아래에 복사
    • Evaluation 설치 파일을 받으면, /tmp로 이동 후 압축 해제
    • ./install.sh 스크립트로 설치 시작
    • 설치 과정에서 현재 OS(CentOS 5.2)가 호환되지 않는다는 메시지가 뜨지만 무시하고 넘어가면 설치를 계속할 수 있습니다.
    • 설치 완료 후 환경변수 load
      # source /opt/intel/Compiler/11.0/081/bin/ifortvars.sh intel64
       
  3. Intel MPI Library 설치
    • 설치 파일을 /tmp로 이동 후 압축 해제
    • machine.LINUX 파일을 편집해서 설치하기 위한 모든 노드 목록을 작성
      master
      slave
    • ./install.sh 스크립트로 설치 시작
    • 설치 완료 후 환경변수 load
      # source /opt/intel/impi/3.2.1/bin64/mpivars.sh
       
  4. MPI Program compile
    • 환경변수를 load 하면, ifort 명령으로 fortran compile이 가능함
    • MPI 프로그램을 compile 하기 위해서는 mpiifort 를 사용
    • mpif90 을 사용할 경우 gfortran 으로 compile됨
       
  5. SGE 와 연동해서 mpirun
    • Intel MPI Library 는 MPI-2 를 기반으로 구성되어 있음
    • mpdboot, mpdallexit 가 필요한데,, mpirun 스크립트를 사용하면 자동으로 실행해 줌
    • job submit 예제
       
      #!/bin/sh

      #
      #$ -cwd
      #$ -j y
      #$ -S /bin/bash
      #$ -pe mpich 4
      #
      echo '------------------------------------------'
      echo 'host='$HOSTNAME
      echo "Got $NSLOTS slots."
      echo '------------------------------------------'
      /opt/intel/impi/3.2.1.009/bin64/mpirun -np $NSLOTS /your/program/full/path/application

       
    • -cwd 옵션을 사용했는데도,, application full path를 적어줘야 동작함
      full path를 사용하지 않을 경우 [Errno 2] No such file or directory 발생
       

일단,, Intel Compiler 를 사용해서 성능이 개선되길 바래야죠..
성능 개선이 안될 경우 일이 더 복잡해지는데요...

'Rocks' 카테고리의 다른 글

SGE error: ending connection before all data received  (0) 2009.11.17
성능비교의 오류  (0) 2009.07.15
Rocks 설치 중 네트워크 연결 실패  (0) 2009.06.21
PXE-E32: TFTP open timeout  (0) 2009.06.21
rocks command  (0) 2009.06.21

Rocks 또는 WCCS 2003 또는 HPCS 2008 등등
클러스터를 구성하는 경우,,
대부분 PXE Network 부팅을 통해 Compute Node를 설치합니다.

Rocks 4.3을 이용해서 Compute Node를 설치하던 중,,
Frontend 노드와 연결이 되지 않아 설치 초기 과정에서 실패하는 경우가 있습니다.

실패가 나타나는 경우
- CISCO Catalyst 29xxG Switch 사용
- PXE 부팅과정에서 DHCP에서 IP를 받아오며,, 설치 초기 화면까지는 나타남
- 설치가 진행되는 듯 싶다가,, 멈춘 후 리부팅 됨

실패 원인
- 좀 특이한 경우겠지만,, CISCO Switch 의 경우 Learning Time 이란 것이 있습니다.
- 스위치에 새로운 서버를 연결했을 경우 처음에는 주황색 이었다가,,
  한참이 지난 후에야 초록색으로 바뀝니다.
- 정확하게는 Blocking, Listening, Learning, Forwarding, Disabled 상태 중 하나이지요.
- 서버를 부팅했을 경우 Forwarding 상태이기 때문에,, PXE 부팅이 진행됩니다.
- PXE 부팅과정에서 리눅스 커널이 올라옵니다.
- 리눅스 커널이 네트워크 드라이버 모듈을 다시 올리는 과정에서
  스위치와의 링크가 끊어졌다가 다시 연결됩니다.
- 다시 연결되었기 때문에,, 스위치는 Spanning-Tree 설정에 따라
  Forwarding 되기까지 시간이 걸립니다.
- 지연되는 시간 때문에,, 네트워크가 끊긴 것으로 인식하고, 설치를 종료시켜버립니다.

해결방법
- Switch의 Learning Time을 줄여줘야 합니다.
- Spanning-Tree를 사용하지 않거나,, Port Fast를 적용합니다.
- Catalyst 2960G 스위치의 매뉴얼은 아래 링크를 참조하세요.
http://www.cisco.com/en/US/docs/switches/lan/catalyst2960/software/release/12.2_25_see/configuration/guide/scg_1.html

Catalyst Switch 연결
- Serial Cable 사용
   Linux의 minicom 이란 프로그램 실행
   # minicom -s

      위와 같이 설정하고,, 연결이 되면,,
      Switch> en

   또는,,
 
__

'Rocks' 카테고리의 다른 글

SGE error: ending connection before all data received  (0) 2009.11.17
성능비교의 오류  (0) 2009.07.15
Install Intel Fortran Compiler and MPI Library on Rocks 5.1  (0) 2009.06.23
PXE-E32: TFTP open timeout  (0) 2009.06.21
rocks command  (0) 2009.06.21
Rocks 클러스터를 설치하는 과정에서,
PXE Network 부팅을 진행하다가,,
아래와 같은 메시지가 발생했을 경우???

PXE-E32: TFTP open timeout

생각지도 못했던 문제에 상당히 고생했습니다.
DHCP 에서 IP를 받아가고 나서,,
TFTP Server 에서 부팅에 필요한 파일들을 가져가야 하는데,,
TFTP에 접근을 못해 timeout 이 발생합니다.

해결 방법
  1. Firewall 점검
    TFTP Server가 동작하고 있는 서버에서 iptables firewall을 사용할 경우
    우선 iptables 를 내린 후 다시 진행
    iptables 내린 후 정상 동작한다면,, iptables firewall 설정을 점검할 것
     
  2. TFTP 서버
    Rocks 5.1 버전에서는 TFTP 서버가 xinetd 서비스로 묶여서 돌아갑니다.
    xinetd 서비스를 재시작해보세요.

Platform OCS 는 Open Source Rocks를 기반으로 만들어졌습니다.
Rocks 4.0 버전일때,, Rocks 에 비해서 OCS가 편한점은
명령어를 통해서,, 클러스터 구성을 customizing 하기가 쉽다는 것이었습니다.
하지만,, rocks 란 명령어를 알고부터,, OCS와 비교해도 전혀 불편함이 없더군요..
modules roll 빼구요.. !!

암튼,, rocks command 중 중요한거 몇개만 설명해 드리겠습니다.

1. 설치할 때,, 호스트 추가


rocks add host <hostname> cpus=<cpu#> membership=compute rack=<#> rank=<#>
예를 들어,, node01, node02를 추가할 경우

# rocks add host node01 cpus=8 membership=compute rack=0 rank=1
# rocks add host node02 cpus=8 membership=compute rack=0 rank=2

호스트가 정상적으로 추가되었는지 확인

# rocks list host

2. 호스트에 인터페이스 추가


이번에는 추가된 호스트에 ip, mac 설정

rocks add host interface <hostname> <eth?> ip=<your_ip> mac=<your_mac> subnet=private name=<hostname>
node01, node02에 ip, mac 설정

# rocks add host interface node01 eth0 ip=192.168.0.11 mac=00:50:56:00:00:11 subnet=private name=node01
# rocks add host interface node02 eth0 ip=192.168.0.12 mac=00:50:56:00:00:12 subnet=private name=node02

정상 추가되었는지 확인

# rocks list host interface

3. rocks 설정 동기화 관련


일반 설정 동기화
# rocks sync config

user 설정 동기화
# rocks sync users

4. Roll 설정 관련


구성된 roll 확인
# rocks list roll

roll 비활성화
# rocks disable roll <roll-name>

비활성화된 roll 활성화
# rocks enable roll <roll-name>

roll 삭제
# rocks remove roll <roll-name>




Parametric Job + Job Dependency 입니다.
첨부파일을 열어보면,, 6개의 파일이 보입니다.


cpi.c cpi start.sh compute.sh end.sh sub.sh

 

파일 설명

cpi.c     : PI 계산 C Source, Interval 값을 인자로 입력받아 PI를 계산

cpi       : Compile binary 파일

start.sh  : 시작 스크립트, input parameter를 파일에 저장

compute.sh       : 계산 스크립트, input parameter를 읽어서 cpi 인자값으로 넘겨서 계산

end.sh   : 종료 스크립트, 임시 input 파일을 삭제

sub.sh   : 세개의 job을 제출하는 스크립트

주의 ::: 이 스크립트에서는 input parameter 4개라고 가정하였음, BASH 를 사용하였음.

 

실행방법

[user1@hnode01 ~]$ ./sub.sh

Your job 51 ("start") has been submitted

Your job-array 52.1-4:1 ("compute") has been submitted

Your job 53 ("end") has been submitted

 

[user1@hnode01 ~]$ qstat

job-ID  prior   name       user         state submit/start at     queue                          slots ja-task-ID

-----------------------------------------------------------------------------------------------------------------

     51 0.00000 start      user1       qw    12/24/2008 16:25:44                                    1       

     52 0.00000 compute    user1       hqw   12/24/2008 16:25:44                                    1 1-4:1

     53 0.00000 end        user1       hqw   12/24/2008 16:25:44                                    1

 

'Scheduler' 카테고리의 다른 글

[SGE] Rocks 5.3 + mpich2  (0) 2010.08.07
[SGE] Grid Engine Administration – Training Slides  (0) 2010.07.13
[PBS] Torque+Maui 스케쥴러 설치  (0) 2009.06.21

+ Recent posts