Stránky

středa 15. ledna 2014

Srovnání highend a mainframe procesorů

Úvod

V posledních několika letech jsme svědky nárůstu platformy ARM, zejména díky mobilním a nízkopříkonovým (M2M – Machine to machine a IoT – Internet of Things – „internet věcí“) zařízením, které odstraňují z vedoucích pozic dříve dominantní architekturu x86 (a x86-64). Opakuje se historie, kdy x86 (a zejména x86-64) odsunula „enterprise“ architektury?

Co řadím do highend/mainframe („enterprise“) architektury (v anglické literatuře občas označované jako „Big Iron“ – velké železo)?

Dříve to bylo složitější, ale nyní se de facto bavíme pouze o 3 architekturách:
  • Intel Itanium 
  • IBM POWER 
  • Oracle SPARC
Kromě zmíněných, lze do této kategorie řadit ještě procesory MIPS, které byly používány v pracovních stanicích SGI (Silicon Graphics) a v raných počítačích DEC (VAX). Nyní je najdeme v embedded zařízeních (existuje port Androidu na tyto procesory) a v budoucnu se možná opět objeví ve větších strojích, neboť licenci na tyto procesory si zakoupila čínská akademie věd a vyvíjí vlastní procesory s architekturou MIPS64 Loongson.

Architektury

Pokud se bavíme o architekturách enterprise procesorů, nejprve na úvod, jaké vlastně architektury máme:

CISC

CISC (Complex Instruction Set Computing) zde jedna instrukce je tvořena množinou nízkoúrovňových operací (např. načti z paměti, proveď aritmetickou operaci a zapiš do paměti). To je hlavní rozdíl oproti RISC.

Typičtí představitelé:
  • x86 procesory
  • Motorola 68k

RISC

RISC (Reduced Instruction Set Computing) je architektura, která razí tezi, že instrukcí musí být co nejméně a musí být co nejkratší. Délka provádění instrukce je 1 takt, využívá se řetězení (pipelining). Používá se velké množství registrů a odděluje se operace s pamětí a zpracování dat. Redukovaná sada instrukcí v raném návrhu znamenala např. to, že neexistovaly instrukce pro složitější matematické operace, jako násobení či dělení (i když byly např. v pozdějších letech také přidány).

Typičtí představitelé:
  • MIPS
  • ARM
  • SPARC
  • POWER

VLIW

VLIW (Very Long Instruction Word), neboli velmi dlouhé instrukční slovo. Tato architektura je navržená na vyšší paralelizaci, tj. provádění více instrukcí naráz. Používá k tomu „vyšší inteligenci“ překladače, který řadí instrukce za sebe tak, aby mohly být prováděny paralelně a nepotřebovaly číst data z paměti, či si je navzájem nepřepisovaly. Zajímavou implementací byly například procesory Transmeta.

Typičtí představitelé:
  • Itanium
  • Transmeta
Toto samozřejmě nejsou všechny architektury, ale jsou to ty, na které se budeme odkazovat u jednotlivých srovnávaných procesorů.

Popis jednotlivých procesorů

IBM POWER



Architektura POWER (Performance Optimization With Enhanced RISC) je založena na RISC architektuře a podobně jako u SPARCu za ní stojí skupina společností v organizaci Power.org. Ta se stará o licencování technologie a standardizaci instrukční sady. 

Historie procesorů POWER sahá do roku 1990, kdy se objevuje první Power1. Vlastní architektura Power není pouze výsadou velkých serverů, ale byly z ní odvozeny i desktopové procesory pro počítače Apple (PowerPC, než byly v roce 2006 nahrazeny architekturou Intel x86). Kromě desktopů jsme na tuto architekturu také mohli narazit např. v herní konzoli Playstation 3, jejímž srdcem byl procesor Cell, odvozený taktéž z architektury Power.

IBM potřeboval výkonný RISC procesor pro svůj systém RS/6000 a následně AS/400. Postupně se systémy přejmenovávaly a konsolidovaly, až nakonec vznikl následník těchto systémů IBM Power Systems, který právě architekturu Power používá. Kromě System i (tj. AS/400 s OS/400), podporuje také System p (a tedy AIX a Linux).

