当节点向物理进程发送请求以及物理进程回复节点时,消耗了多少能量? 如果一个物理进程一次接收来自大量节点的消息,那么假设有一千个节点可以处理它们,或者处理大量请求会有一些延迟吗?
答案 0 :(得分:1)
目前,Castalia无法处理传感器读数的功耗,因此消耗的功率为零。如果您look at the code for SensorManager.cc,您可以看到许多基础架构已经编码,并且评论中甚至提示您需要做什么才能完成此功能:
// update the remaining energy of the node
// powerDrawn(pwrConsumptionPerDevice[sensorIndex]);
// Left as is the module will draw this power always, that's why it's commented out.
// We need to schedule a timer to draw 0 power after some time. How much time?
模拟处理来自数千个节点的请求的速度取决于物理过程和传感器管理器的复杂性和效率。你将不得不尝试它,看看会发生什么。
答案 1 :(得分:0)
詹姆斯已经回答了问题的主要部分,但我发现实时和模拟时间之间存在混淆,这就是为什么我要添加这个答案。
"如果物理进程从大量节点接收消息 一次,让我们说一千个节点就可以处理它们了 或处理大量请求会有一些延迟?"
当然,物理过程将处理所有消息,这是它的目的。根据您用于运行模拟的计算机以及模拟的复杂程度,这可能需要很多实时时间。但这并不意味着任何模拟时间已经过去。因此,如果100万个节点在同一模拟时间询问物理过程100万个样本,他们将在相同的模拟时间内获得100万个响应!即使运行此代码需要数小时。通过的任何模拟时间都在系统中进行了仔细编码。例如,通过感应,我们有一个名为hysteresis
的参数来模拟一些传感设备经历的延迟(默认为0)。
确保您阅读事件驱动模拟的基础知识,以便阐明实时和模拟时间之间的基本区别。