System and method for providing input/output determinism based on required execution time
Systems and methods for providing input/output (I/O) determinism. An I/O instruction and at least one service level indicator are received, wherein the at least one service level indicator includes a required time for executing the I/O instruction. It is determined whether the I/O instruction can be executed on the storage within the required time. When it is not determined that the I/O instruction can be executed on the storage within the required time, a notification is sent.
1. A method for providing input/output (I/O) determinism for a server hosting at least a remotely accessible storage, comprising:
receiving an I/O instruction and at least one service level indicator from a client device, wherein the at least one service level indicator includes a required time for executing the I/O instruction;
determining whether the I/O instruction can be executed on the storage within the required time; and
sending, to the client device, a notification, when it is not determined that the I/O instruction can be executed on the storage within the required time.
2. The method of claim 1 , further comprising:
executing the I/O instruction on the storage when it is determined that the I/O instruction can be executed on the storage within the required time.
3. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute the method according to claim 1 .
4. A system for providing input/output (I/O) determinism, comprising:
a storage;
a processing circuitry; and
a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:
receive an I/O instruction and at least one service level indicator from a client device, wherein the at least one service level indicator includes a required time for executing the I/O instruction;
determine whether the I/O instruction can be executed on the storage within the required time; and
send, to the client device, a notification, when it is not determined that the I/O instruction can be executed on the storage within the required time.
5. The system of claim 4 , wherein the system is further configured to:
execute the I/O instruction on the storage when it is determined that the I/O instruction can be executed on the storage within the required time.
6. A method for providing input/output (I/O) determinism for a server hosting at least a storage, the server including a processing circuitry, comprising:
sending, by the processing circuitry to the storage, an I/O instruction and at least one service level indicator, wherein the at least one service level indicator includes a required time for executing the I/O instruction;
determining, by the storage, whether the I/O instruction can be executed on the storage within the required time; and
sending, to the processing circuitry by the storage, a notification, when it is not determined that the I/O instruction can be executed on the storage within the required time.
7. The method of claim 6 , further comprising:
executing the I/O instruction on the storage, when it is determined that the I/O instruction can be executed on the storage within the required time.
8. The method of claim 6 , further comprising:
determining a first execution time for executing the I/O instruction on the storage;
determining a second execution time for executing the I/O instruction on another storage hosted by the server; and
executing the I/O instruction on the storage having the lowest execution time among the first execution time and the second execution time.
9. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute the method according to claim 6 .
10. A system for providing input/output (I/O) determinism, comprising:
a storage;
a processing circuitry; and
a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:
sending, by the processing circuitry to the storage, an I/O instruction and at least one service level indicator, wherein the at least one service level indicator includes a required time for executing the I/O instruction;
determining, by the storage, whether the I/O instruction can be executed on the storage within the required time; and
sending, to the processing circuitry by the storage, a notification, when it is not determined that the I/O instruction can be executed on the storage within the required time.
11. The system of claim 10 , wherein the system is further configured to:
execute the I/O instruction on the storage, when it is determined that the I/O instruction can be executed on the storage within the required time.
12. The system of claim 10 , wherein the system is further configured to:
determine a first execution time for executing the I/O instruction on the storage;
determine a second execution time for executing the I/O instruction on another storage hosted by the server; and
execute the I/O instruction on the storage having the lowest execution time among the first execution time and the second execution time.