Procesory byly postupně vylepšovány, velký milník přišel v podobě generace Power4 procesorů, která byla plně 64 bitová a nabídla jako první komerční procesor více jader. Power5 následně přidává virtualizaci, Power6 byla zamýšlená jako konsolidace systémů p, i se System z (nebo nově zEnterprise), který je na rozdíl od Power, CISCový. To se ovšem nepodařilo, jako zajímavost lze uvézt, že procesory Power6 dosahovaly taktů 5 GHz. Power7 je evolucí předchozí generace, převážně na snížení energetické náročnosti (takty jsou nižší).

Níže si představíme prozatím poslední generaci Power7+, ale nyní ještě malý pohled do budoucnosti. Na rozdíl od Itania, bude určitě růžovější. IBM zveřejnilo specifikace následující generace Power8, která přinese opětovné navýšení výkonu, až 8 vláken na jádro, celkem 12 jader na chip (tedy až 96 vláken naráz) a 96 MB L3 cache. Dalším vylepšením je integrace PCI Express 3.0 namísto současně používaného proprietárního řešení. Co je ovšem dle mého zajímavější je otevření této architektury pro širší adopci – konsorcium OpenPower. Mimo IBM, v něm najdeme firmy jako nVidia či Google. Procesoru Power8 se dočkáme v příštím roce (2014).

Jako poslední poznámku uvedu ještě pár informací k výše zmíněnému System z. Jedná se o mainframe systémy od IBM (dříve jako System/360 a z ní novější odvozené systémy, historie S/360 sahá až do 60. let, tedy jedná se o opravdu dlouho používané systémy). Aktuální verze používá CISC procesory taktované na 5,5 GHz, které mají 6 jader, 48 MB L3 cache a jsou vyráběny 32 nm procesem. Počet tranzistorů je 2,75 miliardy.

IBM Power 7+


Procesory Power7+ jsou prozatím poslední generací. Jsou vyráběny 32 nm procesem, takty dosahují až 4,4 GHz. Procesor má 8 jader, každé je schopné zpracovávat 4 vlákna a disponuje 80 MB L3 cache.

Oracle SPARC

Po koupi Sun Microsystems je jejich HW plně vlastněno firmou Oracle. Historie architektury SPARC (Scalable Processor ARChitecture) sahá do roku 1986, kdy se objevují první zmínky o této architektuře. Je představitelem RISCové architektury. Za vývojem stojí organizace SPARC International, jejímiž členy je řada společností. Tato nezisková nezávislá organizace se stará o standardizaci platformy. Na těchto standardech je poté možné stavět vlastní procesory. Prvním uceleným standardem byl architektura SPARC V7, což byla 32 bitová architektura, na které spolupracovali společnosti Sun a Fujitsu. Byla publikována v roce 1986, v roce 1987 se objevuje první pracovní stanice s procesorem SPARC. V roce 1989 vzniká zastřešující organizace SPARC International a v roce 1990 vydává další verzi, SPARC V8. V roce 1993 přichází aktuální verze SPARC V9, která už je 64b. Dalším milníkem je vznik procesoru UltraSPARC T1 v roce 2005. Na tuto řadu poté navazuje celá aktuální řada označovaná Tx, nyní T5. Další zajímavostí je, že větší část architektury SPARC (procesory T1 a T2) je dostupná také v otevřené podobě (open hardware) pod licencí GPL (OpenSPARC).

Hlavním OS je Solaris. Sun/Oracle není jediný kdo architekturu SPARC používá, další poměrně aktivní firmou je Fujitsu. Vyvíjí vlastní procesory SPARC64.

Oracle SPARC T5


Je RISCový procesor, s 16 jádry, je vhodný pro symetrický multiprocesing až do 32 procesorů. Cílem je nabídnout vysoký výkon mnohovláknových (multithreaded) aplikací – zvládá 8 vláken na jádro z toho dvě souběžně (tj. až 128 vláken na procesor – takový „vytuněný“ hyperthreading). Používá jádro označované jako S3 (bylo už v předchůdci T4) a disponuje 8 MB cache L3. V aktuální verzi je vyráběn 28 nm technologií, takt dosahuje 3,6 GHz a má přímo v procesoru integrovány 2 řadiče sběrnice PCI Express 3.0 a čtyřkanálový řadič paměti DDR3. Je vyvíjen primárně pro nasazení v aplikacích „Oracle stacku“, tedy pro OLTP databázové aplikace Oracle, operační systém Solaris a aplikační servery na bázi Java. Společně s operačním systémem Solaris, zajišťuje mimo jiné binární kompatibilitu programů od verze Solaris 2.6 (mimochodem tato verze byla uvedena na trh v roce 1997).

