demikernel icon indicating copy to clipboard operation
demikernel copied to clipboard

[catmem] Remove direct calls to memory runtime from Demikernel layer

Open iyzhang opened this issue 3 years ago • 1 comments

Context

Currently the catmem implementation in the Demikernel libOS layer makes direct calls to the memory runtime, which means that those calls must be public outside of the catmem module. We should re-organize catmem to contain the memory runtime within the catmem libOS and not let external modules have access.

Proposed Solution

Instead of having the catmem module directly implement the memory runtime trait, I will create a memory runtime instance inside catmem and then implement separate functions in catmem for the Demikernel module to call, which will direct the calls to the internal memory runtime instance.

We should consider the layering of runtimes (whether they are instances inside the libOS or directly implement the runtime trait) because currently there is no uniform architecture across the libOSes. For example, some libOSes have runtimes that implement the runtime and memory runtime trait, some have two separate instances of the memory runtime and runtime, and we should make that consistent across libOSes.

iyzhang avatar Jan 24 '23 19:01 iyzhang

We might want to move this to unstable.

iyzhang avatar Jun 23 '23 18:06 iyzhang