高级检索
    龚奕利, 雷迎春, 张 文, 吴产乐, 张国安. MEANS:基于微线程结构的网络服务器[J]. 计算机研究与发展, 2010, 47(8): 1466-1480.
    引用本文: 龚奕利, 雷迎春, 张 文, 吴产乐, 张国安. MEANS:基于微线程结构的网络服务器[J]. 计算机研究与发展, 2010, 47(8): 1466-1480.
    Gong Yili, Lei Yingchun, Zhang Wen, Wu Chanle, Zhang Guo'an. MEANS: A Micro-thrEad Architecture for Network Servers[J]. Journal of Computer Research and Development, 2010, 47(8): 1466-1480.
    Citation: Gong Yili, Lei Yingchun, Zhang Wen, Wu Chanle, Zhang Guo'an. MEANS: A Micro-thrEad Architecture for Network Servers[J]. Journal of Computer Research and Development, 2010, 47(8): 1466-1480.

    MEANS:基于微线程结构的网络服务器

    MEANS: A Micro-thrEad Architecture for Network Servers

    • 摘要: Internet应用需要高性能的网络服务器体系结构.提出MEANS结构,这是一种针对Internet应用的网络服务器软件体系结构.通过引入一种新的线程抽象——微线程,MEANS向上层的程序员提供微线程环境,并通过传统线程并发访问下层操作系统的服务,而微线程的管理和调度则使用事件驱动机制,从而综合多线程和事件驱动结构的各自优点.此外,MEANS还具备通用性、扩展性、健壮性和适应性.经初步验证,在并发策略方面,MEANS具有相似于事件驱动结构的特性;在I/O策略方面,MEANS具有比多线程结构更好的I/O访问特性.

       

      Abstract: Internet applications require high-performance network server architecture. The authors propose a software architecture for network servers, MEANS (micro-thread architecture for network server), which aims at supporting Internet applications. By introducing a new thread abstract, micro-thread, MEANS upwardly provides a multi-micro-thread environment to programmers, and downwardly accesses the OS services concurrently with traditional threads. MEANS adopts the event-driven mechanism to manage and schedule the micro-threads, which takes advantages of both multi-threaded and event-driven architecture. Moreover, MEANS is general purpose, scalable, robust and adaptable. By preliminary evaluation, in the terms of the concurrence policy, MEANS is similar to the event-driven architecture and outperforms the multi-threaded architecture in I/O accessing. In particular, when the accessed file set is stored in the memory, the throughput of Hammer(2) server based on MEANS is 37.22% more than Apache based on multi-thread architecture, and 34.88% more than LightTPD based on single thread event-driven architecture, and 35.56% more than flash based on AMPED architecture, and is equal with Haboob based on SEDA architecture. While the accessed file set is stored on the hard disk, Hammer(2) increases the throughput by 191.35% compared with Apache, and 131.3% compared with LightTPD, and 904.16% compared with flash, and 45.6% compared with Haboob.

       

    /

    返回文章
    返回