U-Net: a user-level network interface for parallel and distributed computing
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Exokernel: an operating system architecture for application-level resource management
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Extensibility safety and performance in the SPIN operating system
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
ASHs: application-specific handlers for high-performance messaging
IEEE/ACM Transactions on Networking (TON)
Efficient user-space protocol implementations with QoS guarantees using real-time upcalls
IEEE/ACM Transactions on Networking (TON)
Proceedings of the seventeenth ACM symposium on Operating systems principles
From system F to typed assembly language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Application performance in the QLinux multimedia operating system
MULTIMEDIA '00 Proceedings of the eighth ACM international conference on Multimedia
EMP: zero-copy OS-bypass NIC-driven gigabit ethernet message passing
Proceedings of the 2001 ACM/IEEE conference on Supercomputing
The Virtual Interface Architecture
IEEE Micro
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
Kqueue - A Generic and Scalable Event Notification Facility
Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference
QoS Safe' Kernel Extensions for Real-Time Resource Management
ECRTS '02 Proceedings of the 14th Euromicro Conference on Real-Time Systems
FARA ¾ A Framework for Adaptive Resource Allocation in Complex Real-Time Systems
RTAS '98 Proceedings of the Fourth IEEE Real-Time Technology and Applications Symposium
End-Host Architecture for QoS-Adaptive Communication
RTAS '98 Proceedings of the Fourth IEEE Real-Time Technology and Applications Symposium
Practical Solutions for QoS-Based Resource Allocation
RTSS '98 Proceedings of the IEEE Real-Time Systems Symposium
Implementing a General Real-Time Scheduling Framework in the RED-Linux Real-Time Kernel
RTSS '99 Proceedings of the 20th IEEE Real-Time Systems Symposium
Adaptive Routing of QoS-Constrained Media Streams over Scalable Overlay Topologies
RTAS '04 Proceedings of the 10th IEEE Real-Time and Embedded Technology and Applications Symposium
An efficient end-host architecture for cluster communication
CLUSTER '04 Proceedings of the 2004 IEEE International Conference on Cluster Computing
User-level resource-constrained sandboxing
WSS'00 Proceedings of the 4th conference on USENIX Windows Systems Symposium - Volume 4
A comparison of OS extension technologies
ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference
A scalable and explicit event delivery mechanism for UNIX
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
Hi-index | 0.00 |
In order to eliminate the costs of proprietary systems and special purpose hardware, many real-time and embedded computing platforms are being built on commodity operating systems and generic hardware. Unfortunately, many such systems are ill-suited to the low-latency and predictable timing requirements of real-time applications. This article, therefore, focuses on application-specific service technologies for low-cost commodity operating systems and hardware, so that real-time service guarantees can be met. We describe contrasting methods to deploy first-class services on commodity systems that are dispatched with low latency and execute asynchronously according to bounds on CPU, memory, and I/O device usage. Specifically, we present a “user-level sandboxing” (ULS) mechanism that relies on hardware protection to isolate application-specific services from the core kernel. This approach is compared with a hybrid language and runtime protection scheme, called SafeX, that allows untrusted services to be dynamically linked and loaded into a base kernel. SafeX and ULS have been implemented on commodity Linux systems. Experimental results have shown—that both approaches are capable of reducing service violations (and, hence, better qualities of service) for real-time tasks, compared to traditional user-level methods of service deployment in process-private address spaces. ULS imposes minimal additional overheads on service dispatch latency compared to SafeX, with the advantage that it does not require application-specific services to execute in the trusted kernel domain. As evidence of the potential capabilities of ULS, we show how a user-level networking stack can be implemented to avoid data copying via the kernel and allow packet processing without explicit process scheduling. This improves throughput and reduces jitter.