Kategorie: Grid Computing

Office Grid Computing pomocí virtuálních prostředí - Část 4

Tím, , pátek 04.12.2009 23:59

Úvod

Pracuji ve firmě, kde jsme se spustit mnoho dávkové zpracování úlohy miliony záznamů dat každý den a já jsem v poslední době přemýšlel o všech strojů, které sedět každý den dělat nic, po dobu několika hodin. Nebylo by dobré, kdybychom mohli použít ty stroje pro posílení výpočetního výkonu našich systémů? V tomto souboru článků budu dívat na potenciální výhody zaměstnávání Office sítě prostřednictvím virtualizovaných prostředích.

V části 3 jsme vytvořili virtuální zpracování a nastavení počítače se systémem Windows, aby se stal nečinnosti úvazek.

Spuštění poslední kodex

Nevyhnutelně Po vytvoření pracovníků obchodní logiky se změní, bude se nachází chyby, bude rychlejší efektivnější kód vyráběny tak zanechává pracovníky seděli zpracování dat pomocí staré páchnoucí kódu . Jak tedy zajistíme, že jsme vždy používat nejnovější a nejlepší verze naší zpracování skriptů?

Existuje několik jednoduchých způsobů, jak snadno jsme mohli udělat to, trik, nicméně, je snížení výpočetního výkonu a provoz sítě v dosažení tohoto cíle. Začněme s nejjednodušší řešení a zlepšit to pomalu přes několik iterací.

První metodou by bylo jednoduše připojit k našemu serveru pro ovládání úloh (přes Sambu, FTP, apod.), a strhnout nejnovější verzi kódu. Ne velmi výkonný, ale to bude dělat svou práci. Umožňuje zlepšit to trochu, jak se o vytvoření a použití rsync skript, který pokaždé, když místo toho? Jinak, co se o uvedení nejnovější zpracování skriptu do Subversion podívat se na kód na začátku a pak už jen aktualizovat náš kód na každém spuštění ( svn update )?

Na závěr bychom mohli skončit s skript bash (nazvaný cronu každých 10 minut), který vypadá tak jednoduché, jak to:

  #! / Bin / sh
 Pokud ps ax | grep-v grep | grep php > / dev / null
 pak
     echo "práce je v současné době zpracování, exit"
 jiný
     echo "Pracovní neběží, začít už teď"
     cd / cesta / k / práce / copy
     svn update
     php yourJobProcessingScript.php
 fi 

Nyní můžeme být jisti, že se každý pokus jsme definitivně poslední verze kódu. Jsme tím, že zajistí aktualizaci našich zdrojový kód každého a pokaždé, když se provede spuštění a snižuje provoz v síti pouze přenos souboru rozdíly v naší síti.

V mém demonstraci nastavení, já jsem přesně jak je uvedeno výše. Subversion je nainstalován na svém serveru zpracování zakázek a prostě jsem vytáhl poslední kód "pracovníka" pobočka pomocí "svn update '. Také jsem přidal číslo verze tag pro mé zpracování skriptu, který se vrátil do databáze jako součást výsledků návratu. Tímto způsobem jsem mohl vidět, že můj kód byl aktualizován pokaždé, když jsem kopíroval do kufru, tj. pracovník pobočky, že jsem určitě běží nejnovější zpracování skriptu.

Použití nejnovějších údajů

Je-li vaše práce pro zpracování využívá zdrojových dat pak v určitém bodě se jedná bude aktualizovat také. Pokud zavoláte své zdroje dat na velmi řídkém základě budete povodně sítě s provozem, jakmile vaši zaměstnanci se začnou přinášet všechno, co ke klidu. Pro mé řešení, jsem se rozhodl, že bych rád pohyb Zdroje dat si s mou VM.

Držte jste tam koně! Co dělat, když zdroje dat jsou obrovské? No to je opravdu případ, kolik dat je řeč? To může být z hlediska nákladů efektivnější instalovat další větší pevný disk na každém počítači, než koupit další zpracování serveru. To je otázka rozpočtu a do podniku se rozhodnout. Je možná, že zdroje dat jsou tak velké, že je to jen proveditelné, aby toto množství dat v pracovníkem zařízení. V tomto případě to, co byste dělali? Tak jsme se mohli podívat na volání místní datový server, ale to může způsobit problémy se sítí. V tomto případě distribuční soustavy, jako je tento se může stát nereálné zahrnout do kancelářského prostředí. To může také být, že se můžete podívat do provozu alternativní strategie, například pouze Volání pracovníků mezi dvacet hodin a 6 hodin ráno každou noc a / nebo škrtící zdroj dat požadavky.

Přesunout se vám tvrdit, že naše zdroje dat činí 100 GB dat. No ano, to je docela dost dat se pohybovat po síti na aktualizaci. Jak by se zajistilo, že jsme poslední kopii dat v tomto případě? Rsync je možné, ale osobně si myslím, spuštěním své nejnovější zdroje dat na serveru zpracování zakázek a nastavení to se jako mistr v replikaci (s velmi dlouho bin log), může být cesta:

