Patent ID: 8838907

Claim:
A method, comprising: tracking caching of cachelines of host memory within a host central processing unit (CPU) that runs an application by a memory agent, wherein the application implements a usage model in accordance with a data schema that associates semantics with host memory addresses of the cachelines; managing cached data within an endpoint device connected to the host CPU by a caching agent, wherein responsive to notifications from the memory agent that the content states of the host memory addresses have changed, the caching agent reads the data schema to determine the semantics respectively associated with the host cache memory addresses with changed contents; registering the endpoint device in association with a particular one of the host memory addresses by the memory agent in response to receipt of a request for notification of changes in content state of the particular host memory address from the caching agent; in response to completion of a task, sending the memory agent a request to write data to the particular host memory address by the application; in response to the request to write the data from the application, writing the data to the particular host memory address by the memory agent and, in response, sending a notification that the particular host memory address has changed content state to the caching agent; and in response to receipt of the notification from the memory agent, reading the data schema to determine the semantics associated with a change of content state of the particular host memory address by the endpoint device, wherein the data schema specifies that the semantics associated with the host memory address means that the particular host memory address is free for communicating data between the endpoint device and the application and, in response, using the particular host memory address to communicate data with the application in accordance with the determined semantics by the endpoint device.