Nedávno Google představen prostřednictvím příspěvku na blogu, spuštění nového projektu, který se jmenuje Otevřete Se Cura, jehož cílem je zjednodušit vytváření bezpečných čipů určených pro řešit problémy spojené s el strojové učení a umělá inteligence.
Je zmíněno, že mezi aplikační oblasti Open Se Cura jsou specializované čipy, které vyžadují speciální úroveň ochrany a potvrzení absence poruch. Platformu lze například použít v produktech strojového učení souvisejících se zpracováním citlivých informací, jako jsou systémy pro rozpoznávání osob a zpracování hlasových záznamů.
Projekt Open Se Cura, dříve interně známý jako Project Sparrow, je důkazem našeho závazku k vývoji open source. Naším cílem s Open Se Cura je vyvinout sadu open source návrhářských nástrojů a IP knihoven, které urychlí vývoj kompletních systémů s pracovní zátěží strojového učení prostřednictvím společného návrhu a vývoje. To nám umožní lépe zaměřit návrhy systémů na zabezpečení, efektivitu a škálovatelnost a posílí tak novou generaci zážitků AI.
O Open Se Cura
Otevřete Se Cura má pod kapotou operační systém CantripOS, zatímco na straně hardwaru je založené na platformě OpenTitan a procesorové jádro založené na architektuře RISC-V.
Operační systém CantripOS Je založen na mikrojádru seL4, na kterém běží systémové prostředí napsaný v jazyce Rust. V systémech RISC-V je pro mikrojádro seL4 poskytnut matematický důkaz spolehlivosti, který ukazuje, že kód plně splňuje specifikace specifikované ve formálním jazyce. Architektura seL4 vyniká přesouváním částí pro správu zdrojů jádra do uživatelského prostoru a aplikací stejných nástrojů řízení přístupu pro tyto zdroje jako pro uživatelské zdroje.
Mikrokernel neposkytuje abstrakce přednastavená vysoká úroveň pro správu souborů, procesů, síťových připojení a podobně; místo toho poskytuje pouze minimální mechanismy k řízení přístupu k fyzickému adresnímu prostoru, přerušením a prostředkům procesoru.
Abstrakce a ovladače na vysoké úrovni pro interakci s hardwarem jsou implementovány samostatně na mikrokernelu ve formě úloh na uživatelské úrovni. Přístup těchto úloh ke zdrojům, které má mikrojádro k dispozici, je organizován definicí pravidel.
Všechny komponenty operačního systému, kromě mikrojádra, jsou původně napsány v Rustu pomocí bezpečných programovacích technik, které minimalizují chyby při práci s pamětí. V Rustu je mimo jiné napsán zavaděč aplikací v prostředí seL4, systémové služby, framework pro vývoj aplikací, API pro přístup k systémovým voláním, správce procesů a mechanismus dynamické alokace paměti.
Sestavení je ověřeno pomocí CAmkES, který je vyvíjen v rámci projektu seL4. Pro vývoj koncových aplikací, které lze dynamicky načítat systémovými službami, se pro spouštění modelů strojového učení navrhuje použít AmbiML SDK a sadu nástrojů IREE (Intermediate Representation Execution Environment). Komponenty a služby systému Rust jsou vyvíjeny pomocí rámců Cantrip.
Nakonec stojí za zmínku, že při vývoji projektu Zúčastnil se nejen Google, od té doby byl také zapojen ve vývoji nástrojů a prvků infrastruktury nezisková organizace nízké RISC, která dohlíží na vývoj bezplatného mikroprocesoru založeného na architektuře RISC-V, stejně jako společnosti Antmicro a VeriSilicon.
Procesor vyvinutý společností lowRISC byl použit jako jádro pro vytvoření důvěryhodných hardwarových komponent (Root of Trust). Antmicro poskytlo projektu simulátor Renode, který umožňuje testování CantripOS a mikrokernelu seL4 bez skutečného hardwaru. VeriSilicon se podělil o své zkušenosti v oblasti tvorby čipů a vývoje BSP (Board Support Package).
Pokud zájem dozvědět se o tom více, měli byste vědět, že vývoj projektu, včetně zdrojového kódu systémových služeb a schémat RTL, Jsou distribuovány pod licencí Apache 2.0.
zdroj: https://opensource.googleblog.com