Pro ještě větší aplikace má Oracle v portfoliu ještě další procesor M6, který má sice méně jader (12) zato mnohem více L3 cache (48 MB).

Intel Itanium



Opět nejprve krátký pohled do historie. Společnost Intel a architekturu IA-32 (32 bitová architektura x86 a na ní navazující 64 bitové rozšíření – původně od AMD – x86-64) asi není třeba probírat. Ovšem architektura spjatá s procesory Itanium, IA64, je úplně jiného ražení. Na jejím vývoji se nepodílela pouze firma Intel, ale od samého začátku také společnost HP. Někdy kolem roku 1989, firma HP zjistila, že dosavadní architektura RISC (viz výše), v jejím podání PA-RISC (Precision Architecture RISC) narazila na výkonové limity. A rozhodla se pustit do vývoje nové architektury EPIC (Explicitly Parallel Instruction Computing), která je paralelní v základu a dovoluje provádět několik instrukcí najednou v jednom taktu. EPIC je implementací architektury VLIW (viz výše). Kromě vlivů HP se do Itania dostal také vliv dnes už neexistující firmy DEC (Digital Equipment Corporation) a jejího moderního 64 bitového RISC procesoru Alpha AXP. Původně určeného pro provoz mainframového OS (OpenVMS a Tru64 Unix). Alpha byla také jeden z procesorů podporovaných Microsoftem a jejich Windows NT. Po koupi DEC firmou Compaq, bylo vlastnictví patentů a know-how prodáno firmě Intel. A poté co byl Compaq koupen HP, můžeme na tuto platformu v klidu zapomenout úplně.

První procesor architektury IA-64 byl procesor s kódovým označením Merced a byl uveden na trh v roce 2001. Ač byla architektuře IA-64 prognózována růžová budoucnost, nestalo se tak. Na začátku se spousta výrobců chytala Itania jako způsobu jak nedělat vlastní vývoj procesorů (Compaq – Alpha nebo SGI – MIPS), velmi záhy se ukázalo, že na HPC (High Performance Computing) bude stačit běžnější architektura a silní hráči (IBM, Sun) si ponechají vlastní technologie. Takže po počátečním nadšení od architektury odešel Dell a IBM, RedHat a Microsoft oznámili, že další verze už nebudou na IA-64 vyvíjet (poslední Windows Server na Itania je verze 2008 R2). Následně Oracle oznámil ukončení podpory svojí databáze na HP-UX systémech. Poté byla společnost Oracle zažalována HP, aby nadále své aplikace na IA-64 vyvíjela a soud dal HP zapravdu. Samotný Intel ukončil podoru ve svých překladačích C/C++ a Fortran v roce 2011. Nicméně nad Itanii se pravděpodobně stahují mračna, jednak existuje dohoda mezi HP a Intelem, kde HP platí každoročně nemalé peníze Intelu za to, že nadále podporuje a vyvíjí IA-64 procesory (tato dohoda je uzavřena do roku 2017), druhak Intel pozměnil roadmapu těchto procesorů. Zatímco dříve uváděl, že následník současné generace Kittson bude vyráběn 22 nm výrobním procesem a bude postupně sbližovat Xeony a Itania, aby sdílely ze začátku socket, v budoucnu i chipset, nyní už tyto plány odsunul na neurčito. K tomu se přidala firma HP s oznámením, že své vlajkové systémy NonStop převede z Itanií na Xeony, takže už nebude nikdo, kdo by Itania podporoval. Jednou z velkých nevýhod Itania byl „mizerný“ výkon starých aplikací původně určených na platformu IA-32 (díky emulaci) a také velmi nesnadný vývoj optimalizovaných aplikací na tento systém.

Intel Itanium 9560 (Poulson)


