abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 15:33 | Nová verze

Počítačová hra Factorio (Wikipedie) běžící také na Linuxu dospěla do verze 1.0. Oficiální oznámení v příspěvku na blogu. Ukázky na YouTube. Hra byla představena v roce 2013 na Indiegogo.

Ladislav Hagara | Komentářů: 10
dnes 09:00 | Bezpečnostní upozornění

Národní bezpečnostní agentura (NSA) a Federální úřad pro vyšetřování (FBI) upozorňují na linuxový malware Drovorub. Odpovědi na nejčastěji kladené dotazy ve FAQ. Detaily v pětačtyřicetistránkové analýze.

Ladislav Hagara | Komentářů: 8
dnes 08:00 | Nová verze

Interaktivní výpočetní prostředí Jupyter Notebook (zobecnění dřívějšího IPython Notebook) má také variantu Jupyter Book pro vytváření rozsáhlejších dokumentů. To je nově přepracované – používá systém pro správu obsahu (dokumentace) Sphinx se značkovacím jazykem MyST založeným na Markdownu a nový systém sestavení dokumentu namísto původního Jekyll.

Fluttershy, yay! | Komentářů: 5
dnes 07:00 | Nová verze

Bylo vydáno Ubuntu 18.04.5 LTS, tj. páté opravné vydání Ubuntu 18.04 LTS s kódovým názvem Bionic Beaver (poznámky k vydání a přehled změn) a také Ubuntu 16.04.7 LTS, tj. sedmé opravné vydání Ubuntu 16.04 LTS s kódovým názvem Xenial Xerus (poznámky k vydání a přehled změn).

Ladislav Hagara | Komentářů: 7
dnes 06:00 | Nová verze

Byla vydána nová verze 1.48 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.48 bude vydáno také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

Ladislav Hagara | Komentářů: 0
včera 19:11 | Zajímavý projekt

Neziskové technologické konsorcium Linux Foundation a společnosti Grillo a IBM společně představili projekt OpenEEW (GitHub) neboli open source systém včasného varování před zemětřeseními (earthquake early-warning).

Ladislav Hagara | Komentářů: 0
včera 16:33 | Nová verze

Byla vydána nová verze 5.1.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 235 vývojářů. Provedeno bylo více než 2 500 commitů. Přehled úprav a nových vlastností v seznamu změn.

Ladislav Hagara | Komentářů: 2
včera 16:11 | Nová verze

Byla vydána nová verze 20.08.0 KDE Aplikací (KDE Applications). Přehled novinek i s náhledy v oficiálním oznámení (sk), v kompletním seznamu změn a na stránce s dalšími informacemi.

Ladislav Hagara | Komentářů: 0
12.8. 13:55 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice zveřejnila čtyřiapadesátistránkovou výroční zprávu za rok 2019. K dispozici je v nízkém (6,4 MB) i vysokém (53,2 MB) rozlišení. Nadace také publikovala statistiky související s LibreOffice 7.0. Před týdnem vydaná verze byla z oficiálních stránek stažena již 423 tisíckrát.

Ladislav Hagara | Komentářů: 0
12.8. 13:33 | Zajímavý článek

Když se řekne „jmenný prostor“ hodně lidí si představí xmlns v XML nebo balíčky v Javě odvozené od internetových domén. Jmenné prostory jsou ale obecný koncept se kterým se setkáme prakticky všude a odvozovat je můžeme i jinak. Článek Jména a jmenné prostory dává toto téma do souvislostí a ukazuje různé způsoby tvorby jmenných prostorů. Nahlédneme i do zajímavého světa RDF a ukážeme si, jak vytvářet URI, která budou globálně unikátní jednou provždy.

xkucf03 | Komentářů: 10
Dokážete si představit, že by váš hlavní počítač (desktop, notebook) byl v současné době založen na architektuře jiné než x86 (x86_64)? Například ARM, POWER, RISC-V,…
 (13%)
 (12%)
 (56%)
 (14%)
 (5%)
