Výpočetní středisko má za úkol zpracovat úlohu, která má celkový počet I instrukcí. Na úloze může současně pracovat libovolné množství dostupných počítačů. Pro zjednodušení zanedbáme čas potřebný k přidělování části úlohy jednotlivým počítačům a dále bereme na vědomí, že se jedná o starší počítače, které obsahují jeden procesor s jedním jádrem.
Když ve středisku začalo zpracovávání úlohy, byl k dispozici pouze jeden počítač, který pracuje na frekvenci 2.2 GHz (hodiny procesoru tiknou 2.2 miliardkrát za sekundu = počet taktů za sekundu).
V době, kdy byla zpracována jedna čtvrtina instrukcí úlohy, se k prvnímu počítači přidal druhý, který vykoná za sekundu desetkrát méně instrukcí než první počítač.
Když bylo zpracováno již pět dvanáctin z celkového počtu instrukcí úlohy, se ke dvěma pracujícím počítačům připojil třetí, jehož pracovní frekvence je nám neznámá.
Ze zadaných informací určete pracovní frekvenci procesoru třetího počítače, víte-li, že čas, po který pracoval první počítač sám (zpracoval do té doby jednu čtvrtinu instrukcí), je stejný, jako čas, po který počítače zpracovávaly zbytek úlohy. Dále platí, že počítačům v tomto příkladu zabere vykonání jedné instrukce 2 takty procesoru.
Přidat řešení úlohy Přidat komentář
Ze zadání známe $f_1 = 2.2 GHz$, $f_2 = f_1/10$, $f_3 = ?$, $i = f/2$. Označili jsme $f$ frekvenci procesorů (počet taktů za sekundu), $i$ značí počet instrukcí vykonaných za sekundu. Velké písmeno $I$ bude značit, jak je uvedeno v úloze počet instrukcí úlohy.
Instrukce úlohy lze rozdělit do tří částí $I = I_1 + I_2 + I_3$. $I_1$ značí tu část, kdy pracoval pouze první počítač, $I_2$ zpracovávaly společně první a druhý počítač, na $I_3$ pracovaly všechny tři počítače společně. Ze zadání víme, že $I_1=I/4$, $I_1+I_2={5/12}I$.
Podobně celkový čas, po který se instrukce zpracovávaly, lze rozdělit $T = T_1 + T_2 + T_3$. Ze zadání víme, že platí $T_1 = T_2 + T_3$.
Pokud známe pracovní frekvenci procesoru f, pak pro počet instrukcí i, kterou daný procesor vykoná za dobu t (s dodatečnou podmínkou, že na jednu instrukci jsou potřeba 2 takty procesoru), platí vztah $i = {ft}/2$. Úpravou získáme vzorec pro čas $t={2i}/f$.
Začneme se vztahem $T_1 = T_ 2+ T_3$, kam dosadíme užitím předchozího vztahu a budeme upravovat.
${2I}/{4f_1}={2I}/{6(f_1+f_2)}+{14I}/{12(f_1+f_2+f_3)}$
$1/{2f_1}=1/{3(f_1+{f_1/10})}+7/{6(f_1+{f_1/10}+f_3)}$
Proměnná I se pokrátila, jedinou neznámou v rovnici je tak $f_3$.
$1/{2*2.2*10^9}=1/{3(2.2*10^9+2.2*10^8)}+7/{6(2.2*10^9+2.2*10^8+f_3)}$
$1/{2*2.2*10}=1/{3(2.2*10+2.2)}+7/{6(2.2*10+2.2+f_3/{10^8})}$
$1/44=1/72.6+7/{145.2+{6f_3}/{10^8}}$
$72.6=44+22360.8/{145.2+{6f_3}/{10^8}}$
$145.2+{6f_3}/{10^8}=22360.8/28.6$
$f_3=(3726.8/28.6-24.2)*10^8$
$f_3=10.61*10^9$
Odpověď tedy zní, že třetí procesor pracuje na frekvenci 10.61 GHz.