Wednesday, March 15, 2006

MPI-2 IO 学习笔记

学习内容:MPI2 standart ,
资料来源:http://www.mpi-forum.org/docs/mpi2-report.pdf

要点:MPI2 IO 标准
etype 基本类型
filetype 由一个或多个etype组成,中间允许由空洞

displacement:以字节为单位,从文件第一个字节开始
offset:以etype为单位,从displacement开始
view:文件视图?现在还不是很理解,详见Page 232, Figure9.3

Data access routines:
Data is moved between files and processes by issuing
read and write calls. There are three orthogonal aspects
to data access:
1. positioning (explicit offset vs. implicit file pointer),
2. synchronism (blocking vs. nonblocking and split collective), and
3. coordination (noncollective vs. collective).

重点要掌握P220 的那张data access routines列表,非常详尽。

Monday, March 13, 2006

PVFS2 components

1. pvfs2-server
2. system interface
3. management interface
4. Linux kernel driver
5. pvfs2-client
6. ROMIO PVFS2 device

PVFS2 objects:
1. directory
2. metafile
3. datafile
4. symbolic link

Handles and its range, an example:

Name pvfs2-fs
ID 584761686
RootHandle 1048576

Range cse-wang-server 4-715827885
Range cse-wang05b 715827886-1431655767
Range cse-wang11 1431655768-2147483649


Range cse-wang-server 2147483650-2863311531
Range cse-wang05b 2863311532-3579139413
Range cse-wang11 3579139414-4294967295


TroveSyncMeta yes
TroveSyncData no
AttrCacheKeywords datafile_handles,metafile_dist
AttrCacheKeywords dir_ent, symlink_target
AttrCacheSize 4093
AttrCacheMaxNumElems 32768

Friday, March 10, 2006

cvs for lsfs-pvfs2 project

1. 建立repository
cvs -d D:/server_root/cvs init
cd /home/penggu/DOEproject/lsfs-pvfs2-imp/user-level/pvfs2-1.4.0
cvs -d D:/server_root/cvs import -m "initial import into CVS" pvfs2-1.4.0-dev penggu start

2.check out
cd /home/penggu/DOEproject/lsfs-pvfs2-imp/user-level/dev
cvs -d D:/server_root/cvs co pvfs2-1.4.0-dev

Tuesday, March 07, 2006

pvfs2 cvs check out and update

Dowload module:
cvs -d :pserver:anonymous@cvs.parl.clemson.edu:/anoncvs login
cvs -d :pserver:anonymous@cvs.parl.clemson.edu:/anoncvs co pvfs2
cvs -d :pserver:anonymous@cvs.parl.clemson.edu:/anoncvs logout

Update:
cvs -d :pserver:anonymous@cvs.parl.clemson.edu:/anoncvs login
cvs -d :pserver:anonymous@cvs.parl.clemson.edu:/anoncvs update -P -d
cvs -d :pserver:anonymous@cvs.parl.clemson.edu:/anoncvs logout

如何想要自动化管理,需要三个script文件:
cvs_checkout.sh, cvs_update.sh and cvs_login.exp

------------------------------------
cvs_checkout.sh
------------------------------------
#!/bin/bash
expect cvs_login.exp
cvs -d :pserver:anonymous@cvs.parl.clemson.edu:/anoncvs co pvfs2
cvs -d :pserver:anonymous@cvs.parl.clemson.edu:/anoncvs logout
------------------------------------

cvs_update.sh
------------------------------------
#!/bin/bashexpect
cvs_login.exp
cvs -d :pserver:anonymous@cvs.parl.clemson.edu:/anoncvs update -P -d
cvs -d :pserver:anonymous@cvs.parl.clemson.edu:/anoncvs logout

cvs_login.exp
----------------------------------
set remote_server cvs.parl.clemson.edu
set my_password fakeone
# Open an cvs session to a remote server, and wait for a password prompt.
spawn cvs -d :pserver:anonymous@cvs.parl.clemson.edu:/anoncvs login
expect "password:"
# Send the password, and then wait for an bash prompt.
send "$my_password\r"
expect eof

Monday, March 06, 2006

SSH Without a Password

The steps assume that a DSA key is being used. To use a RSA key substitute 'rsa' for 'dsa'. The steps assume that you are using a Bourne-like shell (sh, ksh or bash) Some of this information came from: http://www.der-keiler.de/Mailing-Lists/securityfocus/Secure_Shell/2002-12/0083.html

For our testing purpose, we define two servers and one client
SSH client: cse-wang-server
SSH server: cse-wang05b cse-wang11

Steps:1. On the client run the following commands:
mkdir -p $HOME/.ssh
chmod 0700 $HOME/.ssh
ssh-keygen -t dsa -f $HOME/.ssh/id_dsa -P ''
cd $HOME/.ssh/
mv id_dsa.pub id_dsa.pub-`hostname -s`
for server in cse-wang05b.unl.edu cse-wang11.unl.edu ; do
echo "Host ${server}" >> config
echo " IdentityFile ~/.ssh/id_dsa" >> config
scp id_dsa.pub-`hostname -s` ${server}:./.ssh/
done
2.On the server run the following commands:
cd $HOME/.ssh && ln -s authorized_keys2 authorized_keys
cd $HOME/.ssh/
for client in cse-wang-server ; do
cat id_dsa.pub-${client} >> authorized_keys2
done
chmod 0600 authorized_keys2
3.On the client, test the ssh connectionssh cse-wang05b.unl.edu