2017-11-30 2 views
2

두 개의 호스트와 이들 사이의 링크가 존재하는 시스템의 간단한 구성이 있습니다.SimGrid에서 대기 시간을 계산하는 방법

<link id="1" bandwidth="1Bps" latency="0"/> 

작업은 다른 하나의 호스트에서 전송됩니다 작업을 수신하는 동안

msg_task_t task = MSG_task_create("name", 1, 1, NULL); 
MSG_task_send(task, "worker"); 

후자의 호스트가 시간을 카운트 : 나는 작업을 보내는 1 초를 지속 할 것으로 예상

XBT_INFO("time %g", MSG_get_clock()); 
MSG_task_receive(&task, "worker"); 
XBT_INFO("time %g", MSG_get_clock()); 

을, 하지만 저는 1.08247입니다 :

[worker:worker:(2) 0.000000] [example/INFO] time 0 
[worker:worker:(2) 1.082474] [example/INFO] time 1.08247 

왜 그럴까요?

답변

2

기본 네트워킹 모델은 사용자가 제공 한 BW 및 대기 시간 값을 속여 현실에서 관찰 된 내용을 고려하기 때문입니다.

합리적인 경우에는 http://hal.inria.fr/hal-00646896/PDF/rr-validity.pdf을 확인하십시오 (TOMACS에서도 게시 됨).

코드에서 https://github.com/simgrid/simgrid/blob/master/src/surf/network_cm02.cpp#L23을 읽으 려합니다. 대규모 시스템을 대표하지는 않지만 이해하기 쉬운 모델을 원한다면 --cfg = network /를 추가하여 CM02로 전환해야합니다. 모델 : CM02 명령 줄에.

관련 문제