replikace Při nastavení každého z vašich zaměstnanců se jako otrok do práce kontrolu aktualizací serveru do zdroje dat se dostaly až pěkně k pracovníkům bez obrovský nárůst aktivity v síti (tedy pokud budete provádět velké aktualizace dat a všechny pracovníky v kop najednou). To má výhody oproti rsync v tom, že byste se dostat dlouhá pauza před každou práci, protože aktualizace databáze, mysql daemon bude na pracovníka průběžně aktualizovat své údaje, zatímco zpracování pokračuje.

To je, jak mám nastavit moje demonstrace server. Chcete-li nastavit replikace jsem podle příručky na webu MySQL ( Nastavení replikace ) a do 20 minut jsem měl Inital pracovník kopírovat práci kontrolují servery datového souboru. Za každý další pracovník nastavení replikace a proces se osvědčil pokaždé, když byl zkopírován VM.

Přehled

V této části článku jsme se zaměřili na to, jak snadné a bezbolestné je, aby vaše operační kód v aktuálním stavu pomocí rsync, nebo using subverion (SVN) dělat práci a snížit zatížení sítě na stejném time. Mluvili jsme také o tom, jak , aby vaše informace o zdroji dat up-to-data tím, že se dostaly až ke každému z vašich pracovníků. Tak jsme oblast zajistí, že držíme krok s obchodní logiky a informace v našem systému Office sítě. K dispozici budou samozřejmě nespočet alternativy k plnění těchto úkolů, ale tady byli dva jednoduché příklady, jak jednoduché řešení je sehnat.

Příště

V závěrečné části tohoto seriálu, příhodně pojmenované části 5 , budeme diskutovat o nasazení tohoto systému. Budu shrnout to, co jsme se naučili a co se mi podařilo vytvořit.

Office Grid Computing pomocí virtuálních prostředí - Část 1

Tím, , pátek 04.12.2009 23:23

Úvod

Pracuji ve firmě, kde jsme se spustit mnoho dávkové zpracování úlohy miliony záznamů dat každý den a já jsem v poslední době přemýšlel o všech strojů, které sedět každý den dělat nic, po dobu několika hodin. Nebylo by dobré, kdybychom mohli použít ty stroje pro posílení výpočetního výkonu našich systémů? V tomto souboru článků budu dívat na potenciální výhody zaměstnávání Office sítě prostřednictvím virtualizovaných prostředích.

Jako PHP developer budu používat nástroje, které používám každý den a to, Linux, MySQL , PHP, VirtualBox a Subversion (SVN). Nicméně doufám, že tento návod se přizpůsobí do jiných jazyků a technologií, stejně dobře.

Toto řešení mi poskytují bude velmi volně založený na způsobu zpracování bychom třeba dosáhnout To však nemusí být pravda celý článek, jak budu něco změnit na jednoduchost, nebo produkovat další zajímavé scénáře použití.

Tyto virtualizovaných prostředí bude běžet na strojích s Windows, protože to je to, co většina úřadů běhu. Zpracování, kancelářské stroje se nemělo zasahovat pracovníky pomocí těchto strojů by nevyžadují žádnou údržbu na stroji, a musí být snadno nasaditelné na nové stroje, jakmile budou k dispozici. Také by nové virtuální stroje nevyžaduje žádné další nastavení, protože to výrazně snižuje škálovatelnost a snadné, při které může distribuční soustavy prodloužit.

Proč Nasazení Office Computing Grid?

Za prvé si mohou myslet, proč ne právě pomocí cloud computing zdrojů, jako je Amazon EC2 platformu ? No důvodů může být několik, například:

  • Nebudete svěřit některé údaje na životní prostředí cloud computing
  • Nemůžete dát některé údaje do prostředí cloud computing z právních důvodů (např. údaje odjezdu ze země), případně z právních důvodů, např. NHS záznamů.
  • Vy chcete, aby vaše procesorů úzké a mají plnou kontrolu nad hardwarem i
  • Nemáte projekt finanční prostředky ke spuštění instancí cloud
  • Váš úřad nemá připojení k internetu, a proto to není možné použít cloud zdroje
  • Nelíbí se vám déšť, mraky naznačují, déšť, tak budete mít daleko

Jsem si jistý, výčet by mohl pokračovat, ale myslím, že to prozatím stačí.

Výhody gridové výpočetní Office

Dobře, pojďme udělat nějaké matematické (a v pravém fyzice stylu umožňuje provést některé rozsáhlé předpoklady). Představte si, že jste velký tlustý zpracování serveru 100 pracovních míst za den. Ve vaší kanceláři máte 50 strojů, které jsou nečinnosti 16 hodin denně, každý z těchto strojů je 10% jak silný jako svalnatý zpracování sever. (Všechny výsledky zde jsou zaokrouhleny na podceňovat zvýšení výkonu).

Ano, 1 stroj * 10% výkonu * 2 / 3 = 0,067 času, tj. o 1 pracovní plochy zpracování v nečinnosti procesu 6 plných pracovních míst za den.

Pokud nyní měřítku to až za 15 nečinnosti stolních počítačů až po proces co nejvíce pracovních míst za den jako hlavní server pro zpracování.

A tak v naší kanceláři předstírat, že 50 strojů bychom mohli zvýšit náš výkon procesoru od 1 server až 4 kompletní zpracování servery, nebo bychom mohli být zpracování úloh za den 400 místo 100.

Všimněte si, bez investice do nového hardwaru vaše firma právě zvýšila dávkové zpracování kapacita 4 krát! Potenciálně se chystáte zvýšit spotřebu energie, ale z většiny kancelářských prostředích Byl jsem na stroje jsou obvykle vlevo na přes noc tak, aby jste mohli vidět na zelené iniciativy.

Další výhody také znamená, že investice do nových (či aktualizované) zpracování servery mohou být odložena, pokud vaše kancelářské stroje jsou dostatečné a že, jak si zvýšit výkon vašeho kancelářských strojů Vaší kanceláře rozvodná síť stala silnější automaticky.

Technologie

Co budete potřebovat? (Nebo přesněji to, co jsem se používat):

  • Nečinnosti kancelářské stroje (v mém případě náhradní staré Windows XP notebook)
  • VirtualBox (nebo jiný virtualizační klientský software)
  • Virtuální stroj s PHP, mySQL running běží snížit OS, volám těchto mých LIMP servery:)
  • Práce spustit
  • Pracovní server (může být jiný virtuální stroj někde)

Typická práce

Typy úloh, které tento systém je navržen tak, aby je následující:

  • Systém obdrží seznam údaje, z nichž musíme zápas a vrátí výsledky
  • Párování znamená kontrola / Vyhledávání několik (poměrně statické) zdroje dat
  • Výsledky ze zdrojů dat mohou vyžadovat další potvrzení, sloučení, kontrola dalších datových zdrojů v reakci na výsledky
  • Data se vrací s odpovídající záznamy, plně validovány a zpracovány
  • Každý záznam v práci, je nezávislá na ostatních

Takže v podstatě se díváme na běžící úlohy, které vyžadují kombinace vyhledávání v databázích a nějaké číslo skřípat, docela obvyklý scénář, v obchodním prostředí.

Mřížka řešení jsou nejen výhodné pro zpracování práce tohoto typu. V podstatě se každý proces, který lze rozdělit na samostatné jednotky paralelně. Viz tento Wikipedia příklady a další informace: Grid Computing , ale pár známých příkladů je Seti @ Home a BIONC . Existují rámce pro provoz počítačové sítě, a ty jsou dobře stojí za to díval do.

Co docílíme?

Na konci těchto článků doufám, že se ukazuje, že nasazení Office sítě nemusí být velmi nákladné a časově náročné. Budu diskutovat:

  • Nastavení práce kontrolního systému, pracovní konfigurace
  • Vytvoření vhodného zpracování virtuální stroj
  • Jak nastavit systém na stroji s Windows
  • Zajištění, že používáte aktuální kód a data
  • Nasazení a benchmarking
  • Při pohledu do budoucna

Budu budovy (ok jsem stavěl, pak napsal), například aplikace pro testování koncepcí na lokální počítač v systému Windows XP a mé "GridMachine" virtuální stroj. Mým úkolem ovládání serveru bude můj hlavní stroj, který běží Fedora 11 .

To v žádném případě předvést plně funkční robustní systém, jeho znamenalo více demonstraci a diskutovat o tom, že tyto věci lze dosáhnout v poměrně krátkém čase a za nízkou cenu. Neváhejte a pošlete mi připomínky, opravy, nebo zlepšení a já v mých silách, aby tento článek aktualizován na zápas.

Příště

V části 2 se mi začít tím, že při pohledu na systém kontroly práce, a podívejte se na to, jak by měla práce být nakonfigurován tak, aby bylo dosaženo největšího množství zpracování, a zároveň zajistit, že každá práce je zpracována bez chyb.

Office Grid Computing pomocí virtuálních prostředí - Část 2

Tím, , pátek 04.12.2009 23:23

Úvod

Pracuji ve firmě, kde jsme se spustit mnoho dávkové zpracování úlohy miliony záznamů dat každý den a já jsem v poslední době přemýšlel o všech strojů, které sedět každý den dělat nic, po dobu několika hodin. Nebylo by dobré, kdybychom mohli použít ty stroje pro posílení výpočetního výkonu našich systémů? V tomto souboru článků budu dívat na potenciální výhody zaměstnávání Office sítě prostřednictvím virtualizovaných prostředích.

