Realm: refactor the core module
This PR will refactor the core module by creating a core folder and other source files just like other modules. Here is a list of files:
- core_module.cc/h:
CoreModuleConfig
andCoreModule
- core_proc.cc/h:
LocalCPUProcessor
,LocalUtilityProcessor
andLocalIOProcessor
- core_local_channel.cc/h:
MemcpyXferDes
,MemcpyChannel
,MemfillXferDes
,MemfillChannel
,MemreduceXferDes
andMemredeuceChannel
- core_remote_channel.cc/h:
RemoteWriteXferDes
andRemoteWriteChannel
- core_io_channel.cc/h:
FileXferDes
,FileChannel
,DiskXferDes
andDiskChannel
- core_mem.cc/h:
FileMemory
,DiskMemory
andLocalCPUMemory
Other modifications include moving the static functions enumerate_local_cpu_memories
and enumerate_remote_cpu_memories
from the MemcyChannel
into the RuntimImpl
.
However, there is an open question: LocalCPUMemory
and LocalCPUProcessor
are used by both core and numa modules, if we put them into the core module, there could be a problem when we want to support dynamic modules. I do not have a good solution now.