Tento procesor je prozatím poslední generací. Intel přeskočil jeden výrobní proces a z 65 nm přešel rovnou na 32 nm. Počet jader je 8 (každé je schopno vykonávat 2 vlákna – hyperthreading) a procesor má 32 MB L3 cache. Jeho takt dosahuje 2,53 GHz a je sestaven z přibližně 3,1 miliardy tranzistorů. Přinesl nové instrukce a je schopen jich v jednom taktu provézt 11 (dřívější generace 6). Oproti předchůdci (Tukwila) jde tedy o velmi významný výkonový skok, nicméně je trochu labutí písní, jak jsem zmínil výše. Je pravděpodobné, že jeho následník (Kittson) bude posledním procesorem Itanium.

Srovnání

Jelikož nemám k dispozici servery s uvedenými procesory, nejsem schopen prakticky ověřit nějaké úlohy. Vyjdeme ovšem z výsledků, které sami výrobci zveřejňují v syntetických testech.

TPC

Mezi tyto testy řadíme např. testy organizace TPC (Transaction Processing Performance Council). Tyto testy se nezaměřují pouze na procesor, ale na celou sestavu, tj. procesor není jedinou testovanou částí. Už z názvu sdružení je zřejmé, že cílem testů je transakční výkon, tedy zpracování transakcí (tj. databáze).

TPC-C

Mezi nejznámější testy patří TPC-C, což je benchmark na OLTP (On Line Transaction Processing). Celý žebříček je možné nalézt zde. Pro představu okomentuji výsledky z 29/12/2013:

První místo patří serveru Oracle s T5 procesory, výkon tohoto řešení je přes 8 miliónů tpmC (transakcí za minutu). Další uváděný parametr je cena za transakci $/tpmC, jenž pro tento systém byla 0,55$/tpmC. Ostatní servery v žebříčku používaly výhradně architekturu Intel Xeon (na předních místech žebříčku Xeon E7 a na ostatních Xeon E5). Žádná jiná architektura se do žebříčku TPC-C nedostala (a to zde byly zastoupeny i obě zbývající firmy IBM a HP).

TPC-E

Dalším používaným testem je novější TPC-E (vyvinutý speciálně pro makléřské společnosti). U jeho výsledků se nebudu zastavovat, jsou komplet v Intel Xeon architektuře a nemají tedy pro toto srovnání vypovídací hodnotu.

TPC-H

Posledním používaným benchmarkem je TPC-H (hybridní, či kompozitní). Byl vyvinut pro testování podpory rozhodování (decision support systémy). Tj. ad-hoc dotazy nad velkým množstvím dat. Zde hraje velkou důležitost vlastní velikost databáze, kde se ad-hoc dotazy provádí, takže výsledky tomu odpovídají. Pro malé databáze do 1000GB, vládnou žebříčku opět pouze Intel Xeon procesory. Nad 1000GB už se v žebříčku objevují i další platformy. Více je zastoupena platforma Oracle SPARC (T4 a T5), nicméně najdeme zde i jeden systém IBM Power 780 (Power7). Intel Itanium opět ani jeden. Na výsledky se dá opět nahlížet různě, Oracle např. uvádí, že má nejrychlejší TPC-H server pro velikost 10000GB pro jedno serverové řešení (single server vs. cluster).

SPEC

Podobné výsledky nalezneme také v benchmarcích organizace SPEC (Standard Performance Evaluation Corporation). Mají celou řadu testů, ale pouze v některých lze nalézt jiné platformy než je Intel Xeon či AMD Opteron.

SPECjbb2013

Jedním z nich je SPECjbb2013, který je zaměřen na porovnání výkonu aplikačních serverů na bázi Javy. Zde v testu MultiJVM nalezneme kromě majoritní platformy, také platformu SPARC a to jak od Oracle (T4 a T5) tak také od Fujitsu SPARC64 X

SPECjEnterprise2010

Dalším testem, který vypovídá o výkonu celé platformy je test SPECjEnterprise2010. Opět zaměřen na test Javy EE, spolu s výkonem databázového subsystému apod. Výsledky si lze prohlídnout zde. Zde už vidíme rovnoměrné zastoupení jak architektury IBM Power, tak Oracle SPARC. Intel Itanium opět nula, místo ní jsou zde zastoupeny procesory Xeon.

Top500

