You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Let’s reconsider the design of an already defined server (shown below)
In terms of capabilities there would be servers that have multiple SSDs, multiple DRAMs (with CXL evolving real fast), Network attached Storage, Hard Disks. In terms of useability users could set up N levels of cache in a Server, each level using one of the available storage mediums.
One naive way would be to have a different server for each variation, then we would have hundreds of servers already for the users to choose from.
Since all of these storage reactors would have the same input and output port characteristics (multiport inputs with common types and multiport outputs with common types). On top of these Caches (no matter at which level we stitch it) would also be similar in terms of input and output ports characteristics. We can think of how to let users extend reusable server reactor to
Define storage capabilities of a server (as many DRAMs, SSDs or other storage devices in a server)
Configure caches inside a server (as many Cache Levels as they want)
Wire each cache with a desired storage device of a server
Following are some examples of possible servers.
Server with Single level of Cache connected to DRAM
Server with 2 Levels of cache both connected to a single DRAM device
Server with 2 Levels of cache both connected to a single SSD device
Server with 2 Levels of cache both connected to independent SSD devices
Validation (Checking that reactors implement the same interface)
Reusing a single definition of Server, users should be able to attach a cache reactor to its preferred storage medium. All storage medium reactors must have the same interface (input ports + output ports). Checks on input and output ports would be performed (by the CPP runtime) and allow or disallow interchangeable reactors inside Server.
The text was updated successfully, but these errors were encountered:
Let’s reconsider the design of an already defined server (shown below)
In terms of capabilities there would be servers that have multiple SSDs, multiple DRAMs (with CXL evolving real fast), Network attached Storage, Hard Disks. In terms of useability users could set up N levels of cache in a Server, each level using one of the available storage mediums.
One naive way would be to have a different server for each variation, then we would have hundreds of servers already for the users to choose from.
Since all of these storage reactors would have the same input and output port characteristics (multiport inputs with common types and multiport outputs with common types). On top of these Caches (no matter at which level we stitch it) would also be similar in terms of input and output ports characteristics. We can think of how to let users extend reusable server reactor to
Following are some examples of possible servers.
Reusing a single definition of Server, users should be able to attach a cache reactor to its preferred storage medium. All storage medium reactors must have the same interface (input ports + output ports). Checks on input and output ports would be performed (by the CPP runtime) and allow or disallow interchangeable reactors inside Server.
The text was updated successfully, but these errors were encountered: