• About

duanple

银河里的星星

  • 64位机 int short long double 分别是多少(zz)

    2010年3月5日 阅读(770)

    http://bbs3.chinaunix.net/thread-1626322-2-1.html
    http://stackoverflow.com/questio … g-on-64-bit-windows

    In the Unix world, there were a few possible arrangements for the sizes of integers and pointers for 64-bit platforms. The two mostly widely used were ILP64 (for DEC Alpha, one of the first 64-bit machines) and LP64 (for almost everything else). The acronynms come from ‘int, long, pointers are 64-bit’ and ‘long, pointers are 64-bit’. read more

  • Xlib: connection to “:0.0” refused by server

    2010年1月26日 阅读(345)

    If you get error messages like this Xlib: connection to ":0.0" refused by server
    Xlib: No protocol specified

    xhost: unable to open display ":0.0"
    when running a program, you probably need to add the user to the X server access list.

    You can add a user to the X server access list with # xhost +local:username
    This allows "username" to connect to the local running X server. read more

  • centos英文版下如何安装中文语言包(zz)

    2010年1月26日 阅读(352)

    http://code.javaeye.com/blog/433636
    centos安装过程中,安装语言包时选择了english,在安装完毕后浏览中文网页或查看中文文档时总是宣誓乱码,因此需要安装中文语言包,如果不能从安装盘进行安装,可以通过yum进行安装,安装办法为: read more

  • 用gtksourceview实现代码高亮 (zz)

    2010年1月15日 阅读(571)

    http://www.pygtk.org/pygtksourceview/index.html
    最近用pygtk在写一个半可视化的ui编辑器. 其中要嵌入一个小编辑器给用户写一小段lua代码。
    虽然是个小部件,用个textview糊弄一下就好,但做为一个有爱而又爱折腾的人,加上语法高亮简直是一定的事情。 read more

  • Hypertable领导者:Hadoop和分布式数据库(zz)

    2010年1月4日 阅读(470)


    http://dev.yesky.com/74/8102574.shtml

     数据库领域近来吸引了不少眼球。IBM不久前投资于EnerpriseDB;EnerpriseDB有一个运行在Amazon EC2上的云版本。Amazon去年末发布了他们自己的云数据库。而Google的BigTable尽管并不开源,也得到了社区的广泛研究。同样是在这个领域,两个开源项目——HBase和Hypertable利用开源Map/Reduce平台Hadoop提供了类似于BigTable的可伸缩数据库实现。InfoQ与Zvents, Inc的理论研究架构师以及Hypertable项目的创立者Doug Judd一起讨论其实现。 read more

  • HBase的领导人探讨Hadoop、BigTable和分布式数据库(zz)

    2010年1月4日 阅读(427)

    http://www.programbbs.com/doc/3325.htm
    Google最近关于Google Application Engin的介绍再一次引起了大家对备选数据库技术的兴趣。几星期前InfoQ访谈Hypertable项目的创始人之一Doug Judd,该项目受到了Google的BigTable数据库的启发。本周InfoQ很乐意给大家奉献对HBase领导人——im Kellerman、Michael Stack和Bryan Duxbury的专访。HBase是一个开源的、分布式的、仿效BigTable的面向列存储系统。 read more

  • Hadoop

    2010年1月4日 阅读(291)

    http://labs.xiaonei.com/apache-mirror/hadoop/core/stable/          hadoop下载
    http://www.bookfm.com/book/bookdetail.html?bookid=105718&bookpage=7
    http://www.infoq.com/cn/articles/hadoop-process-develop;jsessionid=7DE57C016F105125B8FBAD4050E759EC
    http://hadoop.apache.org/common/docs/r0.18.2/cn/cluster_setup.html
    http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop1/index.html
    http://hi.baidu.com/thinkdifferent/blog/item/5990fd03ca3e328fd43f7c94.html Hadoop文档合集
    http://www.mengyan.org/blog/archives/2006/11/15/138.html
    http://rdc.taobao.com/blog/dw/archives/category/hadoop/page/2    淘宝数据平台团队 read more

  • Running Hadoop MapReduce on Amazon EC2 and Amazon

    2010年1月4日 阅读(145)

    http://developer.amazonwebservices.com/connect/entry.jspa?externalID=873&categoryID=112
    AWS and Hadoop developer Tom White shows how to use Hadoop and Amazon Web Services together to process a large collection of web access logs.

    AWS Products Used: Amazon EC2, Amazon S3 Language(s): Java Date Published: 2007-07-18 read more

  • gcc的一些编译参数(节选)

    2009年12月23日 阅读(307)

           http://doc.linuxpk.com/3721.html
           -include file

      包含某个代码,简单来说,就是便以某个文件,需要另一个文件的时候,就可以用它设定,功能就相当于在代码中使用#include<filename>

      例子用法: read more

  • ps3上linux系统安装

    2009年12月18日 阅读(469)

    http://www.playstation.com/ps3-openplatform/manual.htmlStep 5: Install the Linux operating system

    Insert a bootable installation disc for the Linux operating system in the PS3? system. The initial steps to install Linux may vary depending on the Linux distribution.

    For example, for Fedora 10, you will need to type “linux noselinux video=720p” from the command line of the boot loader. Other Linux operating systems may only require pressing the Enter key. If both “linux32”and “linux64” appear on the installation menu, select “linux64” because the PS3? system can execute only a 64-bit Linux kernel. For additional information on installing Linux, refer to the instructions provided with the distribution, or refer to the website for the associated community. read more

  • 程序编译方法

    2009年12月18日 阅读(297)

    1.md_sim
    mpicc -o p.out md_sim.c /home/duanple/CBLAS/lib/LINUX/cblas_LINUX.a /home/duanple/BLAS/blas_LINUX.a data_partition.o processor_test.o

    2.线性方程族求解

    mpicc -o hete hete_solver.c /home/duanple/CBLAS/lib/LINUX/cblas_LINUX.a /home/duanple/BLAS/blas_LINUX.a -static

    4.scalapack实例程序scaex
    mpif90 -lg2c -o /home/duanple/scalapack/scalapack-1.8.0/TESTING/xdscaex pdscaex.o pdscaexinfo.o pdlaread.o pdlawrite.o  /home/duanple/scalapack/scalapack-1.8.0/libscalapack.a /home/duanple/scalapack/BLACS/LIB/blacsF77init_MPI-LINUX-0.a /home/duanple/scalapack/BLACS/LIB/blacs_MPI-LINUX-0.a /home/duanple/scalapack/BLACS/LIB/blacsF77init_MPI-LINUX-0.a /home/duanple/scalapack/lapack-3.2.1/lapack_LINUX.a /home/duanple/scalapack/lapack-3.2.1/blas_LINUX.a /home/duanple/intel/ict/3.0.1/mpi/3.0/lib/libmpi.a read more

  • mpich的安装配置(zz)

    2009年12月11日 阅读(366)

    这个算是我看到的一个对整个配置过程说的比较全面的文章。
    http://www.diybl.com/course/6_system/linux/Linuxjs/20090824/171053.html

    前段时间帮同学在linux下配了一个集群环境,参考了一些网上的文章,就把过程写出来,做个参考吧。其实在我们的环境下ssh已经是配置好的,但是我还是把网上看到的写下来,而且这个配置过程我试过,没有什么问题。 read more

  • gfortran 和mpif90的不同引发scalapack链接错误

    2009年12月10日 阅读(1,326)

    一.用这两个进行编译
    gfortran -c pdlaread.f
    mpif90 -c pdlaread.f
    然后用nm pdlaread.o进行查看,发现fortran函数gfortran加了一个下划线 而mpif90则加了两个。
    这也是之前出现下面的错误的原因。
    一个解决方案,使用gfortran编译成目标文件,仅用mpif90进行链接。但是用mpif90链接时却出现另一个错误
    usr/local/bin/mpif90: line 294: eval: -o: 无效的选项。所以也不可行,需要进行寻找方法。 read more

  • ftp及常用命令(zz)

    2009年12月8日 阅读(383)

    /etc/init.d/network restart
    service network restart
    mpiexec -n 2  ./hete
    mpiexec -machinefile hosts -np 2  ./hete
    启动ftp服务: /usr/local/sbin/proftpd

    安装ftpd服务器:http://hi.baidu.com/enovo/blog/item/dc64b119bd8f6f4043a9ade7.html
    这里安装的所proftpd.

    ftp常用命令:
    ftp -v -d -i -n -g [主机名] ,其中 FTP的命令行格式为:
    -v 显示远程服务器的所有响应信息;
    -n 限制ftp的自动登录,即不使用;.n etrc文件;
    -d 使用调试方式;
    -g 取消全局文件名。 read more

  • 多机mpi并行配置

    2009年12月7日 阅读(1,477)

    转载请注明作者:phylips@bmy 出处: http://duanple.blog.163.com/blog/static/70971767200911735313192/

    一.mpich安装步骤
    #./configure –prefix=/usr/local/mpich-gcc –rsh=/usr/bin/ssh
    #make
    #make install
    其中prefix后面的是安装的目录,安装完成后就可以看到。

    (卸载mpi是进入到/usr/local/mpich-gcc/sbin/mpiuninstall.) read more

  • 毕业那几天-2007

    2009年12月4日 阅读(380)

    偶尔发现,我竟然还保存着当年毕业的那几天的记录,把这些流水的句子看看,发现竟然还能回忆起那年的许多。

    走到记忆里,仿佛是另一个世界,或许当年的我们都会在心中想起不同的情景,有一点却是相同的,那些日子里我们一起走过。人生有许多的过去和未来,那最好的年华在哪里,又是怎样度过的呢?每个人的心里总会有不同的答案。
    —————————————————————————————————————————————
    7月7日 read more

  • epoll的实现原理(zz)

    2009年12月4日 阅读(484)

      原文地址 http://hi.baidu.com/firefly0510/blog/item/1ae20a4ac2fe01f883025cfc.html
    epoll的实现原理
    2009-04-17 13:05

    1 功能介绍
         epoll与select/poll不同的一点是,它是由一组系统调用组成。
         int epoll_create(int size);
         int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);
         int epoll_wait(int epfd, struct epoll_event *events,int maxevents, int timeout);
         epoll相关系统调用是在Linux 2.5.44开始引入的。该系统调用针对传统的select/poll系统调用的不足,设计上作了很大的改动。select/poll的缺点在于:
         1.每次调用时要重复地从用户态读入参数。
         2.每次调用时要重复地扫描文件描述符。
         3.每次在调用开始时,要把当前进程放入各个文件描述符的等待队列。在调用结束后,又把进程从各个等待队列中删除。
         在实际应用中,select/poll监视的文件描述符可能会非常多,如果每次只是返回一小部分,那么,这种情况下select/poll显得不够高效。epoll的设计思路,是把select/poll单个的操作拆分为1个epoll_create+多个epoll_ctrl+一个wait。此外,
    内核针对epoll操作添加了一个文件系统”eventpollfs”,每一个或者多个要监视的文件描述符都有一个对应的eventpollfs文件系统的inode节点,主要信息保存在eventpoll结构体中。而被监视的文件的重要信息则保存在epitem结构体中。所以他们
    是一对多的关系。
         由于在执行epoll_create和epoll_ctrl时,已经把用户态的信息保存到内核态了,所以之后即使反复地调用epoll_wait,也不会重复地拷贝参数,扫描文件描述符,反复地把当前进程放入/放出等待队列。这样就避免了以上的三个缺点。
         接下去看看它们的实现:
    2 关键结构体:
    /* Wrapper struct used by poll queueing */
    struct ep_pqueue {
             poll_table pt;
             struct epitem *epi;
    };
         这个结构体类似于select/poll中的struct poll_wqueues。由于epoll需要在内核态保存大量信息,所以光光一个回调函数指针已经不能满足要求,所以在这里引入了一个新的结构体struct epitem。
    /*
     * Each file descriptor added to the eventpoll interface will
     * have an entry of this type linked to the hash.
     */
    struct epitem {
             /* RB-Tree node used to link this structure to the eventpoll rb-tree */
             struct rb_node rbn;红黑树,用来保存eventpoll
             /* List header used to link this structure to the eventpoll ready list */
             struct list_head rdllink;双向链表,用来保存已经完成的eventpoll
             /* The file descriptor information this item refers to */
             struct epoll_filefd ffd;这个结构体对应的被监听的文件描述符信息
             /* Number of active wait queue attached to poll operations */
             int nwait;poll操作中事件的个数
             /* List containing poll wait queues */
             struct list_head pwqlist;双向链表,保存着被监视文件的等待队列,功能类似于select/poll中的poll_table
             /* The "container" of this item */
             struct eventpoll *ep;指向eventpoll,多个epitem对应一个eventpoll
             /* The structure that describe the interested events and the source fd */
             struct epoll_event event;记录发生的事件和对应的fd
             /*
              * Used to keep track of the usage count of the structure. This avoids
              * that the structure will desappear from underneath our processing.
              */
             atomic_t usecnt;引用计数
             /* List header used to link this item to the "struct file" items list */
             struct list_head fllink;双向链表,用来链接被监视的文件描述符对应的struct file。因为file里有f_ep_link,用来保存所有监视这个文件的epoll节点
             /* List header used to link the item to the transfer list */
             struct list_head txlink;双向链表,用来保存传输队列
             /*
              * This is used during the collection/transfer of events to userspace
              * to pin items empty events set.
              */
             unsigned int revents;文件描述符的状态,在收集和传输时用来锁住空的事件集合
    };
         该结构体用来保存与epoll节点关联的多个文件描述符,保存的方式是使用红黑树实现的hash表。至于为什么要保存,下文有详细解释。它与被监听的文件描述符一一对应。
    struct eventpoll {
             /* Protect the this structure access */
             rwlock_t lock;读写锁
             /*
              * This semaphore is used to ensure that files are not removed
              * while epoll is using them. This is read-held during the event
              * collection loop and it is write-held during the file cleanup
              * path, the epoll file exit code and the ctl operations.
              */
             struct rw_semaphore sem;读写信号量
             /* Wait queue used by sys_epoll_wait() */
             wait_queue_head_t wq;
             /* Wait queue used by file->poll() */
             wait_queue_head_t poll_wait;
             /* List of ready file descriptors */
             struct list_head rdllist;已经完成的操作事件的队列。
             /* RB-Tree root used to store monitored fd structs */
             struct rb_root rbr;保存epoll监视的文件描述符
    };
         这个结构体保存了epoll文件描述符的扩展信息,它被保存在file结构体的private_data中。它与epoll文件节点一一对应。通常一个epoll文件节点对应多个被监视的文件描述符。所以一个eventpoll结构体会对应多个epitem结构体。     那么,epoll中的等待事件放在哪里呢?见下面 read more

  • epoll机制(zz)

    2009年12月4日 阅读(368)

     原文地址 http://blog.chinaunix.net/u2/76292/showart_2062690.html
    昨天在CU上看到epoll, 自己既然还从来没听说过. google了一下.
    练习了一下, 太懒, 本来可以写的更好写. 以下是从
    /**
     * http://blog.csdn.net/mote_li/archive/2004/12/08/209450.aspx
     */
    修改的. 关键是学习他的epoll使用, 其它的就别了. 自己编译测试了一下, 感觉有点意思就share一下.
      read more

  • Linux网络编程一步一步学-异步通讯聊天程序select(zz)

    2009年12月4日 阅读(340)

     原文地址 http://zhoulifa.bokee.com/6068027.html
    什么是异步通讯?
    就是通讯任意一方可以任意发送消息,有消息来到时会收到系统提示去接收消息。

    这里要用到select函数。使用步骤如下:
    1、设置一个集合变量,用来存放所有要判断的句柄(file descriptors:即我们建立的每个socket、用open打开的每个文件等)
    2、把需要判断的句柄加入到集合里
    3、设置判断时间
    4、开始等待,即select
    5、如果在设定的时间内有任何句柄状态变化了就马上返回,并把句柄设置到集合里 read more

  • socket编程中select的使用(zz)

    2009年12月4日 阅读(373)

     原文地址 http://www.uumbbs.com/show_topic.aspx?topicId=3084&forumId=208
    Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、 accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件没有发生则返回一个代码来告知事件未发生,而进程或线程继续执行,所以效率较高)方式工作的程序,它能够监视我们需要监视的文件描述符的变化情况——读写或是异常。下面详细介绍一下! read more