V části 1 jsem dal přehled o systému a technologií, budu používat, stejně jako diskutoval některé z možných důvodů, proč byste chtěli vytvořit kancelář sítě.

Řízení práce

Pokud se chystáte být spuštěna práci pak budete potřebovat nějaký způsob, jak spravovat. Vaším úkolem řídicího systému (na svou práci serveru) musí být velmi dobře promyšlené ještě předtím, než pokusem o spuštění aplikace systému Office sítě. Tak za prvé, jaké jsou úkoly, systém kontroly práce:

  • Pracovních míst ruku na žádost zaměstnance
  • Řekni pracovníků, jaký typ úloh spustit
  • Sledování úkolů
  • Ujistěte se, že pracovní místa jsou poháněna pouze jednou
  • Poskytují zaměstnání dat pro pracovníky, nebo alespoň říct, kde si to

Systém také musí být rozšiřitelné řešení, které funguje zatím v jediném případě může být rozšířena spustit několik typů pracovních míst a podnikání vidí hodnotu v mřížce řešení. Například může získat zaměstnání priorit, více než jeden typ úlohy může existovat (tj. několik základen kód), případně můžete dokonce provozovat několik různých pracovníků stroje, které jsou optimalizovány pro každý typ zaměstnání (i když to není odklon od "obecné pracovník "nápad). Vždy se snažím přemýšlet o budoucnosti při vývoji systémů, může krátkodobě vést k vizi dlouhodobé frustraci a zvýšený dobu vývoje.

Server práce

Budeme potřebovat někde ovládat naši práci od, mělo by to být jediný systém ve své síti, která má pevnou Resource Locator, je, že IP adresa, jméno počítače, URL (pomocí interní DNS), atd. To je proto, že pracovníci musí vědět, kde hledat práci, pracovníci musí najít práci řídící systém (není práce řídicího systému najít zaměstnance).

Úloha server sám o sobě nemá opravdu složitý úkol (v základním systému, stejně), je třeba uložit seznam míst, ruku pracovních míst, obdrží výsledky, a následně je uložit pro pozdější. Jak se tyto části (např. "rozdávat práci"), jsou definovány může být poměrně jednoduchý. Později můžeme rozšířit systém zahrnuje administrační rozhraní můžete přidávat, upravovat, mazat, pozastavit pracovních míst, ale to je mimo toto cvičení.

Neexistuje žádný důvod pak, že vaše práce serveru nebylo možné virtuální stroj běží v rámci svého hlavního zpracování serveru, pokud to není kanalizace příliš mnoho prostředků z ní. Úloha serveru však potřebuje vysokou dostupnost, pokud to jde dolů v pátek večer budete ztrácet celý víkend zpracování, případně vás to stálo za pár týdnů v hodnotě doba zpracování (ve srovnání s hlavním serverem pro zpracování sám) . Můžete chtít, aby zvážila své práci na serveru zatížení vyvážené prostředí pro vysokou dostupnost.

Základní nastavení

Základní nastavení pro server, naše práce se bude skládat z toho, co jsem volat jeden z mých LIMP serverů (to je Li nux, ySql m, P HP). Kód běžící na pracovníky Thea bude skutečně fungovat, jaké úlohy může běžet interakcí s databází, práce s řídícím systémem. Později bychom mohli vytvořit webové služby, a ve skutečnosti ruku pracovních míst, spíše než mít pracovníci tvrdou práci sám, ale teď budeme pokračovat v používání principu KISS (Keep It Simple, Stupid!).

Takže, pojďme vytvořit tři mySQL tabulky řešit úlohy. Tyto práce budou ``, `jobRecords` a `` jobResults.

pracovních míst tabulky Zde jsem pomocí SQL Buddy Výborný alternativu k phpMyAdmin jen proto, že jeho snadnější instalaci na CentOS (další viz: 10 Velké alternativy k phpMyAdmin )

Tato tabulka se skládá z 5 jednoduchých polí,

  • ID: Jedinečná identifikace práci
  • Název: Může to být klientem odkaz, nebo libovolný počet jiných identifikátorů
  • Stav: Musíte vědět, kde je práce na, např.
    • 0: není zahájena
    • 1: Vyzvedli jsme
    • 2: Dokončeno
  • started_by: Kdo je začal dělat práci? To není úplně nutné, ale je hezké mít. Já bych navrhnout sledování zaměstnanců podle jejich IP adresy v síti
  • started_at: Kdy se pracovník začít práci? Sledováním práce, které nebyly dokončeny v množství X dobu víme, že je třeba vyzvednout práci znovu a začít zpracovávat další pracovník. Pracovníci by mohly zastavit zpracovávání / go Offline pro množství důvodů, výpadku napájení, havárie, ztráta sítě, atd.

