UNIX network programming
Efficient demultiplexing of incoming TCP packets
SIGCOMM '92 Conference proceedings on Communications architectures & protocols
The importance of non-data touching processing overheads in TCP/IP
SIGCOMM '93 Conference proceedings on Communications architectures, protocols and applications
Performance issues of enterprise level web proxies
SIGMETRICS '97 Proceedings of the 1997 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Continuous profiling: where have all the cycles gone?
Proceedings of the sixteenth ACM symposium on Operating systems principles
Cluster-based scalable network services
Proceedings of the sixteenth ACM symposium on Operating systems principles
EW 7 Proceedings of the 7th workshop on ACM SIGOPS European workshop: Systems support for worldwide applications
Measuring the capacity of a web server
USITS'97 Proceedings of the USENIX Symposium on Internet Technologies and Systems on USENIX Symposium on Internet Technologies and Systems
A hierarchical internet object cache
ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference
Optimistic deltas for WWW latency reduction
ATEC '97 Proceedings of the annual conference on USENIX Annual Technical Conference
Resource containers: a new facility for resource management in server systems
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
Critical path analysis of TCP transactions
Proceedings of the conference on Applications, Technologies, Architectures, and Protocols for Computer Communication
The effects of wide-area conditions on WWW server performance
Proceedings of the 2001 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Critical path analysis of TCP transactions
IEEE/ACM Transactions on Networking (TON)
SEDA: an architecture for well-conditioned, scalable internet services
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
Fast and flexible application-level networking on exokernel systems
ACM Transactions on Computer Systems (TOCS)
Performance issues in WWW servers
IEEE/ACM Transactions on Networking (TON)
Measuring the capacity of a Web server under realistic loads
World Wide Web
Connection management for QoS service on the web
Journal of Network and Computer Applications
Kqueue - A Generic and Scalable Event Notification Facility
Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference
Scalability of Linux Event-Dispatch Mechanisms
Proceedings of the General Track: 2002 USENIX Annual Technical Conference
QoS Performance Improvement for Web Applications
DCW '02 Revised Papers from the 4th International Workshop on Distributed Communities on the Web
Efficient Connection Management for Web Applications
DCW '02 Revised Papers from the 4th International Workshop on Distributed Communities on the Web
Heuristic Connection Management for Improving Server-Side Performance on the Web
OHS-6/SC-2 Proceedings of the 6th International Workshop and 2nd International Workshop on Open Hypertext Systems and Structural Computing
Critical path analysis of TCP transactions
ACM SIGCOMM Computer Communication Review - Workshop on data communication in Latin America and the Caribbean
High-speed I/O: the operating system as a signalling mechanism
NICELI '03 Proceedings of the ACM SIGCOMM workshop on Network-I/O convergence: experience, lessons, implications
User-level DMA extension for now/cluster architectures
CompSysTech '03 Proceedings of the 4th international conference conference on Computer systems and technologies: e-Learning
Algorithms for DMA communications
CompSysTech '04 Proceedings of the 5th international conference on Computer systems and technologies
ECEM: an event correlation based event manager for an I/O-intensive application
Journal of Systems and Software
Scalable packet classification
IEEE/ACM Transactions on Networking (TON)
Performance analysis of TLS Web servers
ACM Transactions on Computer Systems (TOCS)
Architecting Web sites for high performance
Scientific Programming
Making the "box" transparent: system call performance as a first-class result
ATEC '04 Proceedings of the annual conference on USENIX Annual Technical Conference
Acceptable strategies for improving web server performance
ATEC '04 Proceedings of the annual conference on USENIX Annual Technical Conference
TCP offload is a dumb idea whose time has come
HOTOS'03 Proceedings of the 9th conference on Hot Topics in Operating Systems - Volume 9
TPF: TCP Plugged File System for Efficient Data Delivery over TCP
IEEE Transactions on Computers
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
Analyzing the overload behavior of a simple web server
ALS'00 Proceedings of the 4th annual Linux Showcase & Conference - Volume 4
A scalable and explicit event delivery mechanism for UNIX
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
KSEQ: a new scalable synchronous I/O multiplexing mechanism for event-driven applications
ISPA'07 Proceedings of the 5th international conference on Parallel and Distributed Processing and Applications
Enforcing network-wide policies in the presence of dynamic middlebox actions using flowtags
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Hi-index | 0.00 |
UNIX Internet servers with an event-driven architecture often perform poorly under real workloads, even if they perform well under laboratory benchmarking conditions. We investigated the poor performance of event-driven servers. We found that the delays typical in wide-area networks cause busy servers to manage a large number of simultaneous connections. We also observed that the select system call implementation in most UNIX kernels scales poorly with the number of connections being managed by a process. The UNIX algorithm for allocating file descriptors also scales poorly. These algorithmic problems lead directly to the poor performance of event-driven servers. We implemented scalable versions of the select system call and the descriptor allocation algorithm. This led to an improvement of up to 58% in Web proxy and Web server throughput, and dramatically improved the scalability of the system.