Provoz systému destilátor v distribuovaném prostředí - DestilatorGRID

Technická zpráva CESNETu číslo 1/2007
k dispozici též ve formátech PDF, PostScript a XML.

The report is also available in English.

Jan Havlíček, Michal Krsek
12.2. 2007

1   Abstrakt

Destilátor používáme k destilaci metadat z multimediálních souborů dostupných na Internetu. Začátkem roku 2006 jsme již nebyli schopni včas zpracovat objemy dat v řádu milionů URL. Vyvynuli jsme proto paralelní systém DestilatorGRID, který využívá počítačů v univerzitních laboratořích.

2   Aktuální situace

V rámci aktivity Virtuální prostředí pro spolupráci je provozován destilátor [Dol03] metainformací a statických snímků multimediálního obsahu publikovaného na Internetu. Destilátor se připojuje k URL s multimediálním obsahem, stáhne metadata a náhledy a obojí uloží do databáze.

Jde o časově náročný proces, průměrné zpracování jednoho záznamu trvá desítky sekund (v závislosti na dostupnosti konkrétních souborů). Běžná paralelizace v rámci jednoho operačního systému není efektivní - používané technologie neumožňují efektivní sdílení, zdrojů (především zvukové karty) různými procesy.

Nabízí se možnost úlohu snadno paralelizovat prostřednictvím více, neboť zpracování každého URL je zcela nezávislé na ostatních. Prvotní myšlenka byla, využít pro paralelní, nebo přesněji řečeno semiparalelní zpracování zpracování dat počítačové učebny a studovny na vysoké škole a to v čase, kdy nejsou použity pro svůj primární účel. Lze je tedy využít v noci, přes víkendy nebo v době prázdnin.

Cílem práce bylo navrhnout řešení prostředí pro provoz destilátoru a souvisejícího potřebného software tak, aby co nejméně ovlivňoval instalaci software na učebnových počítačích a přitom bylo možné výsledné řešení na cílové počítače snadno a rychle distribuovat pokud možno nezávisle na tom, jaký řídicí síťový systém je používán a jaké jsou možnosti ovládání použitých koncových stanic. Dalším problémem k řešení je sběr získaných dat.

3   Popis prostředí

Pracovali s následujícím zadáním:

Je zřejmé, že toto zadání lze elegantně řešit pomocí virtualizace, tedy zprovoznění nezávislé instalace operačního systému a potřebného software vybavení ve virtuálním prostředí tvořeném produkty charakteru VMWare nebo Microsoft Virtual PC.

Použití virtualizačního software a instalace potřebných programů ve virtualizovaném prostředí má řadu výhod. Využíváme metodu sandboxu, který je snadno nahraditelný. Díky tomu můžeme využít následujícího:

4   Testování

S dostupnou verzí destilátoru jsme provedli v počátku roku řadu testovacích instalací v prostředí VMWare i Microsoft Virtual PC. Jako hostovaný operační systém jsme zvolili MS Windows XP Professional. Primárním důvodem byla platforma, na které běží software destilátor, dále jsme vzali v úvahu, že na Vysoké škole ekonomické, kde experimenty probíhaly, jsou s provozem tohoto operačního systému zkušenosti a jsou pro něj dostupné nejnovější verze přehrávačů a dalšího potřebného software.

V průběhu testování se ukázalo, že technicky vhodnější prostředí je Microsoft Virtual PC a to zejména pro bezproblémový přístup ke zvukovému hardware. Microsoft Virtual PC 2004 bylo v polovině roku 2006 uvolněno pro použití jako freeware, což jsme také vzali v úvahu.

Ukládání dat jsme vyřešili úpravou destilátoru tak, aby získaná data vkládal do SQL databáze na serveru, lokálně tedy vznikají pouze logovací soubory, které jsou relevantní pouze pro případ řešení problémů s destilací.

5   Prostředí virtuálního počítače

V případě instalace hostovaného operačního systému ve Virtual PC jsme museli řešit následující problémy odlišující instalaci od běžného operačního systému na stanici:

Automatické přihlášení je zajištěno pomocí funkce AutoAdminLogon ve Windows XP, provedeno následující úpravou registrů.

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\AutoAdminLogon = 1
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\DefaultPassword = NTpassword
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Autologon = YES
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoLogonCount = %number_of_logons%
1

Pro potřeby identifikace destilujících stanic je používáno jméno určené v souboru destilator.exe.config. Vzhledem k tomu, že v počátku jsou všechna jména stejná, nejjednodušší řešení je při startu toto jméno přepsat v souboru náhodnou hodnotou. K tomu jsme použili následující triviální program vytvořený pomocí Windows scripting host.

