开源软件竞赛简报
由共创软件联盟组织的第二届(2006)中国开源软件竞赛,在全国9个赛区进行,参赛者包括企业工程技术人员、社区志愿者、大学学生,以及社会上的个人爱
好者,约一万人。通过两轮评比,有53件作品参加决赛,经过测试和专家评议,在学生组评出金奖(暂缺),银奖3件,铜奖5件;专业组评出金奖1件,银奖3
件,铜奖5件;另评创新奖8件,鼓励奖28件。由于第六届中日韩(CJK)开源论坛即将于9月12日-14日在韩国首尔召开,中方将向CJK开源推进论坛
推荐4件优秀作品(介绍如下)。
万人参与开源软件竞赛,标志着开源运动正在中国发展和普及,从下述介绍的优秀作品中,象征着越来越多的优秀的中国志愿者,不只是国际开源社区资源的“消费者”,还开始成为“贡献者”。中国对国际开源社区的贡献将越来越大。
附《第二届“CJK”竞赛中国四部作品介绍》
作品一
1、作品名称
Linux自适应文件预读算法
Adaptive Readahead
2、作者简介
吴峰光,浙江浦江人。现就读于中国科学技术大学自动化专业,博士生
3、作品简介
本项目实现了一组自适应Linux文件预读算法,对Linux内核中已有的算法作了多方面的改进。通过自适应的调整预读大小,解决了预读抖动问题;基于页
面缓存上下文,实现了对各种顺序读取模式的支持。该算法对于很多数据库/文件服务,多线程/多媒体应用,科学计算的I/O性能都有切实的帮助。Linux
2.6.23 中已经含了它的一个简化版本。
作品二
1、作品名称
基于软流水体系结构的内核级Web服务器OpenKETA--- A Novel Kernel Web
Server with Software Pipeline Architecture
2、作者简介
谭郁松,男,于1976年9月出生于中国广东。1993年考入国防科学技术大学计算机学院学习,师从中科院院士周兴铭教授,分别于1997年、2000年
和2004年获得计算机科学与技术专业的学士、硕士和博士学位。现为国防科学技术大学计算机软件所助理研究员。目前从事操作系统、虚拟机技术以及P2P技
术的研究和开发工作,负责或参与多项国家863、自然基金科研项目。
谭郁松领导一个小组参与银河麒麟操作系统的研发工作,独立设计和完成了一个具有软流水体系结构的内核级Web服务器,并从之衍生出开源版本软件—
OpenKETA。OpenKETA是FreeBSD平台上的第一个内核级的Web服务器,由于独特的结构设计,以及有效的实现技术,使得
OpenKETA的性能较其它类似产品性能优越。
谭郁松目前在863项目的资助下,带领一个小组从事关于虚拟机的研发工作,主要涉及到高性能IO虚拟化实现、高端跨节点虚拟化管理等方面的研究。目前谭郁松发表学术论文23篇,专利申请1项,软件著作权1项。
3、作品介绍:
OpenKETA(Open KErnel neTwork
geAr)项目的目标便是实现一个高性能的Web
服务器软件,采用新颖的体系结构和高效的技术实现策略,提高服务器的单机处理能力,从而能更好地满足服务器操作系统对日益增加的Web
应用的需求。 OpenKETA 本质上属于内核级的Web
服务加速器,以模块的形式,在内核层次上实现,可动态的加载和卸载。目前,OpenKETA
项目是FreeBSD 平台上第一个也同时是唯一的一个内核级Web
服务器项目。
OpenKETA
项目独创性地设计并实现了一种基于软流水体系结构的新型内核级多线程Web
服务加速器。OpenKETA 将完整的Web
请求处理流程划分为若干流水栈,每个线程只负责完成Web
请求处理的特定环节,互不干涉,从而获得Web
请求内的并发粒度。软流水体系结构从理论上可消解了线程之间的数据相关,并结合自恰的控制数据传递机制可消除线程之间的控制相关。因此,线程的利用率便能得到提高,系统并发度也得到改善,性能得以增加。
基于优秀的体系结构设计,结合有效的线程调度、自恰的控制数据传递机制、快速的数据缓存、HTTP
协议头复用技术,以及发送任务区分式服务机制,OpenKETA
具有良好的性能。由总装备部论证研究中心软件测评中心和赛迪中国软件测评中心的第三方测试表明,OpenKETA
系统的原型—KETA 系统的Web 性能要明显优于RedHat9.0
和FreeBSD5.3。经过SPECWeb 和Benchmark Factory的严格测试,OpenKETA
的性能也较Redhat Enterprise Linux v3.0 上TUX,以及Windows2000
平台上的IIS 具有明显的优势;OpenKETA 系统的加速能力比TUX
也要稍显优势。例如,同样在SPECWeb99 并发链接数为300、600 和1000
情形下,OpenKETA 系统在该三种情形下的响应时间加速性能是TUX
系统的163.6%、132.4%和167.2%;加权带宽的加速性能是TUX
的159.7%、177.2%和288.6%;每秒可处理操作数的加速性能是TUX
的142.5%、185.7%和312.0%;OpenKETA 项目源于KETA 项目,KETA
项目得到国家863
软件重大专项项目“服务器操作系统内核”(2002AA1Z2101)的资助。KETA
项目已经获得专利1 项,并已申请软件著作权。
OpenKETA
项目已经在2005 年3 月31 日在SourceForge
上开源发布,目前最高版本为v1.10,支持的FreeBSD 版本为5.0、5.3、5.4
和6.0。遵守BSD 规则开源。
作品三
1、作品名称
FirteX-高性能全文索引和检索平台FirteX-A High Performance and
Scalable Platform for Full-text Indexing and Retrieval
2、作者简介
郭瑞杰,男,江西宁都人,生于1981年。
2003年毕业于哈尔滨理工大学,同年9月考入中国科学院计算技术研究所攻读硕士学位,现为中国科学院计算技术研究所博士研究生,主要研究兴趣为信息检索,包括大规模文本索引和检索技术、在线索引构建技术和高性能信息检索平台等。他是FirteX的主要作者。
3、作品介绍:
本软件是一个功能强大、高性能、灵活的全文索引和检索平台,是国内第一个开源搜索平台。本软件的主要目标一方面是作为高性能和灵活的基础平台为产品搜索,
桌面搜索,站内搜索,新闻搜索,博客搜索,学术搜索以及大规模搜索引擎等应用的开发者提供开发包,另一方面是作为学术研究平台研究文本索引的快速构建,动
态文档集的索引维护,短语查询,Top-k查询的快速处理以及各种检索模型等搜索相关技术。
本平台支持纯文本,网页,PDF,Microsoft
Office等文件格式,支持中文(GB2312和GBK)和英文,灵活的架构也可以方便地扩展支持其他语言和编码;检索语法丰富,支持多字段检索,日期范围检索,检索结果自定义排序等;系统也可以通过COM插件无限扩展。
本平台也支持各种检索效果和检索效率的实验。在效果方面,可以实现各种检索模型、查询反馈以及面向信息检索的中文分词等实验;在效率方面,可以研究文本索引的快速构建算法,动态文档集的索引建立和更新策略,查询快速处理算法以及查询Cache方案等。
本平台设计成可以处理大规模数据,具有较高的性能,在单台Pentium 4
2.8G
2GRAM的机器上超过200Mb每分钟的纯文本索引速度,建立索引后在近100G的网页上搜索,能在数毫秒内返回结果。
本平台是插件式的开放平台,系统各个组件完全可替换或扩展,能应对未来新的需求和应用。
作品四
1、作品名称
支持超移动平台的Linux发布版Midinux - the Linux distribution for MID
Platform Midinux
2、作者简介
邹鹏程现任北京中科红旗软件技术有限公司服务器部门经理
3、作品介绍:
一、作品概述:超便携移动个人计算机 (Ultra Mobile
PC),简称UMPC,是一种界乎具有近似笔记本电脑(Notebook
PC)的效能及掌上电脑(Pocket
PC)的体积的电脑。方正05年发布的Mininote是国内首款上市的UMPC笔记本,配置采用了Intel
Celeron ULV 900MHz CPU、Intel
915GMS芯片、内置256MB内存、1.8英寸硬盘,容量30GB,预装Windows XP
Tablet PC Edition 2005。
本项目的基本目标是开发出一款适合UMPC硬件特点的Linux操作系统,所谓UMPC
Linux。具体而言,即:
1. 系统稳定可靠
2. 兼容UMPC硬件
3. 提供Web浏览器、媒体播放器等应用
4. 快速启动和休眠恢复
本项目自05年10月启动以来,经过一年的开发,开发出世界上第一款支持Intel
UMPC硬件的Linux操作系统,支持摄像头、蓝牙、GPS设备、无线网络、触摸屏等外设,提供WWW浏览器、媒体播放器、GPS导航、电子书阅读器、RSS浏览器、PDF阅读器、即时通讯工具、文件管理器、控制面版、游戏、图片查看器、终端仿真等十余种应用。
UMPC Linux可以运行于任何一款UMPC硬件,如PDA,
手持VoIP设备,媒体播放器等,以其开放的环境、灵活的配置、优秀的性能和多样的应用赢得不少硬件厂商的青睐。目前,UMPC
Linux基本完成,明年计划以OEM方式提供给UMPC硬件厂商,随着UMPC的普及,UMPC
Linux必将具有越来越广阔的应用前景。
二、采用的其他开源项目的技术:
基本系统基于Asianux2.0
窗口环境基于maemo
三、作品简要功能描述及功能清单:
UMPC
Linux的主要功能是提供UMPC所需要的操作系统以及关键应用支持。满足移动用户上网、娱乐、通讯、办公等需求。
具体功能包括:
1. 基本系统
基于Asianux实现,开发、修改、集成了多个UMPC专用驱动,包括摄像头、蓝牙、GPS设备、无线网络、触摸屏等。支持稳定的休眠恢复
(S3/S4),并专门针对电源管理进行核心优化,S3恢复时间可以达到1s-4s,接近Windows的休眠性能。支持屏幕旋转等功能。为上层提供
dbus/gtk/hal等支持。
2. 窗口环境
基于maemo实现,布局和使用习惯适合UMPC的屏幕大小,提供窗口管理器和GUI控件库等。
3. Web浏览器
支持多语言、多页浏览、下载管理、优化浏览、代理连接、书签管理、打印、离线浏览等功能,集成java,
flash, pdf等插件,并开发了基于xine的多媒体插件。
4. 多媒体播放器
支持媒体播放、播放列表管理等功能。可以动态选择多媒体引擎(gstreamer和xine)。
支持刘媒流播放,支持多种多媒体格式:
音频格式:mp3/flac/ogg/au/wav/aac/CD audio/midi
视频格式: video:
wmv8/wmv9/mov/asf/avi/rm/rmvb/flv/divx/mp4/3gp/DVD/VCD/mp2
5. GPS导航
支持googlemap
等地图访问API,支持蓝牙、USB等多种接口GPS设备,支持卫星/道路地图、自动地图下载、GPX数据导入、地图缓存等功能
6. 网络管理器
提供网络连接管理、连接状态监视、自动AP发现、基于profile的网络配置等功能
7. 控制面板
提供触摸屏管理、显示管理、电源管理、日期设置、等功能
8. 其他应用
包括电子书阅读器、RSS浏览器、PDF阅读器、即时通讯工具、文件管理器、游戏、图片查看器、终端仿真、写字板等。
四、类似作品简述:(包括名称,作者,Homepage,是否为开放源码项目等。)
Nokia770是一款类似UMPC的产品,由Nokia公司于05年发布,同样运行Linux操作系统,其中部分代码是开放的。主页是:http://www.nokia.com/770