Je to snadné, jak by tato tabulka být rozšířena o několik dalších oblastech s cílem umožnit sledování statistik, konečný čas sloupce, jak dlouho zaměstnání trvalo, počítadlo, kolik pracovníků zvedl práci (samozřejmě to musí obvykle 1), pracovní priority, seznam pokračovat dál a dál. Ve složitějších job scénáře, že by bylo možné určit, kolik paměti by se pracovník musí mít přístup k (a tedy použít pouze vhodných pracovníků), nebo dokonce jaký typ pracovníka by bylo zapotřebí.

Umožňuje přidat několik příklad práce:

Například práce

V následující tabulce je opět velmi jednoduchý na pochopení, jsou to naše práce záznamů. Jsou spojeny s hlavním zaměstnání tabulky sloupec `` jobs_id. Tvoří v této tabulce velmi záleží na data, která potřebujete dodávky vašich pracovníků, umožňuje dělat velmi jednoduchý příklad, kde máme čtyři sloupce:

  • ID: ID záznamu
  • Jméno: Jméno
  • Adresa: Osoba na adresu
  • jobs_id: ID úlohy, že tento záznam je spojena

Třetí a poslední stůl se skládá z výsledků tabulky, má podobně jako tvoří naše záznamy tabulky, a navíc některé sloupce by mohlo být součástí záznamů tabulky:

  • job_record_id: Odkaz výsledek práce stolu
  • Výsledek: Výsledek dat

... A to je vše, co potřebujete pro práci kontrolou! (I když na velmi základní úrovni) V mém případě jsem ukázal jsem k dalšímu stolu, kde se nachází moje osobní údaje ke zpracování, ale toto mohlo právě jak snadno se soubor parametrů, spustit simulaci kód, co si jen vzpomenete.

Výběr práce

Jak bylo uvedeno dříve, budou dělníci dělat svou práci managementu pro nás, takže vše, co potřebujete udělat, je opravdu najít si práci, která potřebuje zpracování a získat informace. Jak bychom to? Dobře vybrat naše kritéria výběru zaměstnání a hledat práci v SQL jsem se následující:

  1. Přijmout jakékoli zaměstnání, které nejsou označeny jako kompletní, ale z našich pracovníků a resetovat (náhradní __ME__ s identifikátorem, že nejjednodušší bude IP adresa):
      UPDATE `` SET `zaměstnání status` = 0, kde `status` = 1 `a` started_by = __ME__; 
  2. Pomocí našich kritérií pro výběr úlohy, vyberte si práci a řekne řídicího systému, který tento pracovník se zabývá se:
      UPDATE `` SET `zaměstnání status = 1`, `=` started_by __ME__, `started_at` = Now (), kde `status` = 0 nebo
     (`Status` = 1 `a` started_at> DATE_SUB (NOW (), interval X HOUR)) ORDER BY `id` ASC; 

    Tím, že chytne práce, které nebyly vráceny výsledky ve výši X jsme zajistit, že všechny úlohy jsou spouštěny v případě, že zaměstnanec bude shazovat nebo neomluvenou absenci.

  3. Další uchopit zaměstnání podrobnosti následují záznamy sami:
      SELECT * FROM `pracovních míst: Kam started_by` `= __ME__ LIMIT 1;
     SELECT * FROM `job_records: Kam` id `= __JOBID__; 

Po dokončení práce vložíme náš výsledek záznamy a označit práci dokončit. Pamatujte si, jak práce může pozastavit / obnovit kdykoliv počítat s nějakou robustnost ve skriptu. To by mohlo být, že úkol pozastaví půli aktualizace práci kontrolního systému, takže kontrola počtu záznamů v zaměstnání a počet výsledků uloží zpět do systému kontroly práce by moudré.

Navíc, když to ukazuje, jak je možné práci vybírat a řízeny z SQL dotazu rámec, který by měl být opravdu oddělovat vaše práce ovládat tak, že pokud se rozhodnete přejít na používání webové služby, soubor založený systém, XML , nebo jiné počet systémů, nebude mít vliv na kód, nad ním.

Pracovní konfigurace

Dalším aspektem je, aby zvážila velikosti úlohy a konfigurace. Tím, že hraje s prací konfigurací můžeme zasáhnout vynikající rovnováhu mezi rychlostí procesu replikace a spolehlivost. Udělejte si pár scénářů OFA:

  1. Práce trvat 1 den každý spustit: To znamená, že pracovníci potřebují 15 dnů na zpracování každého zaměstnání (pamatujte 10% energie pro 2/3rds času). To zjevně není moudré konfiguraci, vaším úkolem velikost je příliš velký! To by trvalo minimálně dvakrát čas na zpracování úlohy by měl jít první zaměstnanec neomluvenou absenci (čas vyzvednout, že se nevrátí a výsledkem přepracování času). V ideálním případě byste mít alespoň jeden plný pracovní snadno zrušeno na konci každého období dlouhé nečinnosti, tak budete mít práci běží znovu a v nejhorším případě zaměstnání trvalo dva dny, proces by měl první ztratí.
  2. Práce se 1 minutu běžet: To znamená, že pracovníci trvat asi 15 minut běžet každou práci. I když to zpočátku může zdát ideální, můžete získat další práci pro zpracování v době oběda, občerstvení, setkání, atd. tento scénář klade nároky na další oblasti vašeho systému a zavádí své vlastní problémy. Například, nejprve si setup / doba zpracování je poměr půjde vpravo dolů, a proto ztrácí účinnost systému. Vaše síť se bude stále streaming práce informace k jednotlivým pracovníkům frustrující zaměstnanci, kteří jsou Dong jejich každodenní práci. Vy jste také bude klást větší nároky na serveru zpracování zakázek, protože musí rozdávat spousty malých kousků práce na pravidelném základě. Konečně, v této situaci, pokud vaše práce server selže budete vytvářet velké zadní protokol nedokončenou práci zatímco větší pracovní místa, by na pokračování v řízení blažené nevědomosti, že práce server potíže.

