<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 29, 2017 at 3:50 PM, Gedare Bloom <span dir="ltr"><<a href="mailto:gedare@rtems.org" target="_blank">gedare@rtems.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail-HOEnZb"><div class="gmail-h5">On Mon, May 29, 2017 at 12:35 PM, Andreas Kölbl<br>
<<a href="mailto:andreas.koelbl@st.oth-regensburg.de">andreas.koelbl@st.oth-<wbr>regensburg.de</a>> wrote:<br>
> Am 28.05.2017 um 18:24 schrieb Joel Sherrill:<br>
>> On Sun, May 28, 2017 at 6:43 AM, Andreas Kölbl <<br>
>> <a href="mailto:andreas.koelbl@st.oth-regensburg.de">andreas.koelbl@st.oth-<wbr>regensburg.de</a>> wrote:<br>
>><br>
>>> Hi guys,<br>
>>><br>
>>> I've tried measuring the real time capability of a BSP using the<br>
>>> Rhealstone benchmark. This benchmark only tells about the average time<br>
>>> spent for e.g. task switching.<br>
>>> Is there interest in a more fine-grained Rhealstone benchmark, which<br>
>>> prints the Worst Case Execution Time (WCET) or the deviation of the<br>
>>> measured values?<br>
>>> Has there already been an attempt to modify Rhealstone in order to get<br>
>>> the WCET from each benchmark?<br>
>>><br>
>> Rhealstone was a proposal from someone at Intel in 1989 that appeared<br>
>> in Dr Dobbs Journal.<br>
>><br>
>> <a href="http://www.drdobbs.com/article/print?articleId=184408081&siteSectionName=" rel="noreferrer" target="_blank">http://www.drdobbs.com/<wbr>article/print?articleId=<wbr>184408081&siteSectionName=</a><br>
>><br>
>> There was a follow up article a year later with some code which I didn't<br>
>> remember. I am not sure how closely the code written for RTEMS follows<br>
>> that code.<br>
>><br>
>> <a href="http://www.drdobbs.com/article/print?articleId=184408332&siteSectionName=cpp" rel="noreferrer" target="_blank">http://www.drdobbs.com/<wbr>article/print?articleId=<wbr>184408332&siteSectionName=cpp</a><br>
>><br>
>> AFAIK there is no "standard" source for this benchmark -- just the<br>
>> definitions<br>
>> and some odd code for a few RTOSes.<br>
>><br>
>> We would welcome a review of the code against the original articles<br>
>> and the code they published as well as improvements in the numbers<br>
>> gathered and their reporting. Statistical information and WCET would<br>
>> be valuable if the code accurately reflects the intended measurement.<br>
> I will try this for each benchmark and respond if I were successful.<br>
> The source of the benchmarks (drdobbs) seems to be similar to the ones<br>
> used in RTEMS.<br>
> So maybe there is a reason, like to get a more efficient implementation<br>
> (with caches) or more comparable results when measuring the hardware<br>
> this way?<br>
<br>
</div></div>From what I remember from reading the original article, the Rhealstone<br>
is meant to measure the overhead of usual real-time operating system<br>
features.<br></blockquote><div><br></div><div>Yep. In theory, all RTOSes provide some common services and </div><div>share common characteristics. This was intended to define standard</div><div>measurements. I think the originator was part of the old iRMX group</div><div>at Intel.</div><div><br></div><div>The original "tmtests"cases  came from published benchmarks from</div><div>pSOS+ (resold by Motorola as VMEExec). Motorola had proposed their</div><div>API as the RTEID standard which evolved to ORKID. The original </div><div>Classic API calls were based on that proposed standard from the </div><div>VMEBus Industry Trade Association (VITA). There is a copy of all</div><div>the versions of the documents I could find on the ftp site:</div><div><br></div><div><a href="ftp://ftp.rtems.org/pub/rtems/people/joel/RTEID-ORKID/">ftp://ftp.rtems.org/pub/rtems/people/joel/RTEID-ORKID/</a><br></div><div><br></div><div>At one point, I thought these would be useful for deriving the original</div><div>RTEMS requirements. Then I read them again and realized that</div><div>pSOS+ had really proposed their user manual as a standard. It </div><div>doesn't read like a standard at all.</div><div><br></div><div>--joel</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class="gmail-HOEnZb"><div class="gmail-h5"><br>
>><br>
>> One thing I have noticed in benchmarks over the years is that they<br>
>> may want to measure say blocking time of a semaphore with a<br>
>> set of N threads. But they accidentally include the code associated<br>
>> with the first execution of each thread. So you have to be careful<br>
>> to not include unintended overhead.<br>
>><br>
>> Sorry for the long answer but if you are interested in these benchmarks,<br>
>> you are encouraged to help improve them.<br>
> Sure ;)<br>
><br>
> --<br>
> Andreas Kölbl<br>
>><br>
>> --joel<br>
>><br>
>><br>
>>> --<br>
>>> Andreas Kölbl<br>
>>><br>
>>><br>
>>><br>
>>> ______________________________<wbr>_________________<br>
>>> users mailing list<br>
>>> <a href="mailto:users@rtems.org">users@rtems.org</a><br>
>>> <a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a><br>
><br>
><br>
><br>
> ______________________________<wbr>_________________<br>
> users mailing list<br>
> <a href="mailto:users@rtems.org">users@rtems.org</a><br>
> <a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a><br>
</div></div></blockquote></div><br></div></div>