TL;DR: In this article, a system for optimizing response time to events or representations thereof waiting in a queue has a first server having access to the queue; a software application running on the first server; and a second server accessible from the firstserver, the second server containing rules governing the optimization.
Abstract: A system for optimizing response time to events or representations thereof waiting in a queue has a first server having access to the queue; a software application running on the first server; and a second server accessible from the first server, the second server containing rules governing the optimization. In a preferred embodiment, the software application at least periodically accesses the queue and parses certain ones of events or tokens in the queue and compares the parsed results against rules accessed from the second server in order to determine a measure of disposal time for each parsed event wherein if the determined measure is sufficiently low for one or more of the parsed events, those one or more events are modified to a reflect a higher priority state than originally assigned enabling faster treatment of those events resulting in relief from those events to the queue system load.
TL;DR: In this article, a logical partitioned data processing system for providing an aliased queue pair for each logical partition for the single general services management queue pair that exists within a physical host channel adapter is described.
Abstract: A method, system, and computer program product are disclosed within a logically partitioned data processing system for providing an aliased queue pair for each logical partition for the single general services management queue pair that exists within a physical host channel adapter. Packets intended for the logical ports are received at the physical port. Multiple partitions exist within the data processing system. When one of these partitions needs to use one of the logical ports, a queue pair is selected. The queue pair is then associated with the logical port. The queue pair is configured as an aliased general services management queue pair and is used by the partition as if the aliased queue pair were the single general services management queue pair provided in the channel adapter.
TL;DR: In this article, an apparatus for protecting legitimate traffic from DoS and DDoS attacks has a high priority (505) and a low-priority (506) queue, where a queue coordinator updates the queue information table based on a load of a provided STT (Source-based Traffic Trunk) service queue information of a specific packet.
Abstract: An apparatus for protecting legitimate traffic from DoS and DDoS attacks has a high-priority (505) and a low-priority (506) queue. Besides, a queue information table (402) has STT (Source-based Traffic Trunk) service queue information of a specific packet. A queue coordinator (502) updates the queue information table (502) based on a load of a provided STT and a load of the high-priority queue (505). A packet classifier (504) receives a packet from the network access unit (508), investigates an STT service queue of the packet from the queue information table (502), selectively transfers the packet to the high-priority (505) or the low-priority (506) queue and provides information on the packet to the queue coordinator (503). A buffer (507) buffers outputs of the high-priority (505) and the low-priority (506) queue and provides outputs to the network (509) to be protected.
TL;DR: In this article, an application programming interface initiates a request to the macro queue (18) to obtain a message stored in one of the queues (30's) without identifying a particular queue.
Abstract: Managing messages by storing messages in queues (30’s) and providing a macro queue (18) that is associated with the queues An application programming interface is initiates a request to the macro queue (18) to obtain a message stored in one of the queues (30’s) without identifying a particular queue The macro queue (18) selects a queue from among the queues (30’s), and then selects a message from a queue from the selected queue The macro queue (18) may select a message from a queue based on queue priority or queue service time quality A remote queue (14) proxy is used to establish a communication link between a remote application programming interface and the macro queue (18) The queues (30’s) and the macro queue (18) are implemented using object oriented programming principles
TL;DR: In this article, an object-oriented system for managing multiple media types in a communication center environment has a multimedia queuing system, a processor for processing events in the queue, an interaction server for selecting media type or event types, a resource manager for reporting availability of a resource access point, and a data store for storing client information about media types available to the client and historical information about success of past use of those media types.
Abstract: An object-oriented system for managing multiple media types in a communication center environment has a multimedia queuing system, a processor for processing events in the queue, an interaction server for selecting media type or event types, a resource manager for reporting availability of a resource access point, and a data store for storing client information about media types available to the client and historical information about success of past use of those media types. In a preferred application, the system processes and routes incoming events of known media type to access points defined as systems or agents based in part on media channel availability of the access point, and wherein the system selects a media channel or channels for certain events in queue that are not pre-dedicated as specific media type events but are generated outbound or internal proactive contact events. For proactive contact events, the system automatically selects a media channel for each event based on a combination of set preferences and predictions based on historical channel information relating to success channel connections to that client.
TL;DR: This work considers a system in which users with diverse round-trip delays and fairness requirements access a general topology network and shows that, by choosing the speed of adaptation at the sources and the links appropriately, one can guarantee the stability of the network.
Abstract: Virtual queue-based active queue management schemes have been proposed to provide low-loss, low-delay service in the Internet. In an earlier work, we had proposed a particular scheme called the adaptive virtual queue (AVQ) algorithm where the capacity of the virtual queue is adapted to the traffic conditions to achieve a desired level of utilization in the network. Here, we study the choice of the parameters of the congestion-controllers at the sources and the AVQ scheme at the links that is required to ensure stability. In particular, we consider a system in which users with diverse round-trip delays and fairness requirements access a general topology network. For this system, we show that, by choosing the speed of adaptation at the sources and the links appropriately, one can guarantee the stability of the network.
TL;DR: In this paper, a method and system for servicing data traffic in wireless local area networks (such as IEEE 802.11 networks) in multiple queues having different levels of priority is presented.
Abstract: A method and system for servicing data traffic in wireless local area networks (such as IEEE 802.11 networks) in multiple queues having different levels of priority. These queues include at least a low priority queue for ‘best effort’ traffic, a medium priority queue for streaming data such as video pictures, and a high priority queue for voice traffic, and are serviced in order of decreasing priority. To prevent the ‘best effort’ traffic in the low priority queue from being ‘starved’, a bit is set to indicate when such a condition is likely to occur, and the low priority queue is served first when that bit has been set. Alternatively, low and medium priority traffic is handled on a weighted round-robin basis, and high priority traffic is given strict priority over both. Transmit and receive queues are handled on a rotating priority basis.
TL;DR: The buffered message queue architecture as mentioned in this paper provides all the functionality of a persistent publish-subscriber messaging system, without ever having to store the messages in persistent storage, and provides better performance and scalability since no persistent operations are needed and no UNDO/REDO logs need to be maintained.
Abstract: A buffered message queue architecture for managing messages in a database management system is disclosed. A “buffered message queue” refers to a message queue implemented in a volatile memory, such as a RAM. The volatile memory may be a shared volatile memory that is accessible by a plurality of processes. The buffered message queue architecture supports a publish and subscribe communication mechanism, where the message producers and message consumers may be decoupled from and independent of each other. The buffered message queue architecture provides all the functionality of a persistent publish-subscriber messaging system, without ever having to store the messages in persistent storage. The buffered message queue architecture provides better performance and scalability since no persistent operations are needed and no UNDO/REDO logs need to be maintained. Messages published to the buffered message queue are delivered to all eligible subscribers at least once, even in the event of failures, as long as the application is “repeatable.” The buffered message queue architecture also includes management mechanisms for performing buffered message queue cleanup and also for providing unlimited size buffered message queues when limited amounts of shared memory are available. The architecture also includes “zero copy” buffered message queues and provides for transaction-based enqueue of messages.
TL;DR: An improved active queue management scheme which dynamically changes its threshold settings as the number of connections and system load changes is described, which allows network devices to effectively control packet losses and TCP timeouts while maintaining high link utilization.
Abstract: Most active queue management schemes maintain an average of the queue length which they use together with a number of queue thresholds to detect congestion. However, the setting of the queue thresholds is problematic because the required buffer size for good sharing among TCP connections is dependent on the number of TCP connections using the buffer. This paper describes an improved active queue management scheme which dynamically changes its threshold settings as the number of connections and system load changes. This technique allows network devices to effectively control packet losses and TCP timeouts while maintaining high link utilization.
TL;DR: In this article, the priority arbitration of queuing elements is made according to a two-level hierarchy to increase the speed of priority queue management and therefore the switching throughput, where the priority of the packets is represented by queuing element having a priority level determined by a weighted fair queue algorithm and its variants.
Abstract: A shared memory switch architecture provides per-flow queuing that achieves high memory bandwidth and makes efficient use of memory. The memory of the memory switch is dynamically allocated to each port based on real-time traffic conditions. The priority of the packets is represented by queuing elements having a priority level determined by a weighted fair queue algorithm and its variants. The priority arbitration of queuing elements is made according to a two level hierarchy to increase the speed of priority queue management and therefore the switching throughput.
TL;DR: In this paper, a two-stage rate shaping and scheduling system and method is implemented to control the flow of traffic to at least one output interface, which involves initially queuing incoming packets into type-specific queues and applying individual rate shaping rules to each queue.
Abstract: A two stage rate shaping and scheduling system and method is implemented to control the flow of traffic to at least one output interface. The system and method involves initially queuing incoming packets into type-specific queues and applying individual rate shaping rules to each queue. A first stage arbitration is performed to determine how traffic is queued from the type-specific queues to interface-specific queues. Packets that win arbitration and pass the applied rate shaping rules are queued in interface-specific queues. Rate shaping rules are applied to the interface-specific queues. The interface-specific queues are further distinguished by priority and priority-specific and interface-specific rate shaping rules are applied to each queue. A second stage arbitration is performed to determine how different priority traffic that is targeting the same output interface is dequeued in response to interface-specific requests.
TL;DR: In this paper, a computer system and method for distributing calls across multiple call center locations is described, which includes a plurality of call queue servers, a queue monitor server, and a majority of agent workstations.
Abstract: A computer system and method is disclosed that includes a call queue server that receives incoming calls and routes the calls to a telephone at the agent's workstation only after the agent accepts the request to take the call. A system and method is disclosed that includes a plurality of call queue servers, a queue monitor server, and a plurality of agent workstations, for distributing calls across multiple call center locations. Each call queue server receiving an incoming call sends a notification to the queue monitor server that in turn notifies each of the remaining call queue servers about the call. Each call queue server is thus able to maintain a current view of all activity across multiple call centers.
TL;DR: In this article, a queue management system (QMS) uses presence information from a presence system to efficiently match requestors of information with qualified resources capable of providing the necessary response.
Abstract: The present invention allows a queue management system (QMS) to use presence information from a presence system to efficiently match requestors of information with qualified resources capable of providing the necessary response. The resources for information may be humans or automated systems, which may be configured to facilitate communications with the requestors using different types of communication technologies. Further, these resources may be associated with different skill sets, experience, or areas of expertise. Thus, the resources may provide different roles, and any given resource may provide multiple roles, in addition to facilitating communications using different mediums.
TL;DR: In this article, a shared work queue in shared memory is also disclosed, where the second virtual machine schedules work items from the second work queue for execution by the first virtual machine.
Abstract: A system, computer program product and method for dispatching work items in a virtual machine operating system. The virtual machine operating system defines first and second virtual machines. First and second work queues are created in a memory. The first virtual machine assigns a first work item to the first work queue and a second work item to the second work queue. The first virtual machine schedules work items from the first work queue for execution by the first virtual machine. The first and second work items originate from the first virtual machine. The first and second work queues are directly accessible by the first virtual machine. The second virtual machine assigns a third work item to the first work queue and a fourth work item to the second work queue. The second virtual machine schedules work items from the second work queue for execution by the second virtual machine. The third and fourth work items originate from the second virtual machine. The first and second work queues are directly accessible by the second virtual machine. The first virtual machine is not able to schedule work items from the second work queue, and the second virtual machine is not able to schedule work items from the first work queue. A shared work queue in shared memory is also disclosed.
TL;DR: In this article, the ABA problem is solved by requiring that the next pointer of the tail node in each queue point to a "magic number" unique to the particular queue.
Abstract: Multiple non-blocking FIFO queues are concurrently maintained using atomic compare-and-swap (CAS) operations. In accordance with the invention, each queue provides direct access to the nodes stored therein to an application or thread, so that each thread may enqueue and dequeue nodes that it may choose. The prior art merely provided access to the values stored in the node. In order to avoid anomalies, the queue is never allowed to become empty by requiring the presence of at least a dummy node in the queue. The ABA problem is solved by requiring that the next pointer of the tail node in each queue point to a “magic number” unique to the particular queue, such as the pointer to the queue head or the address of the queue head, for example. This obviates any need to maintain a separate count for each node.
TL;DR: The adoption of a fuzzy proportional integral (FPI) controller as an active queue manager for Internet routers is proposed and the results of the comparison with random early detection (RED), tail drop, and PI controller are presented.
Abstract: Active queue management (AQM) policies are those policies of router queue management that allow for the detection of network congestion, the notification of such occurrences to the hosts on the network borders, and the adoption of a suitable control policy. This paper proposes the adoption of a fuzzy proportional integral (FPI) controller as an active queue manager for Internet routers. The analytical design of the proposed FPI controller is carried out in analogy with a proportional integral (PI) controller, which recently has been proposed for AQM. A genetic algorithm is proposed for tuning of the FPI controller parameters with respect to optimal disturbance rejection. In the paper the FPI controller design methodology is described and the results of the comparison with random early detection (RED), tail drop, and PI controller are presented.
TL;DR: In this article, the authors propose a multiprocessor system which prevents calling losses at the time of recovery, simplifies a recovery process and increases the speed of recovery in the event of failure when a plurality of processes access a shared memory, and provides system reliability, and flexibility derived from a buffer given a large working capacity.
Abstract: PROBLEM TO BE SOLVED: To provide a multiprocessor system which prevents calling losses at the time of recovery, simplifies a recovery process and increases the speed of recovery in the event of failure when a plurality of processes access a shared memory, and which provides system reliability, and flexibility derived from a buffer given a large working capacity. SOLUTION: In the multiprocessor system, the shared memory is provided with a queue management information table 7 which retains queue management information consisting of a plurality of information elements specifying both the magnitude and position of a resource management queue retaining call information about communication calls gained by each processor, and a memo recording part 8 (updated history information recording area) which records history information consisting of a plurality of update information elements for writing the queue management information on the queue management information table 7. COPYRIGHT: (C)2004,JPO&NCIPI
TL;DR: In this article, the authors propose a Virtual Queuing Support System (VQSS) for optimizing end-user service for clients waiting for a service request to be responded and who are registered in various virtual queues of the VQSS.
Abstract: A method and a Virtual Queuing Support System (VQSS) for optimizing end-user service for clients waiting for a service request to be responded and who are registered in various virtual queues of the VQSS. End-users register in a virtual queue of the VQSS, which monitors the status of the queues and the status of the service agents. When a parameter such as the number of users in a queue or the expected waiting time exceeds a pre-set threshold, the VQSS reassigns end-users from the problematic queue, and/or re-assigns service agents from other queues to the problematic queue. The VQSS comprises a memory storing the virtual queues, and a processor for managing the virtual queues.
TL;DR: In this article, the authors proposed a dynamic bandwidth allocation and queue management algorithm to guarantee that a length of a grant issued by an OLT will match precisely the count of bytes to be transmitted by an ONU.
Abstract: In a passive optical network, dynamic bandwidth allocation and queue management methods and algorithms, designed to avoid fragmentation loss, guarantee that a length of a grant issued by an OLT will match precisely the count of bytes to be transmitted by an ONU. The methods include determining an ONU uplink transmission egress order based on a three-stage test, and various embodiments of methods for ONU report threshold setting.
TL;DR: In this paper, a closed-loop control scheme was proposed to promote fair bandwidth allocation in the presence of a mix of responsive and non-responsive flows, where at least one adjustment parameter for each flow was varied in dependence on the error signal in such a manner as to reduce the aforementioned deviation.
Abstract: Methods and apparatus are provided for controlling flow rates of a plurality of data packet flows into a queue 4 corresponding to a resource 3 of a network device 1. The flows comprise a set 7 of non-responsive flows, and a set 8 of other flows which may comprise responsive flows and/or flows whose responsiveness is unknown. The flow rates are managed in accordance with a queue management scheme such that adjustments are made to each flow rate in dependence on excess bandwidth in the resource, the amounts of the adjustments being dependent on one or more adjustment parameters for each flow. An error signal is generated based on the deviation from a desired allocation ratio of the ratio of the total flow rates into the queue 4 for the sets of flows 7, 8. At least one adjustment parameter for at least one flow is then varied in dependence on the error signal in such a manner as to reduce the aforementioned deviation. A closed-loop control scheme thus operates in conjunction with the underlying queue management scheme to promote fair bandwidth allocation even in the presence of a mix of responsive and non-responsive flows.
TL;DR: The buffered message queue architecture as mentioned in this paper provides all the functionality of a persistent publish-subscriber messaging system, without ever having to store the messages in persistent storage, and provides better performance and scalability since no persistent operations are needed and no UNDO/REDO logs need to be maintained.
Abstract: A buffered message queue architecture for managing messages in a database management system is disclosed. A “buffered message queue” refers to a message queue implemented in a volatile memory, such as a RAM. The volatile memory may be a shared volatile memory that is accessible by a plurality of processes. The buffered message queue architecture supports a publish and subscribe communication mechanism, where the message producers and message consumers may be decoupled from and independent of each other. The buffered message queue architecture provides all the functionality of a persistent publish-subscriber messaging system, without ever having to store the messages in persistent storage. The buffered message queue architecture provides better performance and scalability since no persistent operations are needed and no UNDO/REDO logs need to be maintained. Messages published to the buffered message queue are delivered to all eligible subscribers at least once, even in the event of failures, as long as the application is “repeatable.” The buffered message queue architecture also includes management mechanisms for performing buffered message queue cleanup and also for providing unlimited size buffered message queues when limited amounts of shared memory are available. The architecture also includes “zero copy” buffered message queues and provides for transaction-based enqueue of messages.
TL;DR: In this paper, the task queue manager manages the task queues corresponding to virtual devices and assigns the task based upon which SPU is least busy as well as whether one of the SPUs recently performed the virtual device function.
Abstract: A task queue manager manages the task queues corresponding to virtual devices. When a virtual device function is requested, the task queue manager determines whether an SPU is currently assigned to the virtual device task. If an SPU is already assigned, the request is queued in a task queue being read by the SPU. If an SPU has not been assigned, the task queue manager assigns one of the SPUs to the task queue. The queue manager assigns the task based upon which SPU is least busy as well as whether one of the SPUs recently performed the virtual device function. If an SPU recently performed the virtual device function, it is more likely that the code used to perform the function is still in the SPU's local memory and will not have to be retrieved from shared common memory using DMA operations.
TL;DR: The buffered message queue architecture as discussed by the authors provides all the functionality of a persistent publish-subscriber messaging system, without ever having to store the messages in persistent storage, and provides better performance and scalability since no persistent operations are needed and no UNDO/REDO logs need to be maintained.
Abstract: A buffered message queue architecture for managing messages in a database management system is disclosed. A “buffered message queue” refers to a message queue implemented in a volatile memory, such as a RAM. The volatile memory may be a shared volatile memory that is accessible by a plurality of processes. The buffered message queue architecture supports a publish and subscribe communication mechanism, where the message producers and message consumers may be decoupled from and independent of each other. The buffered message queue architecture provides all the functionality of a persistent publish-subscriber messaging system, without ever having to store the messages in persistent storage. The buffered message queue architecture provides better performance and scalability since no persistent operations are needed and no UNDO/REDO logs need to be maintained. Messages published to the buffered message queue are delivered to all eligible subscribers at least once, even in the event of failures, as long as the application is “repeatable.” The buffered message queue architecture also includes management mechanisms for performing buffered message queue cleanup and also for providing unlimited size buffered message queues when limited amounts of shared memory are available. The architecture also includes “zero copy” buffered message queues and provides for transaction-based enqueue of messages.
TL;DR: In this paper, a flow control method and system including an algorithm for deciding to transmit an arriving packet into a processing queue or to discard it, or in the case of instructions or packets that must not be discarded, was presented.
Abstract: A flow control method and system including an algorithm for deciding to transmit an arriving packet into a processing queue or to discard it, or, in the case of instructions or packets that must not be discarded, a similar method and system for deciding at a service event to transmit an instruction or packet into a processing queue or to skip the service event. The transmit probability is increased or decreased in consideration of minimum and maximum limits for each flow, aggregate limits for sets of flows, relative priority among flows, queue occupancy, and rate of change of queue occupancy. The effects include protection of flows below their minimum rates, correction of flows above their maximum rates, and, for flows between minimum and maximum rates, reduction of constituent flows of an aggregate that is above its aggregate maximum. Practice of the invention results in low queue occupancy during steady congestion.
TL;DR: The buffered message queue architecture as discussed by the authors provides all the functionality of a persistent publish-subscriber messaging system, without ever having to store the messages in persistent storage, and provides better performance and scalability since no persistent operations are needed and no UNDO/REDO logs need to be maintained.
Abstract: A buffered message queue architecture for managing messages in a database management system is disclosed. A “buffered message queue” refers to a message queue implemented in a volatile memory, such as a RAM. The volatile memory may be a shared volatile memory that is accessible by a plurality of processes. The buffered message queue architecture supports a publish and subscribe communication mechanism, where the message producers and message consumers may be decoupled from and independent of each other. The buffered message queue architecture provides all the functionality of a persistent publish-subscriber messaging system, without ever having to store the messages in persistent storage. The buffered message queue architecture provides better performance and scalability since no persistent operations are needed and no UNDO/REDO logs need to be maintained. Messages published to the buffered message queue are delivered to all eligible subscribers at least once, even in the event of failures, as long as the application is “repeatable.” The buffered message queue architecture also includes management mechanisms for performing buffered message queue cleanup and also for providing unlimited size buffered message queues when limited amounts of shared memory are available. The architecture also includes “zero copy” buffered message queues and provides for transaction-based enqueue of messages.
TL;DR: The buffered message queue architecture as discussed by the authors provides all the functionality of a persistent publish-subscriber messaging system, without ever having to store the messages in persistent storage, and provides better performance and scalability since no persistent operations are needed and no UNDO/REDO logs need to be maintained.
Abstract: A buffered message queue architecture for managing messages in a database management system is disclosed. A “buffered message queue” refers to a message queue implemented in a volatile memory, such as a RAM. The volatile memory may be a shared volatile memory that is accessible by a plurality of processes. The buffered message queue architecture supports a publish and subscribe communication mechanism, where the message producers and message consumers may be decoupled from and independent of each other. The buffered message queue architecture provides all the functionality of a persistent publish-subscriber messaging system, without ever having to store the messages in persistent storage. The buffered message queue architecture provides better performance and scalability since no persistent operations are needed and no UNDO/REDO logs need to be maintained. Messages published to the buffered message queue are delivered to all eligible subscribers at least once, even in the event of failures, as long as the application is “repeatable.” The buffered message queue architecture also includes management mechanisms for performing buffered message queue cleanup and also for providing unlimited size buffered message queues when limited amounts of shared memory are available. The architecture also includes “zero copy” buffered message queues and provides for transaction-based enqueue of messages.
TL;DR: Resource allocation aware processing of requests for media resources is disclosed in this article, where a queue is defined and a media resource is allocated to the queue, and the media resource request is associated with the queue.
Abstract: Resource allocation aware processing of requests for media resources is disclosed. A queue is defined. A media resource is allocated to the queue. A media resource request is associated with the queue.
TL;DR: In this paper, a queuing architecture and a method for scheduling disk drive access requests in a video server is presented, which employs a controlled admission policy that determines how a new user is assigned to a specific disk drive in a disk drive array.
Abstract: A queuing architecture and method for scheduling disk drive access requests in a video server. The queuing architecture employs a controlled admission policy that determines how a new user is assigned to a specific disk drive in a disk drive array. The queuing architecture includes, for each disk drive, a first queue for requests from users currently receiving information from the server, and a second queue for all other disk access requests, as well as a queue selector selecting a particular first queue or second queue for enqueuing a request based on the controlled admission policy. The controlled admission policy defines a critical time period such that if a new user request can be fulfilled without causing a steady-state access request for a particular disk drive to miss a time deadline, the new user request is enqueued in the second queue of the particular disk drive; otherwise, the controlled admission policy enqueues the new user request in a second queue of another disk drive.
TL;DR: Disclosed as mentioned in this paper is a queue based multi-level active queue management with drop precedence differentiation method and apparatus which uses queue size information for congestion control, which provides for a lower complexity in parameter configuration and greater ease of configuration over a wide range of network conditions.
Abstract: Disclosed is a queue based multi-level Active Queue Management with drop precedence differentiation method and apparatus which uses queue size information for congestion control. The method provides for a lower complexity in parameter configuration and greater ease of configuration over a wide range of network conditions. A key advantage is a greater ability to maintain stabilized network queues, thereby minimizing the occurrences of queue overflows and underflows, and providing high system utilization.
TL;DR: In this article, the task queue manager manages the task queues corresponding to virtual devices and assigns the task based upon which SPU is least busy as well as whether one of the SPUs recently performed the virtual device function.
Abstract: A task queue manager manages the task queues corresponding to virtual devices. When a virtual device function is requested, the task queue manager determines whether an SPU is currently assigned to the virtual device task. If an SPU is already assigned, the request is queued in a task queue being read by the SPU. If an SPU has not been assigned, the task queue manager assigns one of the SPUs to the task queue. The queue manager assigns the task based upon which SPU is least busy as well as whether one of the SPUs recently performed the virtual device function. If an SPU recently performed the virtual device function, it is more likely that the code used to perform the function is still in the SPU's local memory and will not have to be retrieved from shared common memory using DMA operations.