Ve skutečnosti tam bude nikdo ideální nastavení pro nastavení sítě, záleží na dostupné zdroje, druhy práce, pracovní podmínky obrátky času, možnost práce v síti, a tak dále. Nicméně některé zásady by bylo:

  • Velikost pracovních míst tak, aby každý zaměstnanec může dostat do minimálně 3-4 pracovních míst v období 15 hodin (pravděpodobně nejdelší dobu nečinnosti)
  • Hrajte s velikosti úlohy tak, aby nastavení času stává docela zanedbatelné ve srovnání s dobu zpracování (s ohledem na výše uvedený bod).
  • Pokud se o práci nedokončí v dvojnásobné množství času (možná i méně), můžete očekávat, že na jeho dokončení předpokládat, že už dezertoval a začít zpracovávat s jiným pracovníkem. To znamená, že budete muset počkat až na trojnásobek normální délku práce na dokončení (možná i déle, pokud následné práci selže). Možná budete chtít snížit tomto okamžiku, ale dávejte pozor, aby jeho omezení příliš mnoho, jak můžete začít duplikace zpracování úkolů v pravidelných intervalech.
  • Práce by měly být nezávislé na vnější podmínky co nejvíce. Pracovní server, například, by mělo být kontaktován na začátku a na konci každé pracovní místo.
  • Nepoužívejte nasycení sítě, bude to mít dva negativní důsledky, bude vaše denní zaměstnance najít pomocí sítě frustrující a problémy mohou nastat s připojením časového limitu problém, který se bude jen zhoršovat, jak si škálovat síť.
  • Zajistit pracovní místa může běžet na vašich zaměstnanců. Pokud se práce příliš náročné na paměť a diskový prostor intenzivní práce začne potracení a jediné, co si všimnete, je snížení počtu pracovních míst zpracována žádný skutečný důvod, proč.

Předkládání výsledků zaměstnání

Při předkládání výsledků práce je důležité zkontrolovat, že výsledky nebyly předloženy jiným pracovníkem, a to zejména v případě, že současný pracovník byl spící po určitou dobu.

Pokud nejsou předloženy výsledky zajistí, že počet výsledků odpovídá počtu záznamů v práci.

Jak již bylo řečeno, a nemůže být více než zdůraznit, budovat odolnost proti chybám v práci a výsledky vyhledávání podání. Pracovníci mohou (a pravděpodobně bude) jít do režimu spánku v nejnevhodnější dobu a na to je třeba pro zajištěný. Také jednou pryč oddělovat své výsledky podání pomůže uspokojit budoucí změny systému kontroly práce mnohem jednodušší řešení.

Přehled

V tomto section jsme se zaměřili na to, co práci Control Server je třeba udělat a jak se dostat velmi základní nastavení systému. Diskutovali jsme o tom, jak získat práci z řídicího systému a jak nejlépe nastavit pracovní místa, aby co nejvíce využít vašeho systému Office sítě. Na závěr byl prezentován jeden nebo dva odstavce na předkládání výsledků zpět na server kontroly práce.

  • Ovládání úloh server spravuje pracovní místa a zajistí, že všechny pracovní jednotky jsou dokončeny
  • Abstrahováním svou práci vybrat / odevzdání výsledků můžeme změnit technologii ovládání serveru bez velké problémy
  • Nastavte si zaměstnání, aby se zajistilo, že jsou provozovány rychle a efektivně, aniž by příliš velký tlak na vaší síťové infrastruktury, a bez zdvojování zpracování úkolů v pravidelných intervalech.
  • Ujistěte se, že budování tolerance chyb a omylů checking do rutiny, mohou pracovníci pozastavit a obnovit a nejnevhodnější časů. Nezapomeňte zkontrolovat, zda výsledky již byly předloženy jiným pracovníkem.

Příště

V části 3 se budeme vytvářet virtuální zpracování a nastavení našich strojích s Windows, aby se stal nečinnosti úvazek.

Office Grid Computing pomocí virtuálních prostředí - Část 5