Dalším srovnáním může být žebříček Top500 nejvýkonnějších počítačů světa. Pro srovnání se používá výkon ve FLOPS, což je počet operací v plovoucí řádové čárce za sekundu. V oblasti HPC se dnes bavíme spíše v PETAFLOPS, což je 1015 FLOPS, chcete-li biliarda operací za sekundu. Měří se standardizovaným Linpack benchmarkem. Opět vypovídá o výkonu celého systému, dnes tedy také o zapojení akcelerátorů (např. nVidia Tesla). Spíše než o výkonu jednoho procesoru, nám poví jak škálovatelné dané architektury jsou. Srovnání je spíše zavádějící, ovšem dá se z něj vyčíst „obliba“ (a tedy pravděpodobně spíše poměr cena/výkon) dané architektury.

Jak si tedy jednotlivé platformy stojí? Na následujícím obrázku (zdroj zde) vidíme, že


nyní dominuje architektura Intel a AMD a třetí největší výrobce je IBM. SPARC se objevuje už jenom sporadicky.

Ze srovnání z listopadu 2013 vidíme, že v první desítce nalezneme 4 architektury, s následujícím rozložením:

Nejčastější je architektura Xeon spolu s architekturou POWER, shodně ve 4 superpočítačích. V celém žebříčku Top500 jsou použity následující procesory:


Je vidět, že ani Intel Itanium ani Oracle SPARC Tx, nebyly v listopadu 2013 v žádném počítači zastoupeny. Zastoupeny jsou pouze procesory SPARC64 firmy Fujitsu.

Licenční model Oracle

Jako další srovnání bychom mohli „s trochou nadsázky“ použít licenční model databáze Oracle Enterprise, tzv. core-factor. Přes tento multiplikátor se násobí počet fyzických jader v serveru a díky tomu dostaneme počet nutných procesorových licencí. Jako příklad můžeme použít nejpoužívanější platformu x86-64. Ta má core-factor 0,5. Tzn., máme-li např. server se 2 procesory a každý procesor má 8 jader, dohromady máme 16 fyzických jader. Core factor je 0,5 a tedy pro tento server potřebujeme 0,5×16 = 8 procesorových licencí. Lze tedy (opakuji s přivřením očí) považovat toto číslo za určitý výkonový parametr. A jak jsou tedy na tom srovnávané procesory:

Z tabulky vyplývá, že Intel Itanium 95xx a IBM Power 7 jsou přibližně 2× výkonnější než ostatní procesory (nejenom SPARC, ale standardní procesory x86 mají také core factor 0,5) pro tuto specifickou oblast (OLTP).

Samozřejmě může být mírně zavádějící, poněvadž procesory SPARC T5 jsou vyráběny stejnou firmou jako vlastní databáze a mohlo by tedy docházet k jisté protekci. Já si to ovšem nemyslím, zde uvedu pár argumentů:

  • pohledem do celé tabulky (odkaz je uveden ve zdrojích) zjistíme, že starší generace (jako SPARC T2 nebo Fujitsu SPARC64 VII) mají core factor 0,75, případně ještě starší generace T1 má core factor 0,25. Na jednu stranu by se mohlo zdát, že nás Oracle „nutí“ do upgrade na novější (0,75×0,5-> zlevnění licence o 1/3), ale pro ještě starší generaci, kde by se tlak na upgrade asi dal očekávat, nikoliv (0,25 × 0,5 -> zdražení licence 2×)
  • jako druhý argument mě napadá, že si to Oracle dost dobře nemůže dovolit, díky fungujícím antimonopolním úřadům (nejen v USA, ale také v EU). Viz např. žaloba HP na Oracle, že nebude podporovat databázi Oracle na Intel Itaniu.

Technologické srovnání


Procesor Oracle Sparc T5 je nejmladší (byl uveden na trh v roce 2013) a tedy má nejmodernější výrobní technologii. Co se týče počtu tranzistorů, nejvíc jich má Itanium, zřejmě je to daň za specifickou architekturu (EPIC-VLIW). Taktem a cache pamětí je na tom nejlépe IBM Power7+, počet najednou zpracovávaných vláken má největší Sparc. Z toho velmi jednoduchého srovnání vychází zajímavě procesory Sparc T5 a Power7+.

Shrnutí

Určit vítěze není jednoduché, jelikož jsem si nedefinoval jasná kritéria. Spíše mi šlo o srovnání enterprise či high-end platforem, které v České republice nejsou zrovna běžné.

