Li Wang

Assistant Professor

NUDT

Open Source Projects

The open source projects were mostly done serveral years ago, as the by-products besides my master degree.

TCPHA

TCPHA是我在研究基于Linux操作系统的TCP迁移实现技术基础上,实现的一个基于请求内容分发的服务器集群调度系统.详细可见项目主页.也可参见 TCP迁移技术报告.

Cfslight

Cfslight即Linux(Lightweight) Cluster File System,Linux(轻量级)集群文件系统。作者还有龙海(david AT linux-vs DOT org)和章文嵩老师(wensong AT linux-vs DOT org) .Cfslight最大的特点是简单易用,它实现的功能是将 一个Linux集群对客户抽象为一个空间巨大的单一文件系统映像.客户可以将整个集群mount到本地的一个文件系统路径上.系统分为三大部分: MDS,OST,LCFS.MDS是元数据服务器,存放所有集群文件系统的元数据,如文件名,文件属性,目录属性,访问权限等. OST为集群中所有充当数据存储的节点,存放集群文件系统中的所有文件物理数据.LCFS为客户方代理,向下负责与MDS,OST通信获取 文件元数据和物理数据,向上对VFS提供统一的文件系统调用接口.这个系统也可在单机上安装.安装需求:Linux Kernel 2.4, Mysql(包括 mysql-client,mysql-server,mysql-devel包,仅在MDS上需要).该软件最新的版本为 cfslight-0.8.1.tar.gz.

TODO

  • 实现UNIX语义锁
  • 支持元数据Cache
  • 容错机制
  • 更高效的数据传输引擎
  • 并行文件访问
  • 更细粒度的文件数据分布式存储

    LVS On FreeBSD

    LVS On FreeBSD的目的是将LVS移植到FreeBSD上,目前已实现了直接路由和IP隧道这两种最关键和最有特色的LVS转发技术, 支持LVS的所有10种调度算法,并进行了初步的性能测试,不比LVS差:),目前该项目已被FreeBSD的维护者放进ports collection( http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/ipvs/), 如果能实现下面TODO的第1条和第2条,应该可以进入标准FreeBSD内核.详细可见项目主页.

    TODO

  • 取消内核补丁,用sysctl等技术代替getsockopt,setsockopt,procfs接口来实现用户层与内核的交互
  • 向章文嵩老师申请BSD双授权:)
  • 支持NAT转发技术
  • 支持连接同步技术(Connection Synchronization)
  • 支持对DOS攻击的防御技术
  • 完善报文统计功能
  • 支持SCTP协议调度

    Multi-Thread Event-Driven Version For KTCPVS

    这是我写的KTCPVS采用多线程事件驱动体系结构的版本,基于ktcpvs-0.0.18改写.在当前的KTCPVS实现中,每个线程每次仅处理 一个连接,线程大量的时间是在阻塞等待客户方和后端服务器上的连接数据,这样就降低了系统的吞吐率.而且,如果恶意客户连接服务器后 保持连接但不发送数据,则显然对服务器造成DOS攻击.在多线程事件驱动体系结构中,每个线程维护一个事件池,可同时处理多个连接,大大减少 了线程阻塞等待的时间,从而可提高系统的吞吐率.实现细节可参看此图,代码:ktcpvs-0.0.18-mt.tar.gz.