<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[SDS PLC/PAC: Měření Energie & OnlineTechnology.cz - [vyřešeno] Omezení rychlosti interpretu]]></title>
		<link>https://forum.sds.an-d.cz/viewtopic.php?id=63</link>
		<atom:link href="https://forum.sds.an-d.cz/extern.php?action=feed&amp;tid=63&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Nejnovější příspěvky v [vyřešeno] Omezení rychlosti interpretu.]]></description>
		<lastBuildDate>Tue, 28 Jun 2011 15:58:50 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: [vyřešeno] Omezení rychlosti interpretu]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=306#p306</link>
			<description><![CDATA[<p>Pokud přijde více paketů než zvládne systém zpracovat, jsou tyto &quot;přebytečné&quot; zahozeny na úrovni MAC (má v tu chvíli plnou FIFO). </p><p>Toto je však už cílený DoS útok, a takový se dá realizovat na jakékoliv zařízení - pokud by měly být pakety omezovány v softwarové části zařízení, pak by je stejně bylo potřeba přijmou, analyzovat - určit cíl, službu, porovnat stupeň zatížení služby... </p><p>Takto to zahodí přímo HW, když systém nestíhá, a následně se TCP protokol sám postará o obnovení komunikace.</p><br /><p>Co se týká spouštění instrukcí SDS-C co 1 msec... je tam ještě jeden historický důvod, totiž existovaly programy, které s tímto počítali, a pak pomocí smyčky realizovali zpoždění (lidé jsou kreativní, co už).<br />Dnes už k tomu důvod není, existuje funkce wait() nebo odpočítávač vteřin v sys[], ale to jsme v začátcích neměli.</p><p><strong>Aktuální verze firmware má jednu z položek v sys[], která toto omezení (krok co 1 msec) vypne, a program provádí instrukce bez zdržování ihned za sebou.</strong></p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Tue, 28 Jun 2011 15:58:50 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=306#p306</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Omezení rychlosti interpretu]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=284#p284</link>
			<description><![CDATA[<p>V jakém scénáři užití může být rovnoměrný chod programu výhoda či potřeba designu aplikace ?<br />Jinými slovy, proč by to měla být chtěná a výhodná vlastnost ?</p><p>Části kódu, který závisí na časování bude výhodnější ovládat funkčními bloky časovačů (viz námět na funkční bloky) nebo nyní navázáním na nyní dostupné čítače času.</p><p>Rozumím potřebě rozdělit čas CPU pro všechny potřeby nějakým mechanizmem, který zaručí přidělení přiměřeného času všem funkčním blokům. O to se pravděpodobně stará scheduler operačního systému. Strategie garantovat určité % času (s možností využít čas nevyužitý jinými bloky) mi přijde výhodnější než při přidělit v každé 1 ms prostor na vykonání jednoho řádku. Tím lze využít i čas CPU, který nyní využít nelze.</p><p>Doporučuji zavést systémovou proměnnou, která bude měřit buď čas potřebný na jeden průchod funkce main nebo počet provedení main za čas - pokud možno jako průměr za nějakou dobu. Doporučuji také zaznamenávat v další systémové proměnné buď maximální čas potřebný na provedení jednoho cyklu main nebo minimum provedení main za čas (např. 1s).<br />Pokud chcete napsat, že to lze i nyní v SDS-C programu, tak souhlasím, nicméně se domnívám že by to mělo být podporováno přímo systémem.</p><p>Na základě testování komunikace po Ethernetu se mi zdá, že nejsou omezeny zdroje CPU při obsluze komunikace - jinými slovy že lze SDS přetížit z venku a ovlivnit tak i vykonávání SDS-C programu. Doporučuji implementovat alespoň jednodudché omezení packet rate nebo sofistikovanější omezení komunikace pro jednotlivé klienty. Podobně pro komunikaci odcházející z SDS. Statistika z těchto omezovačů by opět mohla být někde v sys[] dostupná.</p>]]></description>
			<author><![CDATA[null@example.com (michal.mu)]]></author>
			<pubDate>Tue, 28 Jun 2011 00:44:10 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=284#p284</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Omezení rychlosti interpretu]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=272#p272</link>
			<description><![CDATA[<p>Pointa řešení je v tom, že krok programu co 1msec je odvozen od časovače procesoru, takže je možné očekávat rovnoměrný chod programu (za předpokladu vykonání příkazů z jedné řádky pod dobu trvání 1 msec, což spolehlivě je).</p><p>Při odstranění této vlastnosti (krok co 1 msec) by program mohl bežet i mnohem rychleji, ale různé části programu by byly provedeny různě rychle. Navíc je zde potřeba obsloužit další funkční bloky, ne jen SDS-C program, a to někdy vyžaduje více času, někdy méně - o to se stará operační systém, a proto nelze tyto časy jen tak určit.<br />Takže tím že je dán pevný krok - jeden instrukční řádek za 1 msec - tak to je něco co už lze určitým způsobem garantovat.</p><p>Samozřejmě, mohou být případy, kdy je tento pevný krok i na škodu, záleží na konkrétní aplikaci. <br />Možná se v některém z nových firmware objeví konfigurační volba, umožňující spustit program s okamžitým navazováním vykonávání instrukcí, bez synchronizace na 1 msec...</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Mon, 27 Jun 2011 17:02:37 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=272#p272</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Omezení rychlosti interpretu]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=269#p269</link>
			<description><![CDATA[<p>Jaký je prostor pro zrychlení ?<br />Čím je zrychlení omezeno ?</p>]]></description>
			<author><![CDATA[null@example.com (michal.mu)]]></author>
			<pubDate>Mon, 27 Jun 2011 01:46:22 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=269#p269</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Omezení rychlosti interpretu]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=261#p261</link>
			<description><![CDATA[<p>Tak to bylo naprogramováno na začátku vývoje, a od té doby na to nikdo nesáhl.</p><p>Jestli je potřeba, tak není problém to zpomalit, je to jen otázkou úpravy firmware.</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Sun, 26 Jun 2011 07:42:00 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=261#p261</guid>
		</item>
		<item>
			<title><![CDATA[[vyřešeno] Omezení rychlosti interpretu]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=258#p258</link>
			<description><![CDATA[<p>Dobrý den,</p><p>na <a href="http://wiki.merenienergie.cz/index.php/SDS-C-START#Co_te.C4.8F_.3F">http://wiki.merenienergie.cz/index.php/ … .C4.8F_.3F</a> uvádíte:<br />&quot;Každou 1 msec je proveden jeden celý příkaz&quot;</p><p>Proč je prosím rychlost vykonávání &quot;celých příkazů&quot; omezena na 1000 za 1s ?</p>]]></description>
			<author><![CDATA[null@example.com (michal.mu)]]></author>
			<pubDate>Sun, 26 Jun 2011 02:00:21 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=258#p258</guid>
		</item>
	</channel>
</rss>