Celkem 260 hlasů
 Komentářů: 16, poslední dnes 04:55
Rozcestník

Jellybean-Machine - masivně paralelní laskomina

13.3.2019 20:05 | Přečteno: 2420× | Výběrový blog | poslední úprava: 13.3.2019 23:27

Pokud jste někdy viděli nápaditou přednášku Breta Victora The Future of Programming, určitě si pamatujete na pasáž, ve které popisuje procesor jako spoustu udřených tranzistorů, které se mohou přetrhnout, zatímco tranzistory operačních pamětí se většinu doby vyloženě flákají. A pokud chcete z vašeho křemíku dostat maximum, měli byste jít cestou velkého množství malých výpočetních jader, každým opatřeným malou, ale dostatečnou paměťovou kapacitou.

Tato úvaha má zcela realistický základ. Dříve se uvádělo, že k tomu, abyste si vyrobili poměrně schopný 32-bitový RISC procesor bez vyrovnávacích pamětí, potřebujete stejnou plochu křemíku, jakou vyžaduje asi 100 KiB RAM (půl megabytu v případě, že má obsahovat i podporu floating-point aritmetiky). Skutečným výpočtům je tak vyčleněno maximálně několik jednotek procent křemíkové plochy, kterou konvenční počítače využívají.

Dnes si bohužel počítač s tisícovkami jader ještě jen tak nekoupíte, to ovšem neznamená, že by tuto cestu někdo nezkoušel prošlapat. V roce 1986 začaly na MIT práce na přípravu masivně paralelního počítače jménem J-Machine (Jellybean-Machine), který se v roce 1992-3 dočkal realizace v podobě dvou strojů. Jeden měl 512 výpočetních uzlů a druhý dokonce 1024. Každý z uzlů byl složen z čipu obsahujícího 36-bitový procesor, 4 kiloslova SRAM (obdoba 18 KiB) a podpůrné komunikační obvody. K ruce měl ještě každý 1 MB DRAM. Plochou čipu i počtem tranzistorů (1,1 milionu) byl srovnatelný s 486-kou. Celá síť uzlů většího stroje tak měla méně tranzistorů než A8 z iPhone 6. Hodinová frekvence uzlů byla poměrně malá, 12,5 MHz. Výkonem byly někde na úrovni horší 386-ky. J-Machine zvládla přibližně 1000 MIPS. Čipy byly kompaktně uloženy na vertikálně propojených deskách po 64 kusech na jedné a při spotřebě 1,5W na uzel se jednalo o relativně úsporné zařízení.

Čím je ale J-Machine nejzajímavější, je způsob komunikace jednotlivých uzlů. Ten byl založen na zasílání zpráv. Jejich specializovaný čip obsahoval malý směrovač určený pro zasílání zpráv dalším kolegům a procesor pro to rovněž obsahoval zvláštní instrukci, která byla schopna vysílat zprávy do 3D sítě dle jejich délky v řádu jednotek cyklů. Přijatá zpráva se uložila do fronty dle priority a v případě, že jí nic nestálo v cestě, stačily pouhé čtyři cykly k tomu, aby se spustil příslušný kód.

Z 36-bitového slova byly 4 bity vyhrazeny pro typovou informaci. Mohli jste tak specifikovat, jestli daná hodnota je zpráva, integer, adresa, symbol a podobně. Dokonce bylo možné danou hodnotu označit jako future, protože procesor měl jejich hardwarovou podporu. Přepnul se na další úlohu a ta stávající čekala, až mu nějaký jiný uzel dodá požadovanou hodnotu.

Když se posílala do sítě zpráva, nejdříve se vyslala hlavička (číslo typu MSG) následovaná daty. Zprávy měly být co nejkratší, ideálně v řádu jednotek slov. Vše bylo ošetřeno tak, aby se mohla zpráva již spouštět, zatímco její argumenty ještě přicházely ze sítě. Pokud nastala chyba přenosu, provedla se operace podobná přerušení. Bylo možné posílat uzlům zprávy bez požadavku na následnou odpověď nebo nechat odpověď poslat zcela jinému uzlu.

