摘要:
Fine granularity exchange level load balancing may be performed in a device in a storage area network in order to ensure that processors in a multi-core environment are not overloaded. This may be accomplished by assigning input/outputs relating to a particular exchange to a specific processor, and maintaining that association so that subsequent related input/outputs are handled by the same processor. In this process, the system may first determine if a received IO is new. If so, then it may assign the IO to a particular data path processor and create a context corresponding to the IO and the processor, as well as to the type of the non-command frame. Subsequently, an event may be received corresponding to the IO, which may then be forwarded to the processor assigned to the IO.
摘要:
In one embodiment, a solution is provided wherein a lock manager is kept moving among multiple cores or processors in a multi-core or multi-processor environment. By “hopping” the lock manager from processor to processor, a bottleneck at any of the processors is prevented. The frequency of movement may be based on, for example, a counter that counts the number of input/outputs handled by the lock manager and moves the lock manager to a different processor once a determined threshold is met. In another embodiment of the present invention, the frequency of the movement between processors may be based on a time that counts the amount of time the lock manager has been operating on the processor and moves the lock manager to a different processor once a predetermined time is reached.
摘要:
Support for virtualization in a storage area networks may be provided using a variety of techniques. In one embodiment of the present invention, exchange level load balancing may be provided by determining if input/outputs (IOs) received by a device are new. If a particular IO is new, the IO may be assigned to a particular data path processor and an context may be created corresponding to the IO and to the processor. Then, when an event corresponding to the IO is received, the event may be forwarded to the processor assigned to the IO.
摘要:
In one embodiment, a solution is provided wherein a minimum and/or maximum bandwidth may be guaranteed for specific flows. These guarantees can be associated to various levels of granularity, such as target (T), target-Logical Unit Number (LUN) coupling (TL), initiator-target-LUN coupling (ITL), and initiator-target coupling (IT). This may be accomplished by rate limiting frames in the storage area network based upon quality of service information provided by a user. As such, the traffic can be shaped in a way that guarantees requested levels of service without dropping frames.
摘要:
In one embodiment, a solution is provided wherein a lock manager is kept moving among multiple cores or processors in a multi-core or multi-processor environment. By “hopping” the lock manager from processor to processor, a bottleneck at any of the processors is prevented. The frequency of movement may be based on, for example, a counter that counts the number of input/outputs handled by the lock manager and moves the lock manager to a different processor once a determined threshold is met. In another embodiment of the present invention, the frequency of the movement between processors may be based on a time that counts the amount of time the lock manager has been operating on the processor and moves the lock manager to a different processor once a predetermined time is reached.
摘要:
Fine granularity exchange level load balancing may be performed in a device in a storage area network in order to ensure that processors in a multi-core environment are not overloaded. This may be accomplished by assigning input/outputs relating to a particular exchange to a specific processor, and maintaining that association so that subsequent related input/outputs are handled by the same processor. In this process, the system may first determine if a received IO is new. If so, then it may assign the IO to a particular data path processor and create a context corresponding to the IO and the processor, as well as to the type of the non-command frame. Subsequently, an event may be received corresponding to the IO, which may then be forwarded to the processor assigned to the IO.
摘要:
Support for virtualization in a storage area networks may be provided using a variety of techniques. In one embodiment of the present invention, exchange level load balancing may be provided by determining if input/outputs (IOs) received by a device are new. If a particular IO is new, the IO may be assigned to a particular data path processor and an context may be created corresponding to the IO and to the processor. Then, when an event corresponding to the IO is received, the event may be forwarded to the processor assigned to the IO.
摘要:
In one embodiment, a solution is provided wherein a minimum and/or maximum bandwidth may be guaranteed for specific flows. These guarantees can be associated to various levels of granularity, such as target (T), target-Logical Unit Number (LUN) coupling (TL), initiator-target-LUN coupling (ITL), and initiator-target coupling (IT). This may be accomplished by rate limiting frames in the storage area network based upon quality of service information provided by a user. As such, the traffic can be shaped in a way that guarantees requested levels of service without dropping frames.
摘要:
In one embodiment, a solution is provided wherein a lock client sends lock requests to a lock manager upon receipt of an input/output (I/O) and receives back a lock grant. At some point later, the lock client may send a lock release. The lock manager, upon receipt of a lock release from a lock client, remove a first lock request corresponding to the lock release from a lock grant queue corresponding to the lock manager. Then, for each dependency queue lock request in a dependency queue corresponding to the first lock request, the lock manager may determine whether the dependency queue lock request conflicts with a second lock request in the lock grant queue, and then may process the dependency queue lock request according to whether the dependency queue lock requires conflicts with a second lock request in the lock grant queue.
摘要:
In one embodiment, a solution is provided wherein a lock client sends lock requests to a lock manager upon receipt of an input/output (I/O) and receives back a lock grant. At some point later, the lock client may send a lock release. The lock manager, upon receipt of a lock release from a lock client, remove a first lock request corresponding to the lock release from a lock grant queue corresponding to the lock manager. Then, for each dependency queue lock request in a dependency queue corresponding to the first lock request, the lock manager may determine whether the dependency queue lock request conflicts with a second lock request in the lock grant queue, and then may process the dependency queue lock request according to whether the dependency queue lock requires conflicts with a second lock request in the lock grant queue.