Set objFSO = CreateObject("Scripting.FileSystemObject")
strTempFile = objFSO.GetTempName+objFSO.GetTempName

Const ForReading = 1
Const ForWriting = 2
Set objFile = objFSO.OpenTextFile("C:\destilator\destilator2\destilator.exe.config.orig", ForReading)
strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, "NAHRAD", strTempFile)
Set objFile = objFSO.OpenTextFile("C:\destilator\destilator2\destilator.exe.config", ForWriting)
objFile.WriteLine strNewText
objFile.Close

6   Distribuce na stanice

Jako další krok jsme řešili, jakým způsobem dostat instalaci Microsoft Virtual PC a zejména nakonfigurovaný a nainstalovaný virtuální stroj na cílové počítače. Instalaci Microsoft Virtual PC jsme v prostředí VŠE distribuovali na stanice pomocí produktu ZEN Works společnosti Novell, který je na VŠE produkčně používán, ale lze použít jakýkoliv jiný prostředek pro vzdálenou správu stanic.

Řešili jsme také problém s distribucí nakonfigurované virtuální stanice. Virtuální stanice sestává ze dvou souborů. V jednom je definice vlastností stanice a ve druhém emulovaný pevný disk s nainstalovaným operačním systémem a aplikacemi. V případě instalace Windows XP Professional SP2 s aktualizacemi a potřebnými programy je velikost výsledného souboru cca 2GB i v případě, že je vypnuta virtuální paměť.

Experimentálně bylo zjištěno, že distribuovat 2GB soubor na cca 40 stanic souběžně je úkol, trvající řádově hodiny. V pokusném provozu to byly 4 hodiny.

Další experimenty byly provedeny s možností distribuovat pouze stanici s připraveným systémem MS DOS, síťovými ovladači a programem Norton Ghost tak, aby se po startu stanice automaticky spustil a připojil na připravenou session, kterou by byla instalace Windows XP zaslána na všechny počítače najednou pomocí multicastu. Při tomto pokusu jsme zjistili dva problémy:

  1. Norton Ghost nefunguje v případě, že virtuální stanice má síť nastavenou na NAT a program Microsoft Virtual PC tedy provádí překlad adres.
  2. Multicastová distribuce programem Norton Ghost nefunguje v případě, že na hostitelském počítači není nainstalován klient sítě Microsoft (SMB).

Cílový spěšný způsob distribuce virtuálních stanic na koncové počítače nakonec spočívá v následujícím schématu:

Tyto soubory jsou následně dávkou spuštěnou například z login skriptu kopírovány na cílové stanice a spouštěny.

7   Experimentální provoz

Experimentální provoz jsme prováděli na následujících konfiguracích:

PC Dell OptiPlex 170L, Intel Celeron 2,8 GHz, 512 MB RAM
FujitsuSiemens Scenico P320, AMD Athlon 3200+, 512 MB RAM

V obou případech je provoz virtuálních stanic uspokojivý, experimentálně jsme ověřili i možnost provozu dvou virtuálních stanic spuštěných paralelně na jedné stanici pro možnost větší míry paralelizace v dostupném prostředí. Hostované operační systémy na virtuálních stanicích ale mohou mít v takovém případě k dispozici maximálně 128 MB RAM, což vede ke zvýšenému využívání virtuální paměti.

Experimentální provoz byl proveden na počtech počítačů v rozmezí 40 - 230 stanic. Při tom jsme zjistili, že stávající konfigurace serverového zajištění je schopná kontinuálně obsluhovat cca 50 - 60 pracujících stanic simultánně, v případě nárůstu stanic dochází postupně k prodlevám při zpracovávání databázových transakcí a nad hranici 130 pracujících stanic současná konfigurace databázového serveru není schopna efektivně přidělovat úlohy. Na konci roku 2006 v době, kdy jsou studovny uzavřeny, provozujeme čtyřicet stanic.

Vzhledem k počtu nově přibývajících adres (indexujeme řádově milióny adres), není možné bez nasazení paralelního systému tento nárůst zvládat. Další zrychlení tempa nárůstu (při cílené sklizni adres z media RSS proudů a podcastů) není bez dalšího nárůstu destilovacího výkonu realizovatelné.

Použitá literatura

[Dol03] Doležal I., Illich M., Krsek M.: Vyhledávání v multimediálních datech na Internetu. Technická zpráva CESNET 19/2003, Praha: CESNET, 2003.

 

Poznámky:

  1. Za hodnotu %number_of_logon% je vhodné dosadit nějaké velmi vysoké číslo (řádově stovky či tisíce).

další weby:fond rozvojemetacentrumCzechLightpřenosyvideoservereduroameduID.cz