Přístup do lokální paměti uzlů byl řešen přes hardwarově akcelerované indexové tabulky, takže bylo možné s fyzickým umístěním dat hýbat a tak třeba provádět stlačení haldy. RISCová architektura procesorů kódovala v jednom slově hned dvě instrukce, na něž stačil většinou jen jeden takt, případně dva, pokud bylo potřeba načíst operandy z interní paměti. Počet registrů byl velmi malý. Používaly se čtyři datové registry, čtyři adresové a dále několik registrů na obsluhu fronty zpráv či uchování čísla uzlu. Adresové registry rovnou obsahovaly i délku adresovaných dat, takže přístupy do paměti mohly být automaticky kontrolovány na meze.

Programování J-Machine byla samozřejmě zajímavá výzva. Používal se buď přímo Assembler, upravená varianta C nebo Concurent Smalltalk, což byla zvláštní kompilovaná varianta Scheme s pořádnou porcí smalltalkovské sémantiky, která je pro systém založený na zasílání zpráv velice přirozená. Oproti lispovské tradici neobsahoval ani primitivy pro first (car), prostě jste si vyrobili třídu pair s instančními proměnnými car a cdr a automaticky vygenerovanými přistupovými metodami. U třídního objektového modelu se zasíláním zpráv ale také podobnost se Smalltalkem končí, což vzhledem k dostupné paměti na uzel nepřekvapí. Kompilátor tohoto jazyka byl napsán v Common Lispu. O správu paměti a práci s uzly se staraly rutiny operačního systému.

Z dostupných publikovaných výsledků se dá říct, že si tento zajímavý stroj vedl velmi slušně především díky efektivní komunikaci mezi uzly a celkově působí dojmem úspěšného experimentu. Synchronizační režie u něj se zvětšujícím se počtem uzlů rostla pomaleji než u konvenčnějších architektur. Amdahlův zákon ale jen tak obejít nejde, takže i pro J-Machine platila doporučení pro udržení co největší lokality dat snižování nutnosti vzájemné komunikace.

K lepšímu praktickému uplatnění chyběla především lepší podpora výpočtů v plovoucí řádové čárce, větší interní paměť procesorů a nevalný zájem ze strany komerčního sektoru. Svět masivně paralelních systémů se ubíral jiným směrem a vývoj procesorů šel především cestou instrukčního paralelismu, díky čemuž moderní procesory zvládají zpracovávat až 180 instrukcí naráz, ale jako nevítaný bonus se musíme potýkat s bezpečnostními problémy, jako je Meltdown a Spectre.

Jellybean-Machine vyzkoušela v praxi řadu zajímavých nápadů, které není špatné si v době, kdy se konečně začíná zvyšovat počet jader i na běžných strojích, znovu připomenout.

Zdroje:

http://cva.stanford.edu/projects/j-machine/

https://pdfs.semanticscholar.org/69aa/a426bb5bca9039e138a139c7be154f74945a.pdf

https://apps.dtic.mil/dtic/tr/fulltext/u2/a202182.pdf

https://people.eecs.berkeley.edu/~kubitron/courses/cs252-S07/handouts/papers/noakes93jmachine.pdf

       

Hodnocení: 100 %

        špatnédobré        

Obrázky

Jellybean-Machine - masivně paralelní laskomina, obrázek 1 Jellybean-Machine - masivně paralelní laskomina, obrázek 2 Jellybean-Machine - masivně paralelní laskomina, obrázek 3 Jellybean-Machine - masivně paralelní laskomina, obrázek 4

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

Bystroushaak avatar 13.3.2019 21:18 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Jellybean-Machine - masivně paralelní laskomina
Dobré. Trochu mi to připomíná Connection machine (známé například z Richard Feynman a Connection Machine).

