What are all the XTP_THREAD_POOL processes doing?
Information about these tasks is, indeed, hard to come by.
The docs (Creating and Managing Storage for In-Memory OLTP -> Scalability) say that
In SQL Server 2016 (13.x), there are multiple concurrent threads responsible to persist changes to memory-optimized tables.
And while the docs don't mention the "cmd" value that might be associated with these concurrent threads, there is a PowerPoint from Bob Ward that links to the doc page above and adds more details about this process:
You may see these as command =
XTP_THREAD_POOL
orXTP_PREEPMTIVE_TASK
So these tasks are keeping the data and delta files used by in-memory OLTP up-to-date. They run in the background all the time. While they are idle, they rack up DISPATCHER_QUEUE_SEMAPHORE waits.
The presentation also mentions that:
Pools should get no bigger than # logical CPUs...
So it's a little surprising to see 6 of these processes running on a 2-processor box. This might be a bug, or things could have changed since Bob's PowerPoint presentation. Hopefully someone with more Hekaton smarts than me will come by and weigh in.
HTH