Analysis and simulation of a fair queueing algorithm
SIGCOMM '89 Symposium proceedings on Communications architectures & protocols
Simple, fast, and practical non-blocking and blocking concurrent queue algorithms
PODC '96 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
The design and performance of a real-time CORBA event service
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment
Journal of the ACM (JACM)
WCET Analysis of Probabilistic Hard Real-Time Systems
RTSS '02 Proceedings of the 23rd IEEE Real-Time Systems Symposium
The performance analysis of linux networking - Packet receiving
Computer Communications
SMILE: distributed middleware for event stream processing
Proceedings of the 6th international conference on Information processing in sensor networks
How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs
IEEE Transactions on Computers
A federated peer-to-peer network game architecture
IEEE Communications Magazine
Responsive systems: an introduction
IBM Systems Journal
Hi-index | 0.00 |
Conventional messaging technologies have been designed for large transactional systems, making the prediction and calibration of their delay impractical. In this paper, we present a minimal messaging system, implemented in Java™, that is designed to enable the analysis, modeling, and calibration of the expected performance of these technologies. We describe the algorithms and protocols that underlie this messaging system, show how an analysis can be performed, and give the actual measured performance figures. We show that the system achieves a throughput of more than 100,000 messages per second with less than 120-millisecond maximum latency, in the test environment. At 10,000 messages per second, a maximum latency of 5 milliseconds is measured. The algorithms make use of lock-free data structures, which allow the throughput to scale on multi-core systems.