Re: Patch for nanosecond scheduling precision in ns-3-click

Eddie Kohler <[email protected]>
Newsgroups gmane.network.routing.click
Organization Harvard University
Message-ID <[email protected]>
Hi Sascha,

Both of these patches are for ns, so I can't apply them. Did you mean to 
send them elsewhere?

I just checked in a change that you should look at...

Eddie


On 2/11/12 3:18 PM, Sascha Alexander Jopen wrote:
> Hey,
>
> finally i've got some time to run simulations with the nanosecond
> precision changes. Well, they run with nanosecond precision.
>
> However, this does only work, when running the simulator with nanosecond
> or finer resolution. With lower resolution, the timestamp at which the
> event is scheduled is rounded down by the NS3 Time class. Because this
> depends on the resolution of NS3, this has to be fixed in
> HandleScheduleFromClick to the next matching timestamp. This is
> essentially the same as we did in click routerthread.cc to fix problems
> with nano-/microsecond precision. See the attached patch for a quick
> fix. This has to be applied to ns-3-dev as well, removing the
> microsecond part of it.
> Using other resolutions but the default resolution in ns3 has some
> disadvantages. Some models simply do not work with other resolutions,
> like the wifi dcf manager, which relies on us slottimes, for example.
>
> By the way, the last patch i submitted, which calls simclick_click_kill
> leads to segfaults when ns3 terminates with uninitialized click routers.
> The second patch fixes this (against ns-3-dev)
>
> Sascha
>
> On 01/25/12 21:41, Lalith Suresh wrote:
>> On Wed, Jan 25, 2012 at 9:40 PM, Eddie Kohler<[email protected]>  wrote:
>>> Hi Lalith,
>>>
>>> This is fair enough. But we could add a sim-command that returned 0 if the
>>> current timestamp is a timespec. On Ns-2 this command would return -1. Then
>>> we could do what's appropriate within click.
>>>
>>
>> Alright. I'll have an update ready soon.
>>
>>> Eddie
>>>
>>>
>>>
>>> On 1/9/12 3:33 PM, Lalith Suresh wrote:
>>>>
>>>> Hi Eddy,
>>>>
>>>> On Mon, Jan 9, 2012 at 7:05 PM, Eddie Kohler<[email protected]>   wrote:
>>>>>
>>>>> Hi Lalith,
>>>>>
>>>>> This change looks generally good, but surely ns defines some version
>>>>> variables that we can use to detect whether "cursimnode->curtime" is a
>>>>> timespec or a timeval. If it doesn't, then please add one: #define
>>>>> NS_CURTIME_IS_TIMESPEC 1. Then Click can be made to work cleanly with
>>>>> either, for instance:
>>>>>
>>>>> #if NS_CURTIME_IS_TIMESPEC
>>>>>   *ts = cursimnode->curtime;
>>>>> #else
>>>>>   ts->tv_sec = cursimnode->curtime.tv_sec;
>>>>>   ts->tv_nsec = cursimnode->curtime.tv_usec * 1000;
>>>>> #endif
>>>>>
>>>>> The timer scheduling code in routerthread.cc would also need a fork: #if
>>>>> CLICK_NS&&   NS_CURTIME_IS_TIMESPEC /timespec-code/ #elif CLICK_NS
>>>>> /timeval-code/ #endif.
>>>>>
>>>>> Make sense?
>>>>>
>>>>
>>>> Nopes (or I'm way too tired). :)
>>>>
>>>> I don't think a #define in ns-3 will help here. ns-3 links with
>>>> libnsclick.so dynamically, and "cursimnode->curtime" comes from
>>>> include/click/simclick.h (struct simclick_node). If we are to use the
>>>> preprocessor to fork the code appropriately, then we'd need to know
>>>> NS_CURTIME_IS_TIMESPEC during Click's compile time. Right?
>>>>
>>>>> Sascha, did you end up trying this?
>>>>> Eddie
>>>>>
>>>>>
>>>>>
>>>>> On 12/31/11 7:46 AM, Lalith Suresh wrote:
>>>>>>
>>>>>>
>>>>>> Hello all,
>>>>>>
>>>>>> After Sascha raised this issue on the ns-3-users list [1], I tried
>>>>>> making a quick patch to make Click's NS code use timespec, and make
>>>>>> the corresponding changes on the ns-3 side as well.
>>>>>>
>>>>>> I've pushed the changes to my ns-3-click [2] and Click [3]
>>>>>> repositories. Kindly review. I'll push to ns-3-dev once the Click side
>>>>>> changes are applied. Note that this will probably break the ns-2
>>>>>> patches for nsclick.
>>>>>>
>>>>>>
>>>>>> [1]
>>>>>>
>>>>>> http://groups.google.com/group/ns-3-users/browse_thread/thread/2be8d60531bd82a8
>>>>>> [2] http://code.nsnam.org/lalith/ns-3-click-dev
>>>>>> [3] https://github.com/lalithsuresh/click
>>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>
>>
>>
>
>
>
> _______________________________________________
> click mailing list
> [email protected]
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.