我只需要知道有什么方法可以共享多个用于托管客户端系统的RAM模块?
我曾经写过一个不定式计算应用程序,它通过建立简单的服务器客户端连接并分散并行任务,然后将结果收集到目标系统来使用网络中另一台PC上的1 mb。但是现在我需要一些东西来直接操作ram存储。有什么可用的工具包或sdk之类的东西吗?可以使用所有c语言。
答案 0 :(得分:2)
你很困惑。
首先,RAM未(直接)使用processes。 operating system kernel负责管理RAM,并通过虚拟内存提供virtual address space到进程(因此,在进程中运行的程序具有其虚拟地址空间)。阅读诸如Operating Systems: Three Easy Pieces之类的优秀教科书,以了解这些概念。
无法在整个网络上共享RAM ,这毫无意义(因为RAM的带宽和延迟比网络要好得多)。相对于RAM的速度,网络要慢数千倍(因此始终是瓶颈)!
您可以在多个主机上运行的进程之间使用distributed computing将软件设计为message passing。
您有很多东西要学习;查看MapReduce,MPI,sockets,0mq等,等等。
您可能要使用Linux或POSIX(因为它在分布式或云计算中占主导地位)。阅读一些ALP之类的Linux编程书籍或更新的书籍,然后查看syscalls(2)及其所引用的许多man
页。请注意,socket(2),poll(2),socket(7),tcp(7)(以及其他system calls)与您的需求高度相关。
您可能要使用一些database。也许RDBMS,PostGreSQL,MongoDB,REDIS甚至memcached可能有用。
在编码之前,您需要学习和阅读很多东西。