2012年4月9日

摘要: 首先,先到$osname目录下找genimage/opt/xcat/share/xcat/netboot/$osname-i 网卡,如eth1-n 网络驱动,如e1000-o 系统名,如rhel5.7-p 组名,这里是compute./genimage -i eth1 -n e1000 -o rhel5.7 -p compute以后,生成image文件随后到/install/netboot/rhel5.7/x86_64/compute/rootimg/etc目录下修改fstab加上compute_x86_64 / tmpfs rw 0 1并且把/挂载点删除。然后用packimage -o rh 阅读全文
posted @ 2012-04-09 17:33 a++ 阅读(559) 评论(0) 推荐(0) 编辑

2012年4月7日

摘要: 最近改一个小程序,需要用到google云上的数据库功能。学习了一点相关知识。对于应用来说,首先要app.yaml申明自己application: aversion: 1runtime: pythonapi_version: 1handlers:- url:/xx script: xx.py- url:/yy script: xx.py- url:/zz.py script: zz.py第一部分四行比较简单,handlers这里是告诉云,访问连接后跟的路径用哪一个脚本去处理,比如在这里,application叫做a,那么访问a.appspot.com/xx,是用xx.py处理,如果访问a.... 阅读全文
posted @ 2012-04-07 15:45 a++ 阅读(626) 评论(0) 推荐(0) 编辑

2012年3月22日

摘要: 在大规模节点间的并行时,由于节点间通讯的量是成平方项增长的,所以带宽很快就会显得不够。所以一种思路增加程序效率线性的方法是用MPI/OPENMP混合编写并行部分。这一部分其实在了解了MPI和OPENMP以后相对容易解决点。大致思路是每个节点分配1-2个MPI进程后,每个MPI进程执行多个OPENMP线程。OPENMP部分由于不需要进程间通信,直接通过内存共享方式交换信息,不走网络带宽,所以可以显著减少程序所需通讯的信息。Fortran:Program hello use mpi use omp_lib Implicit None Integer :: myid,numprocs,rc,... 阅读全文
posted @ 2012-03-22 12:39 a++ 阅读(8471) 评论(0) 推荐(1) 编辑
 
摘要: 和MPI支持在分布式内存机器上运行不一样,OPENMP只能在共享内存机器上运行。这一局限性带来的好处就是编程时相对好处理一点。对于天然并行的代码可以不做过多处理就能并行,而MPI则需要消息传递。另外,MPI的消息传递会带来带宽(系统和网络)上的要求,一旦并行节点数增多则会阻塞。这点也是OPENMP的一个优势。并行开始及结束声明:Fortran 77/90:!$OMP PARALLEL 代码区!$OMP END PARALLELC/C++:#pragma omp parallel { 代码区 } 某个循环区块的并行Fortran 77/90:!$OMP DO [clause ...... 阅读全文
posted @ 2012-03-22 11:33 a++ 阅读(2176) 评论(0) 推荐(0) 编辑

2012年3月21日

摘要: MPI是Message Passing Interface的简称,通过这个协议可以在各个进程——尤其是分布式内存进程——间能够进行通信,交流消息共同完成一个任务。进行mpi编程的基本流程如下首先要载入头文件Fortran 77: include 'mpif.h' Fortran 90: use mpi C/C++: #include "mpi.h" 第二步是初始化MPI环境Fortran 77/90: Call MPI_INIT(ierror)其中integer ierrorC: int MPI_Init(int *argc, char ***argv); 阅读全文
posted @ 2012-03-21 22:50 a++ 阅读(6563) 评论(4) 推荐(1) 编辑

2012年3月5日

摘要: 现在vmware上建立管理节点mgmt,内网ip设为192.168.1.1,对应网卡为eth1,外网ip设为192.168.8.50,对应网卡为eth0然后下载xcat的两个包,xcat-core-2.6.10.tar.bz2xcat-dep-201202211937.tar.bz2上传到服务器上,解压缩之后。cd xcat-dep/rh5/x86_64./mklocalrepo.shcd http://www.cnblogs.com/..cd xcat-core/./mklocalrepo.sh建立本地的安装源,然后挂载系统镜像到cdrom,通过yum install xCAT.x86_64 阅读全文
posted @ 2012-03-05 16:40 a++ 阅读(1437) 评论(8) 推荐(0) 编辑

2012年1月10日

摘要: 最近看了一下lustre,快速安装了一下,记录在这里。首先去这里下载对应的服务器版本的包。系统版本是rhel5.4 x86_64。既然是服务器用的并行文件系统,以稳定为主,我这里使用lustre1.8.7,对应的文档在这里server要可能要用到的包e2fsprogs-1.41.12.2.ora1-0redhat.rhel5.x86_64.rpmkernel-2.6.18-194.17.1.el5_lustre.1.8.7.x86_64-ext4.rpmkernel-2.6.18-194.17.1.el5_lustre.1.8.7.x86_64.rpmlustre-1.8.7-2.6.18_1 阅读全文
posted @ 2012-01-10 15:25 a++ 阅读(1826) 评论(0) 推荐(0) 编辑

2012年1月8日

摘要: 最近写的爬虫就是为了抓取sina微薄的内容,结果发现11月份以后微薄改版了,改版之后一页并不是一次性现实的,而是分三次显示。第一次访问获取的内容只有1/3,其余的内容分两次,通过新浪自己的STK库中的lazy_load来完成动态加载的。本来以为很难解决,抓了一下包以后发现其实挺简单。body={'__rnd':访问这一页面的时间,以秒表示的13位整数'_k':本次登录第一次访问此微薄的时间,16位整数'_t':0'count':第二次和第二次访问时都是15,第一次访问时是50'end_id':最新的这一项微博的mi 阅读全文
posted @ 2012-01-08 01:45 a++ 阅读(2521) 评论(6) 推荐(0) 编辑

2012年1月4日

摘要: 接着上一篇爬虫处理,发现内嵌javascript里使用的中文字符是以unicode编码\uxxxx形式出现。fnick=\u5200\u5200\u72d7\u7ae5\u8bdd\u96c6\">\n但python用正则表达式读取的时候是把这些\uxxxx当作ascii码来处理,于是为了转义,在每个字符前又加了反斜杠,成为\\uxxx。a='\\u5200\\u5200\\u72d7\\u7ae5\\u8bdd\\u96c6'所以问题就是怎么把这个字符改成python能正常辨认的字符串str类型。python中相关对象分str和unicode,可以用type命 阅读全文
posted @ 2012-01-04 22:25 a++ 阅读(885) 评论(0) 推荐(0) 编辑

2012年1月3日

摘要: python中有两种方法创建dict类显式foo.update(dict(a= 1, b='2'})隐式foo.update({'a': 1, 'b': '2'})最近在写一个爬虫的时候碰到一个问题,dict的key是系统的保留字from于是在stackoverflow上找到了答案。对于这类情况,只能使用隐式方法创建dict类如foo.update({'from':1,'d':2})显式方法只能适用于key为普通字符串的情况,任何包含标点,空格,unicode代码的key都必须用隐式方法产成dict 阅读全文
posted @ 2012-01-03 20:11 a++ 阅读(428) 评论(0) 推荐(0) 编辑