Older Posts
Newer Posts

全站热门

  • 分布式系统领域经典论文翻译集 - 16,821 views
  • AddressSanitizer&ThreadSanitizer原理与应用 - 7,999 views
  • 分布式领域经典论文译序 - 6,154 views
  • 线性一致性理论 - 4,659 views
  • About - 4,629 views
  • Paxos Made Live(译) - 4,064 views
  • 深度探索分布式理论经典论文 - 3,810 views
  • 【google论文二】Google文件系统(上) - 3,705 views
  • Avro: 大数据的数据格式(zz) - 3,414 views
  • Google论文、开源与云计算 - 3,356 views

分类目录

  • linux
  • 分布式系统
  • 思维训练
  • 技术专题
  • 文思
  • 未分类
  • 流年
  • 离奇的code
  • 程序设计语言
  • 算法与acm
  • 网络及内核
  • 计算机科学与人物
  • 设计模式
  • 读书笔记
  • 转载
  • 闲时思考
  • 高性能计算

近期文章

  • NewSQL Basis
  • gdb基本工作原理
  • Jepsen测试
  • 性能优化工具:perf
  • 性能优化工具:gperftools

近期评论

  • 深度探索分布式理论经典论文 – duanple发表在《The Five-Minute Rule 20 Years Later(译)》
  • test – duanple发表在《Paxos Made Live(译)》
  • test – duanple发表在《分布式系统领域经典论文翻译集》
  • test – duanple发表在《Distributed Snapshots-Determining Global States of a Distributed System(译)》
  • test – duanple发表在《Solution of a Problem in Concurrent Programming Control(译)》