Tím, , pátek 04.12.2009 23:03

Úvod

Pracuji ve firmě, kde jsme se spustit mnoho dávkové zpracování úlohy miliony záznamů dat každý den a já jsem v poslední době přemýšlel o všech strojů, které sedět každý den dělat nic, po dobu několika hodin. Nebylo by dobré, kdybychom mohli použít ty stroje pro posílení výpočetního výkonu našich systémů? V tomto souboru článků budu dívat na potenciální výhody zaměstnávání Office sítě prostřednictvím virtualizovaných prostředích.

V části 4 jsme se zaměřili na použití nástroje, které zajistí, že používáte nejnovější verzi kódu a datových zdrojů tak, aby získané výsledky jsou vždy up-to-date s posledním obchodních informací a logiky.

Před nasazením

Před nasazením své distribuční soustavy, pokud je tu ještě jedna věc, kterou uděláte, a jednu věc sám je měřítkem vašeho stávajícího systému! Bez ohledu na to, co řeknete kolegy o tom, kolik práce navíc systém bude dělat, pokud jste čísla by toto své záruky nic. Tak,

  • kolik záznamů můžete zpracovat v současné době? Za den? Za hodinu?
  • Jak dlouho obvykle trvá, aby se obrátil práci?
  • Jak daleko větší kapacitu máte?

K dispozici je i další otázky:

  • Pokud váš zpracování server (nebo jeden z vašich serverů pro zpracování), jde dolů, jak to ovlivní vaše schopnosti, budete zmrzačen?
  • Jaké výhody doufáte / očekávat, že si z distribuční soustavy?
  • Jsou vaše kancelářské stroje je možné spustit pracovní místa?
  • Jsou vaše (nebo si můžete práci převést) pro práci v tomto stylu běhu?

Posledním důležitým bodem je, aby čas na žádné velké změny, jako je tento. Aktualizujte svůj operační kód pro práci s použitím nové metodiky, srovnávací znovu. Možná nastavit zpracování serveru spustit virtuální stroj, po zpracování všech serverů bude jen dalším pracovníkem (jen velmi mocný relativně). Nechte nový proces se usadit.

Nasazení

Můj návrh by byl pop do kanceláře jeden víkend provádět veškeré instalace a nastavení. Udělejte to těsně předtím, než čtrnáct dní na dovolenou a nechat ostatní, aby chudák se vypořádat s následky ... možná ne ...

Nasazení systému, jako je tento musí být pomalé. Ačkoliv se jedná o relativně jednoduché nastavení tohoto systému bude mít vliv na celou kancelář infrastruktury (i digitální signál). Za prvé, nasadit na několik strojů najednou, sledování síťového provozu, jak pracovník hostí hrát na den-to-denní bázi. Možná budete muset změnit své práci konfigurace v reakci na vaše nálezy.

Jakmile se systém usadil se na několik strojů (řekněme, že 10% všech kancelářských strojů, tj. 5) držet monitorování síťového provozu a hostitelském počítači performance. Další měřítko znovu, měli byste být nyní zpracování o 33% více pracovních míst než první kritérií. Zkontrolujte, zda tomu tak je, nebo že jste alespoň v tomto ballpark. Pokud ne, zjistit, co se děje předtím, než přejde. Opakujte tento cyklus, dokud spokojeně všechny kancelářské stroje běží bez zabíjení individuální výkon stroje nebo broušení sítě ke klidu.

Za všech okolností držet benchmarking, a to i poté, co jsou všechny nasazení. Zkontrolujte, jak nový kód aktualizace ovlivňují rychlost systému, podívejte se všichni pracovníci hlásí a zpracování pracovních míst. Pomalu (velmi pomalu), zvýšení vaší práci konfiguraci toho nejlepšího z vašich pracovníků a sítě.

Stop!

Co když chcete zastavit pracovníci z provozu na delší dobu? Všichni jsou tam běží, regenerační a snaží co nejvíce pro zpracování dat, jako je hlad, hmyz. Odpověď se může zdát zřejmé, ale jeho hodnotu přidávat jen v případě, jeho přehlížena. Jednoduše upravovat své zpracování skript exit (0) or die (), nebo nějaký jiný příkaz zabít zpracování práce. Důležitým důvodem, proč jsme se vždy snaží aktualizovat na nejnovější zpracování skriptu před běží!

Demonstrace systému

Aby bylo možné psát tento soubor krátkých článcích, které jsem vytvořil velmi malé sítě prokázat technologií a metodik. Četl jsem spoustu návodů článků, a používají různé nástroje pro nastavení a sledovat, co se děje. V žádném případě jsem šel ven a nasycených celou kancelář s provozem a ani jsem neměl přístup k běžnému PC zaměstnance, aby viděli, jak byl ovlivněn výkon host.

