TAILIEUCHUNG - Kqueue: A generic and scalable event notification facility

Applications running on a UNIX platform need to be no- tified when some activity occurs on a socket or other de- scriptor, and this is traditionally done with the select() or poll() system calls. However, it has been shown that the performance of these calls does not scale well with an in- creasing number of descriptors. These interfaces are also limited in the respect that they are unable to handle other potentially interesting activities that an application might be interested in, these might include signals, file system changes, and AIO completions. This paper presents a generic event delivery mechanism, which allows an ap- plication to select from a wide range of. | Kqueue A generic and scalable event notification facility Jonathan Lemon jlemon@ FreeBSD Project Abstract Applications running on a UNIX platform need to be notified when some activity occurs on a socket or other descriptor and this is traditionally done with the select or poll system calls. However it has been shown that the performance of these calls does not scale well with an increasing number of descriptors. These interfaces are also limited in the respect that they are unable to handle other potentially interesting activities that an application might be interested in these might include signals file system changes and AIO completions. This paper presents a generic event delivery mechanism which allows an application to select from a wide range of event sources and be notified of activity on these sources in a scalable and efficient manner. The mechanism may be extended to cover future event sources without changing the application interface. 1 Introduction Applications are often event driven in that they perform their work in response to events or activity external to the application and which are subsequently delivered in some fashion. Thus the performance of an application often comes to depend on how efficiently it is able to detect and respond to these events. FreeBSD provides two system calls for detecting activity on file descriptors these are poll and select . However neither of these calls scale very well as the number of descriptors being monitored for events becomes large. A high volume server that intends to handle several thousand descriptors quickly finds these calls becoming a bottleneck leading to poor performance 1 2 10 . The set of events that the application may be interested in is not limited to activity on an open file descriptor. An application may also want to know when an asynchronous I O aio request completes when a signal is delivered to the application when a file in the filesystem changes in some fashion or when a .

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.