Taky trochu hru TIS-100, kde programuješ jednoduché paralelně běžící počítače.

Asi by stálo za to se zamyslet nad odlišnostmi od současně používaných grafických karet. Je tu někdo fundovaný kdo by to dokázal srovnat?
21.3.2019 22:04 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Jellybean-Machine - masivně paralelní laskomina
Asi by stálo za to se zamyslet nad odlišnostmi od současně používaných grafických karet. Je tu někdo fundovaný kdo by to dokázal srovnat?
Fundovanost level: přečetl si v rychlosti specifikace r100, r600 a amdgpu když se snažil opravit radeon driver v kernelu, ale už většinu zapoměl :-D .

No kromě mnohem vyšších rychlostí, větší paměti a těsnější komunikací v GPU mají jádra GPU většinou přístup do hlavní RAM (a ne lokální paměti, kromě obyč. cache). Moderní GPU jádra mě přijdou jako "obyčejné" RISCy. Kdežto ty procesory v jellybeanu (nebo transputeru) mě přijdou jako dost omezené na naprogramování, takže nějaká úloha, která by potřebovala velké množství lokální paměti by byla velmi pomalá, protože by se muselo přistupovat přes externí komunikaci k nějakému nejbližšímu uzlu RAM (pokud to takovej stroj měl). V CM se navíc ten jeden 1bit "procesor" musel vždycky nějak naprogramovat co měl počítat. Na parallele bylo nějaké raytraceovací demo (16 jader RISC epiphany, lokální pamět a externí sběrnice do DDR řadiče na FPGA Zynq). Ale ta epiphany architektura je moderní věc, i tak by to mělo problémy s reálným použití jako GPU, protože ty jednotlivé nody mají prostě málo paměti pro GPU operace nad texturama.

Ale jelikož jsou všechny ty architektury (no možná až na ten CM) turingovsky kompletní. Tak jde jen o rychlosti vypočítání daných úloh. Asi by i šlo na ně naportovat opencl :-D.
14.3.2019 08:57 luky
Rozbalit Rozbalit vše topologie site
Jakou topologii mela ta propojovaci sit?
14.3.2019 09:10 Pavel Křivánek | skóre: 29 | blog: Kvičet nezávaznou konverzaci
Rozbalit Rozbalit vše Re: topologie site
3-dimensional deterministic wormhole-routed mesh. Tedy pravděpodobně klasická krychle.
I'm sure it crashed in the most type-safe way possible.
21.3.2019 21:45 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Jellybean-Machine - masivně paralelní laskomina
Super blog, sorry že jdu pozdě do diskuze, programoval jsem wifi driver a pak jsem byl moc unavený na reakce :-D.
Dříve se uvádělo, že k tomu, abyste si vyrobili poměrně schopný 32-bitový RISC procesor bez vyrovnávacích pamětí, potřebujete stejnou plochu křemíku, jakou vyžaduje asi 100 KiB RAM (půl megabytu v případě, že má obsahovat i podporu floating-point aritmetiky).
Bez cachí mě to stále přijde strašně moc. pokud se tou RAM myslím SRAM, takže 6 tranzistorů na buňku, tak to je ekvivalent až 4.8 miliónů tranzistorů (spíš míň, protože to nebude tak kompaktní struktura jako SRAM). RISC procesor by měl jít vyrobit byť jen z diskrétních hradel. První ARM měl myslím jen pár desítek tisíc tranzistorů max.

Zajímavý o jellybeanu jsem nějak moc nevěděl. Koukal ses i na jiné superstroje? Takovej Connection Machine byl taky super. Měl až 64ki jednobitovejch nodů (původně měli snad cíl 1 milion), spojení přes 12 rozměrovou hyperkrychli a router jim částečně navrhoval Richard Feynman. Ale pak to chcíplo na tom, že je převálcovalo PC a že neměli pořádnou myšlenku komu to prodávat.