My demonstrace systém byl opravdu velmi pokorný. Použil jsem standardní desktopovou nastavit jako server kontroly práce. Na to jsem instaloval MySQL Server nainstalován nastavit jako master replikace, PHP , A a SVN propojeny přes apache (pro přístup prostřednictvím pracovníků VM).

Pak jsem vytvořil pracovník CentOS stroj na VirtualBox na 6 let Windows XP notebook. I nastavení plánovaných úloh, jak je uvedeno Po zkopírování VM na stroje a nechat to jít.

Virtuální stroj byl připraven s PHP, Subversion, a MySQL. Ověřil jsem si větev s názvem "pracovník" z práce kontrolují servery a úložiště se ujistil, že může být aktualizován pomocí "svn update '. Dále jsem nastavení MySQL jako otrok a zkontrolovat, zda data byla replikovat MySQL na serveru kontroly práce se na pracovníka VM. Po tom všem jsem setup bash skript a cronu.

My zpracování skriptu v podstatě šlo v duchu této (velmi jednoduché věci):

  • Přečtěte si v poli Název
  • Počítá se počet podobných jmen v tabulce ze zdroje dat ve dnech VM
  • Počítá se počet jmen jako výše, ale rozdělení jméno prostory (tj. jméno, střední, příjmení)
  • Opakoval tento proces 1000 krát

Každá práce se přibližně 20 minut běžet. V jednu chvíli jsem otevřel několik kopií pracovníka VM na notebooku windows a sledoval, jak se pracovní místa odškrtnout každý z adres IP pracovníka. Na tomto místě bych také potvrdil, že replikace se automaticky restartuje.

Odchod z notebooku do klidového vedlo pracovník zahájením zpracování úloh ze serveru kontroly práce. Při opětovné použití notebooku bylo zpoždění asi 30-60 sekund, to je slušné množství času a pracovníků bude muset být vědomi, že jejich stroje může pozastavit na krátkou dobu při návratu do stroje. Novější stroje nemusí mít pauzu tak dlouho. Přínosem výše zpracování vykonávané v rámci těchto strojů při nečinnosti by bylo více, které převažují zaměstnanci museli čekat na krátkou dobu (řekněme 1 minuta) Po příjezdu na jejich stroje ráno (často jsem čekat déle, že to pro Windows Defender Aktualizace se konat) za předpokladu, že byli informováni o této (užitečný čas chytit ranní kávu!).

Celkově Věřím, že jsem demonstroval technologie, které by mohly být použity k vytvoření takového systému. Ukázal jsem, že takový systém funguje na (velmi), v malém měřítku a některé další experimentování může být zmenšen až využívat zdroje kanceláře strojů. Pokud se mi dostat do bodu, jak toho dosáhnout by mě velmi zajímalo, / vidět, když někdo jiný.

Závěry / ​​hodnocení

V dalším kroku by bylo zřejmé, skutečně se v reálném světě, příkladem a začít nasazení systému, jako je tento v rámci kancelářského prostředí, a co se stane. Kladení podnikání, aby se zavázaly, aniž stezka hořící společnosti prokázat technologii a účinnost může být poněkud obtížné. Mřížky / Distribuované výpočty, je velmi populární, je několik kruhů a má jisté velké aplikace (BIONC, SETI @ Home, Folding @ home atd.). Nechtěl jsem však najít menšího rozsahu a jednoduchý systém, jako je ten můj vyhledávání, které by mohly být vrácena v rámci kancelářského prostředí.

Vytvořil jsem v podstatě bez systému, s použitím převážně open source software a nástrojů v téměř každé kanceláře. Technologie byly v podstatě prokázat a ukázat hrát a pracovat podle očekávání. Doufám, že jsem se ukázat, že se není moc práce a velmi jednoduché nastavení, které lze nasadit Office systém grid computingu, který je silný, levný, A a škálovatelné všichni ve stejnou dobu.

Jakmile je systém v provozu již téměř žádný konec výše úprav a vylepšení můžete udělat. Například je možné statistiky / benchmarking snadno přidat ukazovat hodnotu takového systému každý den. Nové stroje mohou být přidány rychle a snadno, jak a kdy dorazí s upgrady stávajících hardware posílení své výpočetní výkon.

Doufám, že jste si užili čtení této sérii článků a vám dal k zamyšlení na provoz kanceláře distribuční soustavy. Řešení zde nemusí nutně fungovat ve všech případech, ale je třeba přizpůsobit, aby vám umožní dostat své zpracování dat provádí pomocí vlastního řešení.

Neváhejte a pošlete mi připomínky, opravy, nebo zlepšení a já v mých silách, aby tento článek aktualizován na zápas.













Panorama Téma, které Themocracy

9 návštěvníků online
5 osob, 4 boty, 0 členů
Max návštěvníků dnes: 15 v 12:29 UTC
Tento měsíc: 19 v 19-08-2011 06:09 UTC
Tento rok: 130 u 28-03-2011 22:40 UTC
Za celé období: 130 u 28-03-2011 22:40 UTC