Skip to content

Commit c2c1d9e

Browse files
author
Robert Baldyga
authored
Merge pull request #691 from mmichal10/requirements
Requirements for occupancy per ioclass
2 parents 09b7af8 + dcdcc65 commit c2c1d9e

File tree

1 file changed

+83
-0
lines changed

1 file changed

+83
-0
lines changed

doc/requirements/io_class

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
---
2+
group: IO class
3+
---
4+
5+
The IO classes provide ability to control how data is cached with better
6+
granularity. Every IO can be analyzed on the fly to determine its attributes,
7+
attributes of an issuing process or a destination file. Using IO class configuration
8+
settings, Open CAS Linux may be tuned for a specific workload. The IO class mechanism
9+
can determine whether or not data shall be cached or with which priority it shall be
10+
evicted.
11+
12+
--------------------------------------------------------------------------------
13+
--------------------------------------------------------------------------------
14+
title: Setting occupancy limit
15+
id: occupancy
16+
---
17+
18+
It shall be possible to set a maximum size of an IO class.
19+
20+
--------------------------------------------------------------------------------
21+
--------------------------------------------------------------------------------
22+
title: Allowed occupancy values
23+
id: occupancy_allowed_values
24+
---
25+
26+
The product shall accept integer and fixed point values for a max size of an IO class
27+
in range from 0.00 to 1.00 and interpret them as a fraction of a cache size.
28+
29+
--------------------------------------------------------------------------------
30+
--------------------------------------------------------------------------------
31+
title: Default occupancy limit
32+
id: occupancy_default_limit
33+
---
34+
35+
When initializing a cache the software shall set IO class's max occupancy to 1.00.
36+
37+
--------------------------------------------------------------------------------
38+
--------------------------------------------------------------------------------
39+
title: Setting an occupancy limit on loading a cache
40+
id: occupancy_limit_on_load
41+
---
42+
43+
When a cache state is loaded, the occupancy limit for each IO class shall be set
44+
to the value used before the cache had been shut down.
45+
46+
--------------------------------------------------------------------------------
47+
--------------------------------------------------------------------------------
48+
title: Display an occupancy limit value
49+
id: occupancy_display_limit
50+
---
51+
52+
It shall be possible to display the currently set value of the occupancy limit
53+
for each configured ioclass. The value shall be displayed as a fraction of a cache
54+
size.
55+
56+
--------------------------------------------------------------------------------
57+
--------------------------------------------------------------------------------
58+
title: Respecting occupancy limit on a cache miss
59+
id: occupancy_respecting_limit_on_miss
60+
---
61+
62+
When an IO request is a miss and the target IO class has reached its occupancy limit,
63+
the software shall evict a number of missing cache blocks from the target IO class
64+
before inserting new data into it.
65+
66+
--------------------------------------------------------------------------------
67+
--------------------------------------------------------------------------------
68+
title: IO request to a disabled IO class
69+
id: occupancy_disabled_io_class
70+
---
71+
72+
When a target IO class max occupancy has been set to 0.00 the software shall submit
73+
IO requests in the Pass-Through mode.
74+
75+
--------------------------------------------------------------------------------
76+
--------------------------------------------------------------------------------
77+
title: Reassign cachelines to another IO class regardless of occupancy limit
78+
id: occupancy_limit_on_repart
79+
---
80+
81+
When an IO request is a hit and triggers reassigning a cache line to another
82+
IO class, the software shall reassign the cache line regardless of the target
83+
IO class's occupancy limit.

0 commit comments

Comments
 (0)