Skip to Main Content
The complexity of real-time systems is growing extremely rapidly, as they move from isolated devices to multilevel networked systems. Traditional methodologies for developing and managing these systems are not scaling to meet the requirements of a new generation of distributed applications. While developers of complex real-time applications are looking to service-oriented architecture to address their needs for ease of development and flexibility of integration, current software infrastructures for service-oriented applications do not address the issue of predictable latency for the applications they host. In this paper, we present Pulsar, a resource-control architecture for managing the end-to-end latency of a set of distributed, time-critical applications. The primary entity of Pulsar is called a controller, which regulates an aspect of resource allocation or scheduling policy. Controllers utilize policy configurations, which may include latency targets to be achieved or resource allocations to be honored, and interact with resource allocators and schedulers (e.g., thread schedulers, memory allocators, or bandwidth reservation mechanisms) to effect local policy. Controllers also provide feedback on how well they are executing a policy. Pulsar includes an application model which captures resource-sensitive behavior and requirements and is independent of high-level programming models and application programming interfaces.
Note: The Institute of Electrical and Electronics Engineers, Incorporated is distributing this Article with permission of the International Business Machines Corporation (IBM) who is the exclusive owner. The recipient of this Article may not assign, sublicense, lease, rent or otherwise transfer, reproduce, prepare derivative works, publicly display or perform, or distribute the Article.