Improved cache maintenance

Invalidating and cleaning buffers exchanged between Core and remote CPU.

Change-Id: Icd9ce6c916422a6bbcdd42e31651a622240d0ce4
diff --git a/applications/message_process/src/message_process.cc b/applications/message_process/src/message_process.cc
index 200d92b..c890399 100644
--- a/applications/message_process/src/message_process.cc
+++ b/applications/message_process/src/message_process.cc
@@ -201,7 +201,7 @@
             return false;
         }
 
-        printf("InferenceReq. user_arg=0x%" PRIx64 ", network={0x%" PRIu32 ", %" PRIu32 "}",
+        printf("InferenceReq. user_arg=0x%" PRIx64 ", network={0x%" PRIx32 ", %" PRIu32 "}",
                req.user_arg,
                req.network.ptr,
                req.network.size);
@@ -241,8 +241,10 @@
         vector<DataPtr> expectedOutput;
 
         InferenceJob job("job", networkModel, ifm, ofm, expectedOutput, -1);
+        job.invalidate();
 
         bool failed = inferenceProcess.runJob(job);
+        job.clean();
 
         sendInferenceRsp(req.user_arg, job.output, failed);
         break;