标签

bigtable distributed google hadoop hbase hive leveldb linux lsm-tree mapreduce master nosql paxos pregel python scale sql sstable 人面不知何处去 分布式 分布式系统 思维训练 技术专题 搜索与分布式 文思 服务器 未名湖畔 流年 离奇的code 程序设计语言 算法与acm 算法与acm 面试 线程 经典论文 经史子集 网络及内核 翻译 节点 计算机科学 论文 设计模式 读书笔记 闲时思考 集群 高性能计算

文章归档

  • 2021年6月
  • 2021年1月
  • 2020年12月
  • 2020年10月
  • 2019年8月
  • 2018年11月
  • 2018年9月
  • 2018年6月
  • 2015年1月
  • 2014年2月
  • 2013年11月
  • 2013年10月
  • 2013年9月
  • 2013年6月
  • 2013年5月
  • 2013年4月
  • 2013年3月
  • 2013年2月
  • 2013年1月
  • 2012年12月
  • 2012年11月
  • 2012年10月
  • 2012年9月
  • 2012年8月
  • 2012年7月
  • 2012年6月
  • 2012年5月
  • 2012年4月
  • 2012年1月
  • 2011年12月
  • 2011年11月
  • 2011年10月
  • 2011年9月
  • 2011年8月
  • 2011年7月
  • 2011年6月
  • 2011年5月
  • 2011年4月
  • 2011年3月
  • 2011年1月
  • 2010年12月
  • 2010年11月
  • 2010年10月
  • 2010年8月
  • 2010年7月
  • 2010年6月
  • 2010年5月
  • 2010年4月
  • 2010年3月
  • 2010年1月
  • 2009年12月
  • 2009年11月
  • 2009年10月
  • 2009年9月
  • 2009年8月
  • 2009年7月
  • 2009年6月
  • 2009年5月
  • 2009年4月
  • 2009年3月
  • 2009年2月
  • 2009年1月
  • 2008年12月
  • 2008年11月
  • 2008年10月
  • 2008年9月
  • 2008年8月
  • 2008年7月
  • 2008年6月
  • 2008年5月
  • 2008年4月
  • 2008年3月

功能

  • 登录
  • 文章RSS
  • 评论RSS
  • WordPress.org

业界大牛

  • James Hamilton
  • Werner Vogels

Copyright © 2018 Pixeldom Lite | Developed by ThemeBounce

Back to top | 京ICP备18037177号