Super architektura byla taky transputer. Což bylo něco jako 16/32bit MCU+RAM na 20MHz (v polovině 80.let). Vtip byl v tom, že ty hodiny měly různé fáze a tak měl ten čip efektivně až 80MHz. Co se týče superpočítačovosti, tak každej čip měl komunikaci s okolím po 4 sériových linkách (takže šla vytvořit síť). Dokonce to přes ty sériové linky mohlo bootovat (jiné IO tam víceméně nebylo, čipy mají strašně málo pinů). Díky jedné aukci na aukru jsem si kdysi asi 3 transputery koupil :-D. U transputerů byl problém, že nebyl hnedka dostupný C překladač a asi i náklady musely být dost vysoký.
ale jako nevítaný bonus se musíme potýkat s bezpečnostními problémy, jako je Meltdown a Spectre.
Tak on by i ten CM měl problém leakování informace přes timing nodů. Akorát v té době ještě nebyl multitasking nějak extra rozšířený. Tyhle počítače fungovaly spíš tak, že se do nich z ovládacího PCčka nahrála nějaká úloha (simulace počasí, výbuchu atomovky) a pak se počítalo jen to. Takže vlastně takový dnešní GPU. Ony i ty dnešní GPU jsou docela paralelní architektura.

Jinak Adapteva chtěla udělat i 1024 jádrovou verzi. Ale měli pak problémy se zaplacením výroby té FPGA desky (navrhli desku na RAM, výrobce je přestal vyrábět, museli navrhovat znova), takže to nějak vyšumělo (relativně, 1024 procesor by měl mít mnohem větší hype ;-) ).

Jinak mám takové hobby že jsem měl nápad na navrhnutí podobné architektury jako mělo CM, ale nemám na to moc času. Je to spíš takové duševní cvičení, ta architektura by byla extra pomalá, ale zase by měla extra málo tranzistorů.
21.3.2019 21:46 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Jellybean-Machine - masivně paralelní laskomina
A vida, toho Feynmana nalinkoval už bystrousaak :-D
22.3.2019 15:51 Pavel Křivánek | skóre: 29 | blog: Kvičet nezávaznou konverzaci
Rozbalit Rozbalit vše Re: Jellybean-Machine - masivně paralelní laskomina
Bez cachí mě to stále přijde strašně moc. pokud se tou RAM myslím SRAM, takže 6 tranzistorů na buňku, tak to je ekvivalent až 4.8 miliónů tranzistorů (spíš míň, protože to nebude tak kompaktní struktura jako SRAM). RISC procesor by měl jít vyrobit byť jen z diskrétních hradel. První ARM měl myslím jen pár desítek tisíc tranzistorů max.

Ten odhad docela sedí i s novějšími technologiemi. Když budeme počítat hustotu DRAM 0.2 Gb/mm2 (26214 KiB/mm2), hustotu tranzistorů cca 7 milionů/mm2 (22nm proces), ARM1 měl 25000 tranzistorů, pak to vychází, že na plochu potřebnou pro ARM1 se vejde 93 KiB DRAM. Je to sice takové střílení hausnumery od boku, ale...

I'm sure it crashed in the most type-safe way possible.
22.3.2019 23:17 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Jellybean-Machine - masivně paralelní laskomina
Jo pokud se počítá DRAM, tak je to mnohem lepší poměr (1 bit DRAM má 1 tranzistor, 1 bit SRAM má 6 tranzistorů). Ale i pak by měla DRAM o řád vyšší hustotu než procesor na stejném procesu.
Když budeme počítat hustotu DRAM 0.2 Gb/mm2 (26214 KiB/mm2), hustotu tranzistorů cca 7 milionů/mm2 (22nm proces)
V tomhle by pak měla dram hustotu tranzistorů 200 miliónů/mm^2.

