Description
Integrated CM applications handle data at high rates, with strict timing requirements and often in small "chunks". Conventional operating systems support for program execution and local communication may be non-optimal for such applications. In particular, conventional mechanisms for process scheduling and inter address space communication can add significant overhead for some CM programs. User/kernel interactions, by which user-level programs invoke system functions, are partly responsible for this overhead.
We describe new mechanisms for process scheduling and CM stream communication between virtual address spaces. These mechanisms, split-level scheduling and memory-mapped streams, reduce or eliminate user/kernel interactions by using user/kernel shared memory for exchanging scheduling and communication information. We demonstrate that, compared with conventional mechanisms for process scheduling and stream communication, these new mechanisms can reduce overhead by up to a factor of four.