Z výkonového pohledu je zřejmé, že Itanium nefiguruje nikde jinde než v licenčním srovnání, kde jde zřejmě o velikost L3 cache, která pro OLTP zpracování přináší velké výhody. Nikde jinde už ho nenajdeme. Oracle SPARC patří k výkonným procesorům pro databázové aplikace, v některých testech se objevuje i IBM Power. Doménou IBM Power je určitě supercomputing, kde je zastoupen velkou měrou, tedy procesor je velmi dobře škálovatelný.

Závěr

Na závěr si dovolím krátký pohled do budoucnosti, jak si myslím, že to s těmito procesory bude nadále. Z různých zpráv, čísel prodejů, podpory různých výrobců apod. to obecně s těmito architekturami nevypadá nijak růžově. Na jedné straně se do této oblasti postupně dostal „mainstream“ v podobě x86-64 architektury, a také se sem zespodu chystá ARM se svojí 64b architekturou (ARMv8 - AArch64).

Viz například projekt EU na ARM Exascale – exaflop počítač (1018 flops – trilion operací za sekundu) Mont Blanc.



Nicméně z různých pohledů víceméně závěrem je, že Intel Itanium je de facto mrtvá platforma, kterou při životě udržuje pouze HP, kvůli kompatibilitě svých systémů (HP-UX a OpenVMS). Jakmile dojde k portaci HP-UX na x86-64 platformu, Itanium ztratí poslední smysl existence. Zbývající 2 platformy na tom takto rozhodně nejsou.

U Sparcu Oracle veřejně deklaruje podporu a další roadmapu vývoje, takže o blízkou budoucnost bych se nebál. Určení platformy bude spíše na podporu Oracle sw stacku, tedy primárně Oracle databáze a aplikačního serveru Java. Silná stránka Oracle je opravdu v databázových technologiích a ve veřejné roadmapě nám slibuje v příští generaci podporu databázových dotazů už přímo v křemíku (mohli bychom očekávat už v příštím roce, zhruba v polovině roku 2014). Obecně Sun hodně podporoval otevřené technologie, tj. myslím si, že otevření platformy (viz OpenSPARC) zajistí přežití.

Jako nejnadějnější na dlouhodobé přežití se jeví IBM Power. Otevření platformy tomu určitě také pomůže a dlouhodobá podpora a stabilita systémů Power je pro zákazníky zárukou, že tu ještě pár let určitě budou. V rámci konsolidace se můžeme dočkat už dříve avizované konvergence opravdu velkým systémů (zEnterprise, procesory CISC zNext/z12) a systémů řady Power (RISC procesory Power7+/8), které IBM zefektivní vývoj a podporu těchto systémů.

Takže za mě, pokud přežije z velkého železa něco, bude to IBM, která jak se zdá, vždy přežije vše :-)

Zdroje

Článek vznikal jako semestrální práce z předmětu Architektura počítačů na Unicorn College, celá práce je ke stažení zde.
Jsou uváděny jako odkazy přímo v textu, navíc připojuji ještě další zdroje ze kterých jsem čerpal:

http://www.sparc.com
http://www.oracle.com/us/corporate/contracts/processor-core-factor-table-070634.pdf
http://kevinclosson.wordpress.com/2013/04/09/my-first-words-on-oracles-sparc-t5-processor-the-worlds-fastest-microprocessor/
http://en.wikipedia.org/wiki/SPARC_T5
http://en.wikipedia.org/wiki/SPARC
http://www.oracle.com/us/products/servers-storage/servers/sparc/oracle-sparc/sparc-roadmap-slide-2076743.pdf
http://www.oracle.com/us/corporate/innovation/sparc-t5-deep-dive/index.html
http://ark.intel.com/products/71699/Intel-Itanium-Processor-9560-32M-Cache-2_53-GHz
http://www-03.ibm.com/systems/power/
http://www.zive.cz/clanky/deset-nejrychlejsich-superpocitacu-sveta-v-obrazech/sc-3-a-169353/default.aspx

1 komentář:

  1. Zajímavé srovnání. Já mám v hlavě přesně něco podobného komplexního na šroubové kompresory. Jako obchodní zástupce se věnuji jejich prodejci a zákazníci často tápou a na prezentaci jim to nedovedu vysvětlit. Takže bych si nechal vytisknout podobně komplexní brožuru, kde by se srovnávaly, ale zároveň i popisovaly a vysvětlovaly, jednotlivé parametry.

    OdpovědětVymazat