Takže vlastně je většina čipu jenom volná plocha nebo dráty mezi tranzistory :-D (a po počítám jen tu tranzistorovou vrstvu, ne ty prokovy nad tím).
Josef Kufner avatar 23.3.2019 00:09 Josef Kufner | skóre: 69
Rozbalit Rozbalit vše Re: Jellybean-Machine - masivně paralelní laskomina
1bit DRAM má jeden tranzistor a jeden kondenzátor. Naneštěstí ten kondenzátor musí mít nějakou minimální velikost, aby udržel náboj do dalšího refreshe. Ve výsledku hustota bitů na čipu hodně záleží na konstrukci tohoto kondenzátoru.
Hello world ! Segmentation fault (core dumped)
23.3.2019 01:08 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Jellybean-Machine - masivně paralelní laskomina
Některé moderní DRAM mají ten kondík ve formě vyleptané díry, kapacita je pak povrch toho otvoru. Na ploše pak moc nezáleží, pro vyšší kapacitu pak stačí vyvrtat jen hlubší díru. Druhá technologie pak dává ten kondík nad vrstvu s tranzistory a výroba je vlastně jednoduchá (na elektrody stačí polysilikon, ten se dá IMO nanýst téměř kamkoliv a na dielektrikum asi SiO2, s tím taky není problémová manipulace).

Přívodní dráty ke každé buňce jsou dost triviální a bez nějakých velkých kolizí, takže je bude možné sázet řádku vedle řádky s velkou hustotou.

Takže bych řekl, že buňka DRAM nebude nějak extra velká. Což nepřímo potvrzuje i to, že DRAM čipy jsou obvykle to první, co je vyrobeno na nové technologii (návrh s nízkou složitostí, který jde lehko fyzicky zmenšit aniž by to mělo vliv na funkci).

Jinak v 80. letech se to prej ještě dělalo na stejné vrstvě jako tranzistory (takže to bralo plochu tranzistoru). Pak se ale i vyvinuly DRAMky, kde stačí samotná parazitní kapacita toho mosfetu. Více wikipedia. Na japonské verzi jsou dokonce i rozkreslené fyzické rozměry jedné buňky [1], [2], akorát ty popisky jsou dost nečitelné :-D.
23.3.2019 11:45 Pavel Křivánek | skóre: 29 | blog: Kvičet nezávaznou konverzaci
Rozbalit Rozbalit vše Re: Jellybean-Machine - masivně paralelní laskomina

0.2 je asi hodně nadsazené, mělo by to být spíš 0.05-0.1, což je itak překvapivě velká hustota.

64 KiB SRAM potřebuje podobný počet tranzistorů jako Pentium. Je smutné, že ač je SRAM tak cenný zdroj, moderní architektury nabízí jen velmi omezené prostředky, jak s ním programově nakládat. Dnešní procesory vlastně používají interně Harvardskou architekturu a malé hierarchické paměti, ale programově se to přímo řídit nedá.

Škoda, že z Epiphany-V nic nebude, byla by to hodně zajímavý procesor.

I'm sure it crashed in the most type-safe way possible.
23.3.2019 20:26 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Jellybean-Machine - masivně paralelní laskomina
64 KiB SRAM potřebuje podobný počet tranzistorů jako Pentium.
Jj dobrý peklo. A to bude jádro v pentiu možná v dynamické logice, takže bude zabírat míň tranzistorů než klasická CMOS zapojení co se učí ve škole.
Je smutné, že ač je SRAM tak cenný zdroj, moderní architektury nabízí jen velmi omezené prostředky, jak s ním programově nakládat.
On je problém, že SRAM je cenná protože se používá v místech kde je minimální latence. To ovšem dost omezuje možnosti přístupu.
Škoda, že z Epiphany-V nic nebude, byla by to hodně zajímavý procesor.
No když jsem o něm slyšel naposled tak dělal na nějakým superpočítačovým AI projektu od DARPy, takže možná časem :-D.

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.