I'm interested in understanding if/how AMT features can affect determinism/jitter on real-time systems. Does the out-of-band AMT controller (the Management Engine) share any resources with the CPU that could impact determinism, like system memory or CPU cache?
In general, are there any issues to consider when enabling AMT on a hard real-time embedded system?
The ME doesn't share the cache with the CPU, but it does use system memory. When the system boots, the BIOS has to set aside a block of UMA memory for the use of the ME. The host CPU isn't allowed to access this section of memory, but the ME does work as an independent bus master in the system with regards to the system memory, so it could change the timing of memory accesses from the CPU. I don't know exacly how much of an impact it could have, it could be negligible, but it is there.
I think that the amount of DMI bandwidth used by the ME would depend on the types of functionality that the ME is performing. I don't work for Intel, but I have worked with the ME and AMT for several years, so I know that the ME uses the UMA area as a sort of disk. The different ME applications like AMT, PAVP, and AT are loaded from the SPI flash part into the UMA memory, then the ME FW is run out of internal PCH memory. If the embedded memory gets a page miss, then the page is pulled out of the UMA area. This means that the bigger the ME application, the more likely you are to get a page miss and a subsequent DMI transfer from UMA memory. If your system isn't using the full functionality of AMT for instance, i.e. System Defense, Agent Presence, and such;then the amount of DMI traffic should be rather small. In reality, only one of the Intel system architects could really answer your question.
Due to the performance nature of your question, it is indeed best that we follow up with our development team to get you the best answer we can. If you can let us know which Intel AMT features you are usingor planning to use, I will start the process.
Due to the geographic location of the development team it will be a few days before we can get back to you with an answer, but we are looking into the details.
I did forget to ask about a couple of details...
What OS are you running in this real-time environment and what versions of Intel AMT are you expecting to work with?
Just wanted to update you that we are still in the process of collecting all the pertinent information regarding this query. Once we have all the information, we can post it here. Appreciate your patience.