Kategórie: Grid Computing

Office Grid Computing pomocou virtuálnych prostredí - Časť 4

Tým, , piatok 04.12.2009 23:59

Úvod

Pracujem vo firme, kde sme sa spustiť mnoho dávkové spracovanie úlohy milióny záznamov dát každý deň a ja som v poslednej dobe premýšľal o všetkých strojov, ktoré sedieť každý deň robiť nič, po dobu niekoľkých hodín. Nebolo by dobré, keby sme mohli použiť tie stroje pre posilnenie výpočtového výkonu našich systémov? V tomto súbore článkov budem pozerať na potenciálne výhody zamestnávanie Office siete prostredníctvom virtualizovaných prostrediach.

V časti 3 sme vytvorili virtuálne spracovanie a nastavení počítača so systémom Windows, aby sa stal nečinnosti úväzok.

Spustenie posledný kódex

Nevyhnutne Po vytvorení pracovníkov obchodnej logiky sa zmení, bude sa nachádza chyby, bude rýchlejšia efektívnejšia kód vyrábané tak zanecháva pracovníkov sedeli spracovanie dát pomocou starej páchnuce kódu . Ako teda zabezpečíme, že sme vždy používať najnovšie a najlepšie verzia našej spracovanie skriptov?

Existuje niekoľko jednoduchých spôsobov, ako ľahko sme mohli urobiť to, trik, však, je zníženie výpočtového výkonu a prevádzku siete v dosiahnutí tohto cieľa. Začnime s najjednoduchšie riešenie a zlepšiť to pomaly cez niekoľko iterácií.

Prvé metódou by bolo jednoducho pripojiť k nášmu serveru pre ovládanie úloh (cez Sambu, FTP, atď), a strhnúť najnovšiu verziu kódu. Nie veľmi výkonný, ale to bude robiť svoju prácu. Umožňuje zlepšiť to trochu, ako sa o vytvorenie a použitie rsync skript, ktorý zakaždým, keď namiesto toho? Inak, čo sa o uvedení najnovšie spracovanie skriptu do Subversion pozrieť sa na kód na začiatku a potom už len aktualizovať náš kód na každom spustení ( svn update )?

Na záver by sme mohli skončiť s skript bash (nazvaný cronu každých 10 minút), ktorý vyzerá tak jednoduché, ako to:

  #! / Bin / sh
 Ak ps ax | grep-v grep | grep php > / dev / null
 potom
     echo "práca je v súčasnej dobe spracovania, exit"
 iný
     echo "Pracovné nebeží, začať už teraz"
     cd / cesta / k / práce / copy
     svn update
     php yourJobProcessingScript.php
 fi 

Teraz môžeme byť istí, že sa každý pokus sme definitívne posledná verzia kódu. Sme tým, že zabezpečí aktualizáciu našich zdrojový kód každého a zakaždým, keď sa vykoná spustenie a znižuje prevádzku v sieti iba prenos súboru rozdiely v našej sieti.

V mojom demonštráciu nastavení, ja som presne ako je uvedené vyššie. Subversion je nainštalovaný na svojom serveri spracovanie zákaziek a jednoducho som vytiahol posledný kód "pracovníka" pobočka pomocou "svn update '. Tiež som pridal číslo verzie tag pre moje spracovanie skriptu, ktorý sa vrátil do databázy ako súčasť výsledkov návratu. Týmto spôsobom som mohol vidieť, že môj kód bol aktualizovaný zakaždým, keď som kopíroval do kufra, tj pracovník pobočky, že som určite beží najnovšie spracovanie skriptu.

Použitie najnovších údajov

Ak je vaša práca pre spracovanie využíva zdrojových dát potom v určitom bode sa jedná bude aktualizovať tiež. Ak zavoláte svoje zdroje dát na veľmi riedkom základe budete povodne siete s prevádzkou, akonáhle vaši zamestnanci sa začnú prinášať všetko, čo k pokoju. Pre moje riešenie, som sa rozhodol, že by som rád pohyb Zdroje dát si s mojou VM.

Držte ste tam kone! Čo robiť, keď zdroje dát sú obrovské? No to je naozaj prípad, koľko dát je reč? To môže byť z hľadiska nákladov efektívnejšie inštalovať ďalší väčší pevný disk na každom počítači, než kúpiť ďalšie spracovanie servera. To je otázka rozpočtu a do podniku sa rozhodnúť. Je možná, že zdroje dát sú tak veľké, že je to len možné, aby toto množstvo dát v pracovníkom zariadenia. V tomto prípade to, čo by ste robili? Tak sme sa mohli pozrieť na volanie miestny dátový server, ale to môže spôsobiť problémy so sieťou. V tomto prípade distribučnej sústavy, ako je tento sa môže stať nereálne zahrnúť do kancelárskeho prostredia. To môže tiež byť, že sa môžete pozrieť do prevádzky alternatívne stratégie, napríklad iba Volanie pracovníkov medzi dvadsať hodín a 6 hodín ráno každú noc a / alebo škrtiacej zdroj dát požiadavky.

Presunúť sa vám tvrdiť, že naše zdroje dát je 100 GB dát. No áno, to je celkom dosť dát sa pohybovať po sieti na aktualizáciu. Ako by sa zabezpečilo, že sme posledné kópiu dát v tomto prípade? Rsync je možné, ale osobne si myslím, spustením svojej najnovšej zdroje dát na serveri spracovanie zákaziek a nastavení to sa ako majster v replikáciu (s veľmi dlho bin log), môže byť cesta:

replikácie Pri nastavení každého z vašich zamestnancov sa ako otrok do práce kontrolu aktualizácií servera do zdroja dát sa dostali až pekne k pracovníkom bez obrovský nárast aktivity v sieti (teda pokiaľ budete robiť veľké aktualizácia dát a všetkých pracovníkov v kop naraz). To má výhody oproti rsync v tom, že by ste sa dostať dlhá pauza pred každú prácu, pretože aktualizácia databázy, mysql daemon bude na pracovníka priebežne aktualizovať svoje údaje, zatiaľ čo spracovanie pokračuje.

To je, ako mám nastaviť moje demonštrácie server. Ak chcete nastaviť replikácie som podľa príručky na webe MySQL ( Nastavenie replikácie ) a do 20 minút som mal Inital pracovník kopírovať prácu kontrolujú servery dátového súboru. Za každý ďalší pracovník nastavenia replikácie a proces sa osvedčil zakaždým, keď bol skopírovaný VM.

Prehľad

V tejto časti článku sme sa zamerali na to, ako ľahké a bezbolestné je, aby vaše operačný kód v aktuálnom stave pomocou rsync, alebo using subverion (SVN) robiť prácu a znížiť zaťaženie siete na rovnakom time. Hovorili sme tiež o tom, ako , aby vaše informácie o zdroji dát up-to-data tým, že sa dostali až ku každému z vašich pracovníkov. Tak sme oblasť zabezpečí, že držíme krok s obchodnej logiky a informácie v našom systéme Office siete. K dispozícii budú samozrejme nespočetné množstvo alternatívy na plnenie týchto úloh, ale tu boli dva jednoduché príklady, ako jednoduché riešenie je zohnať.

Nabudúce

V záverečnej časti tohto seriálu, príhodne pomenované časti 5 , budeme diskutovať o nasadenie tohto systému. Budem zhrnúť to, čo sme sa naučili a čo sa mi podarilo vytvoriť.

Office Grid Computing pomocou virtuálnych prostredí - Časť 1

Tým, , piatok 04.12.2009 23:23

Úvod

Pracujem vo firme, kde sme sa spustiť mnoho dávkové spracovanie úlohy milióny záznamov dát každý deň a ja som v poslednej dobe premýšľal o všetkých strojov, ktoré sedieť každý deň robiť nič, po dobu niekoľkých hodín. Nebolo by dobré, keby sme mohli použiť tie stroje pre posilnenie výpočtového výkonu našich systémov? V tomto súbore článkov budem pozerať na potenciálne výhody zamestnávanie Office siete prostredníctvom virtualizovaných prostrediach.

Ako PHP developer budem používať nástroje, ktoré používam každý deň a to, Linux, MySQL , PHP, VirtualBox a Subversion (SVN). Avšak dúfam, že tento návod sa prispôsobí do iných jazykov a technológií, rovnako dobre.

Toto riešenie mi poskytujú bude veľmi voľne založený na spôsobe spracovania by sme potrebné dosiahnuť To však nemusí byť pravda celý článok, ako budem niečo zmeniť na jednoduchosť, alebo produkovať ďalšie zaujímavé scenáre použitia.

Tieto virtualizovaných prostredí bude bežať na strojoch s Windows, pretože to je to, čo väčšina úradov behu. Spracovanie, kancelárske stroje sa nemalo zasahovať pracovníkov pomocou týchto strojov by nevyžadujú žiadnu údržbu na stroji, a musí byť ľahko nasaditeľné na nové stroje, akonáhle budú k dispozícii. Tiež by nové virtuálne stroje nevyžaduje žiadne ďalšie nastavenia, pretože to výrazne znižuje škálovateľnosť a jednoduché, pri ktorej môže distribučnej sústavy predĺžiť.

Prečo Nasadenie Office Computing Grid?

Po prvé si môžu myslieť, prečo nie práve pomocou cloud computing zdrojov, ako je Amazon EC2 platformu ? No dôvodov môže byť niekoľko, napríklad:

  • Nebudete zveriť niektoré údaje na životné prostredie cloud computing
  • Nemôžete dať niektoré údaje do prostredia cloud computing z právnych dôvodov (napr. údaje odchodu zo zeme), prípadne z právnych dôvodov, napr NHS záznamov.
  • Vy chcete, aby vaše procesorov úzke a majú plnú kontrolu nad hardvérom i
  • Nemáte projekt finančné prostriedky na spustenie inštancií cloud
  • Váš úrad nemá pripojenie k internetu, a preto to nie je možné použiť cloud zdroje
  • Nepáči sa vám dážď, mraky naznačujú, dážď, tak budete mať ďaleko

Som si istý, výpočet by mohol pokračovať, ale myslím, že to zatiaľ stačí.

Výhody gridové výpočtovej Office

Dobre, poďme urobiť nejaké matematické (a v pravom fyzike štýle umožňuje vykonať niektoré rozsiahle predpoklady). Predstavte si, že ste veľký tučný spracovanie serveru 100 pracovných miest za deň. Vo vašej kancelárii máte 50 strojov, ktoré sú nečinnosti 16 hodín denne, každý z týchto strojov je 10% ako silný ako svalnatý spracovanie sever. (Všetky výsledky tu sú zaokrúhlené na podceňovať zvýšenie výkonu).

Áno, 1 stroj * 10% výkonu * 2 / 3 = 0,067 času, tj o 1 pracovnej plochy spracovanie v nečinnosti procese 6 plných pracovných miest za deň.

Ak teraz meradle to až za 15 nečinnosti stolných počítačov až po proces čo najviac pracovných miest za deň ako hlavný server pre spracovanie.

A tak v našej kancelárii predstierať, že 50 strojov by sme mohli zvýšiť náš výkon procesora od 1 server až 4 kompletné spracovanie servery, alebo by sme mohli byť spracovanie úloh za deň 400 namiesto 100.

Všimnite si, bez investície do nového hardvéru vaša firma práve zvýšila dávkové spracovanie kapacita 4 krát! Potenciálne sa chystáte zvýšiť spotrebu energie, ale z väčšiny kancelárskych prostrediach Bol som na stroje sú zvyčajne vľavo na cez noc tak, aby ste mohli vidieť na zelené iniciatívy.

Ďalšie výhody tiež znamená, že investície do nových (či aktualizované) spracovanie servery môžu byť odložená, ak vaše kancelárske stroje sú dostatočné a že, ako si zvýšiť výkon vášho kancelárskych strojov Vašej kancelárie rozvodná sieť stala silnejšou automaticky.

Technológia

Čo budete potrebovať? (Alebo presnejšie to, čo som sa používať):

  • Nečinnosti kancelárske stroje (v mojom prípade náhradnej staré Windows XP notebook)
  • VirtualBox (alebo iný virtualizačný klientsky softvér)
  • Virtuálny stroj s PHP, mySQL running beží znížiť OS, volám týchto mojich Limp servery:)
  • Práca spustiť
  • Pracovný server (môže byť iný virtuálny stroj niekde)

Typická práce

Typy úloh, ktoré tento systém je navrhnutý tak, aby je nasledujúci:

  • Systém dostane zoznam údaje, z ktorých musíme zápas a vráti výsledky
  • Párovanie znamená kontrola / Vyhľadávanie niekoľko (pomerne statické) zdroje dát
  • Výsledky zo zdrojov údajov môžu vyžadovať ďalšie potvrdenie, zlúčenie, kontrola ďalších dátových zdrojov v reakcii na výsledky
  • Dáta sa vracia s zodpovedajúce záznamy, plne validované a spracované
  • Každý záznam v práci, je nezávislá na ostatných

Takže v podstate sa pozeráme na bežiaci úlohy, ktoré vyžadujú kombinácia vyhľadávanie v databázach a nejaké číslo škrípať, celkom obvyklý scenár, v obchodnom prostredí.

Mriežka riešenia sú nielen výhodné pre spracovanie práce tohto typu. V podstate sa každý proces, ktorý možno rozdeliť na samostatné jednotky paralelne. Pozri tento Wikipedia príklady a ďalšie informácie: Grid Computing , ale pár známych príkladov je Seti @ Home a BIONC . Existujú rámca pre prevádzku počítačovej siete, a tie sú dobre stojí za to pozeral do.

Čo docielime?

Na konci týchto článkov dúfam, že sa ukazuje, že nasadenie Office siete nemusí byť veľmi nákladné a časovo náročné. Budem diskutovať:

  • Nastavenie práce kontrolného systému, pracovná konfigurácia
  • Vytvorenie vhodného spracovania virtuálny stroj
  • Ako nastaviť systém na stroji s Windows
  • Zabezpečenie, že používate aktuálny kód a dáta
  • Nasadenie a benchmarking
  • Pri pohľade do budúcnosti

Budem budovy (ok som staval, potom napísal), napríklad aplikácie pre testovanie koncepciou na lokálny počítač v systéme Windows XP a mojej "GridMachine" virtuálny stroj. Mojou úlohou ovládanie serveru bude môj hlavný stroj, ktorý beží Fedora 11 .

To v žiadnom prípade predviesť plne funkčný robustný systém, jeho znamenalo viac demonštrácii a diskutovať o tom, že tieto veci sa dá dosiahnuť v pomerne krátkom čase a za nízku cenu. Neváhajte a pošlite mi pripomienky, opravy, alebo zlepšenie a ja v mojich silách, aby tento článok aktualizovaný na zápas.

Nabudúce

V časti 2 sa mi začať tým, že pri pohľade na systém kontroly práce, a pozrite sa na to, ako by mala práca byť nakonfigurovaný tak, aby sa dosiahlo najväčšieho množstva spracovania, a zároveň zabezpečiť, že každá práca je spracovaná bez chýb.

Office Grid Computing pomocou virtuálnych prostredí - Časť 2

Tým, , piatok 04.12.2009 23:23

Úvod

Pracujem vo firme, kde sme sa spustiť mnoho dávkové spracovanie úlohy milióny záznamov dát každý deň a ja som v poslednej dobe premýšľal o všetkých strojov, ktoré sedieť každý deň robiť nič, po dobu niekoľkých hodín. Nebolo by dobré, keby sme mohli použiť tie stroje pre posilnenie výpočtového výkonu našich systémov? V tomto súbore článkov budem pozerať na potenciálne výhody zamestnávanie Office siete prostredníctvom virtualizovaných prostrediach.

V časti 1 som dal prehľad o systéme a technológií, budem používať, rovnako ako diskutoval niektoré z možných dôvodov, prečo by ste chceli vytvoriť kanceláriu siete.

Riadenie práce

Ak sa chystáte byť spustená prácu potom budete potrebovať nejaký spôsob, ako spravovať. Vašou úlohou riadiaceho systému (na svoju prácu serveru) musí byť veľmi dobre premyslené ešte predtým, než pokusom o spustenie programu balíka Office siete. Tak za prvé, aké sú úlohy, systém kontroly práce:

  • Pracovných miest ruku na žiadosť zamestnanca
  • Povedz pracovníkov, aký typ úloh spustiť
  • Sledovanie úloh
  • Uistite sa, že pracovné miesta sú poháňané iba raz
  • Poskytujú zamestnanie dát pre pracovníkov, alebo aspoň povedať, kde si to

Systém tiež musí byť rozšíriteľné riešenie, ktoré funguje zatiaľ v jedinom prípade môže byť rozšírená spustiť niekoľko typov pracovných miest a podnikanie vidí hodnotu v mriežke riešení. Napríklad môže získať zamestnanie priorít, viac ako jeden typ úlohy môže existovať (tj niekoľko základní kód), prípadne môžete dokonca prevádzkovať niekoľko rôznych pracovníkov stroje, ktoré sú optimalizované pre každý typ zamestnania (aj keď to nie je odklon od "všeobecnej pracovník "nápad). Vždy sa snažím premýšľať o budúcnosti pri vývoji systémov, môže krátkodobo viesť k vízii dlhodobej frustrácii a zvýšený dobu vývoja.

Server práce

Budeme potrebovať niekde ovládať našu prácu od, malo by to byť jediný systém vo svojej sieti, ktorá má pevnú Resource Locator, je, že IP adresa, meno počítača, URL (pomocou interné DNS), atď To je preto, že pracovníci musia vedieť, kde hľadať prácu, pracovníci musia nájsť prácu riadiaci systém (nie je práca riadiaceho systému nájsť zamestnanca).

Úloha server sám o sebe nemá naozaj zložitá úloha (v základnom systéme, rovnako), je potrebné uložiť zoznam miest, ruku pracovných miest, dostane výsledky, a následne ich uložiť pre neskoršie. Ako sa tieto časti (napr. "rozdávať prácu"), sú definované môže byť pomerne jednoduchý. Neskôr môžeme rozšíriť systém zahŕňa administračné rozhranie môžete pridávať, upravovať, mazať, pozastaviť pracovných miest, ale to je mimo toto cvičenie.

Neexistuje žiadny dôvod potom, že vaša práca serveru nebolo možné virtuálny stroj beží v rámci svojho hlavného spracovanie servera, ak to nie je kanalizácia príliš veľa prostriedkov z nej. Úloha serveru však potrebuje vysokú dostupnosť, pokiaľ to ide dole v piatok večer budete strácať celý víkend spracovanie, prípadne vás to stálo za pár týždňov v hodnote doba spracovania (v porovnaní s hlavným serverom pre spracovanie sám) . Môžete chcieť, aby zvážila svojej práci na serveri zaťaženie vyvážené prostredie pre vysokú dostupnosť.

Základné nastavenie

Základné nastavenia pre server, naša práca sa bude skladať z toho, čo som volať jeden z mojich Limp serverov (to je Li Nux, ySql m, P HP). Kód bežiaci na pracovníkov Thea bude skutočne fungovať, aké úlohy môže bežať interakcií s databázou, práca s riadiacim systémom. Neskôr by sme mohli vytvoriť webové služby, a v skutočnosti ruku pracovných miest, skôr než mať pracovníci tvrdú prácu sám, ale teraz budeme pokračovať v používaní princípe KISS (Keep It Simple, Stupid!).

Takže, poďme vytvoriť tri mySQL tabuľky riešiť úlohy. Tieto práce budú ``, `jobRecords` a `` jobResults.

pracovných miest tabuľky Tu som pomocou SQL Buddy Výborný alternatívu k phpMyAdmin len preto, že jeho jednoduchšiu inštaláciu na CentOS (ďalšie pozri: 10 Veľké alternatívy k phpMyAdmin )

Táto tabuľka sa skladá z 5 jednoduchých polí,

  • ID: Jedinečná identifikácia prácu
  • Názov: Môže to byť klientom odkaz, alebo ľubovoľný počet iných identifikátorov
  • Stav: Musíte vedieť, kde je práca na, napr
    • 0: nie je zahájená
    • 1: vyzdvihli sme
    • 2: Dokončené
  • started_by: Kto je začal robiť prácu? To nie je úplne nutné, ale je pekné mať. Ja by som navrhnúť sledovanie zamestnancov podľa ich IP adresy v sieti
  • started_at: Kedy sa pracovník začať prácu? Sledovaním práce, ktoré neboli dokončené v množstve X dobu vieme, že je potrebné vyzdvihnúť prácu znovu a začať spracovávať ďalšie pracovník. Pracovníci by mohli zastaviť spracovávanie / go Offline pre množstvo dôvodov, výpadku napájania, havárie, strata siete, atď

Je to jednoduché, ako by táto tabuľka byť rozšírená o niekoľko ďalších oblastiach s cieľom umožniť sledovanie štatistík, konečný čas stĺpce, ako dlho zamestnanie trvalo, počítadlo, koľko pracovníkov zdvihol prácu (samozrejme to musí obvykle 1), pracovné priority, zoznam pokračovať ďalej a ďalej. V zložitejších pracovných scenárov, že by bolo možné určiť, koľko pamäte by sa pracovník musí mať prístup k (a teda použiť len vhodných pracovníkov), alebo dokonca aký typ pracovníka by bolo potrebné.

Umožňuje pridať niekoľko príklad práce:

Napríklad práce

V nasledujúcej tabuľke je opäť veľmi jednoduchý na pochopenie, sú to naše práce záznamov. Sú spojené s hlavným zamestnania tabuľky stĺpec `` jobs_id. Tvorí v tejto tabuľke veľmi záleží na dáta, ktoré potrebujete dodávky vašich pracovníkov, umožňuje robiť veľmi jednoduchý príklad, kde máme štyri stĺpce:

  • ID: ID záznamu
  • Meno: Meno
  • Adresa: Osoba na adresu
  • jobs_id: ID úlohy, že tento záznam je spojená

Tretí a posledný stôl sa skladá z výsledkov tabuľky, má podobne ako tvoria naše záznamy tabuľky, a navyše niektoré stĺpce by mohlo byť súčasťou záznamov tabuľky:

  • job_record_id: Odkaz výsledok práce stola
  • Výsledok: Výsledok dát

... A to je všetko, čo potrebujete pre prácu kontrolou! (Aj keď na veľmi základnej úrovni) V mojom prípade som ukázal som k ďalšiemu stolu, kde sa nachádza moje osobné údaje na spracovanie, ale toto mohlo práve ako ľahko sa súbor parametrov, spustiť simuláciu kód, čo si len spomeniete.

Výber práce

Ako bolo uvedené skôr, budú robotníci robiť svoju prácu managementu pre nás, takže všetko, čo potrebujete urobiť, je naozaj nájsť si prácu, ktorá potrebuje spracovanie a získať informácie. Ako by sme to? Dobre vybrať naše kritériá výberu zamestnania a hľadať prácu v SQL som sa nasledovné:

  1. Prijať akékoľvek zamestnanie, ktoré nie sú označené ako kompletné, ale z našich pracovníkov a resetovať (náhradné __ME__ s identifikátorom, že najjednoduchšie bude IP adresa):
      UPDATE `` SET `zamestnanie status` = 0, kde `status` = 1 `a` started_by = __ME__; 
  2. Pomocou našich kritérií pre výber úlohy, vyberte si prácu a povie riadiaceho systému, ktorý tento pracovník sa zaoberá sa:
      UPDATE `` SET `zamestnanie status = 1`, `=` started_by __ME__, `started_at` = Now (), kde `status` = 0 alebo
     (`Status` = 1 `a` started_at> DATE_SUB (NOW (), interval X HOUR)) ORDER BY `id` ASC; 

    Tým, že chytí práce, ktoré neboli vrátené výsledky vo výške X sme zaistiť, že všetky úlohy sú spúšťané v prípade, že zamestnanec bude zhadzovať alebo neospravedlnenú absenciu.

  3. Ďalšie uchopiť zamestnania podrobnosti nasledujú záznamy sami:
      SELECT * FROM `pracovných miest: Kam started_by` `= __ME__ LIMIT 1;
     SELECT * FROM `job_records: Kam` id `= __JOBID__; 

Po dokončení práce vložíme náš výsledok záznamy a označiť prácu dokončiť. Pamätajte si, ako práce môže pozastaviť / obnoviť kedykoľvek počítať s nejakou robustnosť v skripte. To by mohlo byť, že úloha pozastaví polovici aktualizácia prácu kontrolného systému, takže kontrola počtu záznamov v zamestnaní a počet výsledkov uloží späť do systému kontroly práce by múdre.

Navyše, keď to ukazuje, ako je možné prácu vyberať a riadené z SQL dotazu rámec, ktorý by mal byť naozaj oddeľovať vaša práca ovládať tak, že ak sa rozhodnete prejsť na používanie webovej služby, súbor založený systém, XML , alebo iné počet systémov, nebude mať vplyv na kód, nad ním.

Pracovné konfigurácie

Ďalším aspektom je, aby zvážila veľkosti úlohy a konfigurácie. Tým, že hrá s prácou konfiguráciou môžeme zasiahnuť vynikajúcu rovnováhu medzi rýchlosťou procesu replikácie a spoľahlivosť. Urobte si pár scenárov OFA:

  1. Práca trvať 1 deň každý spustiť: To znamená, že pracovníci potrebujú 15 dní na spracovanie každého zamestnania (pamätajte 10% energie pre 2/3rds času). To zjavne nie je múdre konfiguráciu, vašou úlohou veľkosť je príliš veľký! To by trvalo minimálne dvakrát čas na spracovanie úlohy by mal ísť prvý zamestnanec neospravedlnenú absenciu (čas vyzdvihnúť, že sa nevráti a výsledkom prepracovania času). V ideálnom prípade by ste mať aspoň jeden plný pracovný ľahko zrušené na konci každého obdobia dlhej nečinnosti, tak budete mať prácu beží znovu a v najhoršom prípade zamestnania trvalo dva dni, proces by mal prvý stratí.
  2. Práca sa 1 minútu plynúť: To znamená, že pracovníci trvať asi 15 minút bežať každú prácu. Aj keď to spočiatku môže zdať ideálna, môžete získať ďalšiu prácu pre spracovanie v čase obeda, občerstvenie, stretnutia, atď tento scenár kladie nároky na ďalšie oblasti vášho systému a zavádza svoje vlastné problémy. Napríklad, najprv si setup / doba spracovania je pomer pôjde vpravo dole, a preto stráca účinnosť systému. Vaša sieť sa bude stále streaming práce informácie k jednotlivým pracovníkom frustrujúce zamestnanci, ktorí sú Dong ich každodennej práci. Vy ste tiež bude klásť väčšie nároky na serveri spracovanie zákaziek, pretože musí rozdávať veľa malých kúskov práce na pravidelnom základe. Napokon, v tejto situácii, ak vaša práca server zlyhá budete vytvárať veľké zadné protokol nedokončenú prácu zatiaľ čo väčšie pracovné miesta, by na pokračovanie v konaní blaženej nevedomosti, že práca server problémy.

V skutočnosti tam bude nikto ideálne nastavenie pre nastavenie siete, záleží na dostupné zdroje, druhy práce, pracovné podmienky obrátky času, možnosť práce v sieti, a tak ďalej. Avšak niektoré zásady by bolo:

  • Veľkosť pracovných miest tak, aby každý zamestnanec môže dostať do minimálne 3-4 pracovných miest v období 15 hodín (pravdepodobne najdlhšiu dobu nečinnosti)
  • Hrajte s veľkosti úlohy tak, aby nastavenie času stáva celkom zanedbateľné v porovnaní s dobu spracovania (s ohľadom na vyššie uvedený bod).
  • Ak sa o prácu nedokončí v dvojnásobné množstvo času (možno aj menej), môžete očakávať, že na jeho dokončenie predpokladať, že už dezertoval a začať spracovávať s iným pracovníkom. To znamená, že budete musieť počkať až na trojnásobok normálnej dĺžku práce na dokončení (možno aj dlhšie, ak následné prácu zlyhá). Možno budete chcieť znížiť tomto okamihu, ale dávajte pozor, aby jeho obmedzenie príliš veľa, ako môžete začať duplikácie spracovanie úloh v pravidelných intervaloch.
  • Práce by mali byť nezávislé na vonkajšie podmienky čo najviac. Pracovný server, napríklad, by malo byť kontaktovaný na začiatku a na konci každé pracovné miesto.
  • Nepoužívajte nasýtenia siete, bude to mať dva negatívne dôsledky, bude vaše denné zamestnanca nájsť pomocou siete frustrujúce a problémy môžu nastať s pripojením časového limitu problém, ktorý sa bude len zhoršovať, ako si škálovať sieť.
  • Zabezpečiť pracovné miesta môže bežať na vašich zamestnancov. Ak sa práce príliš náročné na pamäť a diskový priestor intenzívnej práce začne potratenia a jediné, čo si všimnete, je zníženie počtu pracovných miest spracovaná žiadny skutočný dôvod, prečo.

Predkladanie výsledkov zamestnania

Pri predkladaní výsledkov práce je dôležité skontrolovať, že výsledky neboli predložené iným pracovníkom, a to najmä v prípade, že súčasný pracovník bol spiace po určitú dobu.

Ak nie sú predložené výsledky zabezpečí, že počet výsledkov zodpovedá počtu záznamov v práci.

Ako už bolo povedané, a nemôže byť viac ako zdôrazniť, budovať odolnosť proti chybám v práci a výsledky vyhľadávania podania. Pracovníci môžu (a pravdepodobne bude) ísť do režimu spánku v najnevhodnejšej dobu a na to je potrebné pre zaistený. Tiež jednou preč oddeľovať svoje výsledky podanie pomôže uspokojiť budúce zmeny systému kontroly práce oveľa jednoduchšie riešenie.

Prehľad

V tomto section sme sa zamerali na to, čo prácu Control Server je potrebné urobiť a ako sa dostať veľmi základné nastavenie systému. Diskutovali sme o tom, ako získať prácu z riadiaceho systému a ako najlepšie nastaviť pracovné miesta, aby čo najviac využiť vášho systému Office siete. Na záver bol prezentovaný jeden alebo dva odseky na predkladanie výsledkov späť na server kontroly práce.

  • Ovládanie úloh server spravuje pracovné miesta a zabezpečia, že všetky pracovné jednotky sú dokončené
  • Abstrahovaním svoju prácu vybrať / odovzdania výsledkov môžeme zmeniť technológiu ovládania serveru bez veľké problémy
  • Nastavte si zamestnania, aby sa zabezpečilo, že sú prevádzkované rýchlo a efektívne, bez príliš veľký tlak na vašej sieťovej infraštruktúry, a bez zdvojovanie spracovania úloh v pravidelných intervaloch.
  • Uistite sa, že budovanie tolerancie chýb a omylov checking do rutiny, môžu pracovníci pozastaviť a obnoviť a najnevhodnejšej časov. Nezabudnite skontrolovať, či výsledky už boli predložené iným pracovníkom.

Nabudúce

V časti 3 sa budeme vytvárať virtuálne spracovanie a nastavenie našich strojoch s Windows, aby sa stal nečinnosti úväzok.

Office Grid Computing pomocou virtuálnych prostredí - Časť 5

Tým, , piatok 04.12.2009 23:03

Úvod

Pracujem vo firme, kde sme sa spustiť mnoho dávkové spracovanie úlohy milióny záznamov dát každý deň a ja som v poslednej dobe premýšľal o všetkých strojov, ktoré sedieť každý deň robiť nič, po dobu niekoľkých hodín. Nebolo by dobré, keby sme mohli použiť tie stroje pre posilnenie výpočtového výkonu našich systémov? V tomto súbore článkov budem pozerať na potenciálne výhody zamestnávanie Office siete prostredníctvom virtualizovaných prostrediach.

V časti 4 sme sa zamerali na použitie nástroje, ktoré zabezpečia, že používate najnovšiu verziu kódu a dátových zdrojov tak, aby získané výsledky sú vždy up-to-date s posledným obchodných informácií a logiky.

Pred nasadením

Pred nasadením svojej distribučnej sústavy, ak je tu ešte jedna vec, ktorú urobíte, a jednu vec sám je meradlom vášho existujúceho systému! Bez ohľadu na to, čo poviete kolegov o tom, koľko práce navyše systém bude robiť, ak ste čísla by toto svoje záruky nič. Tak,

  • koľko záznamov môžete spracovať v súčasnej dobe? Za deň? Za hodinu?
  • Ako dlho obyčajne trvá, aby sa obrátil prácu?
  • Ako ďaleko väčšiu kapacitu máte?

K dispozícii je i ďalšie otázky:

  • Ak váš spracovanie server (alebo jeden z vašich serverov pre spracovanie), ide dole, ako to ovplyvní vaše schopnosti, budete zmrzačený?
  • Aké výhody dúfate / očakávať, že si z distribučnej sústavy?
  • Sú vaše kancelárske stroje je možné spustiť pracovné miesta?
  • Sú vaše (alebo si môžete prácu previesť) pre prácu v tomto štýle behu?

Posledným dôležitým bodom je, aby čas na žiadne veľké zmeny, ako je tento. Aktualizujte svoj operačný kód pre prácu s použitím novej metodiky, porovnávacie znovu. Možno nastaviť spracovanie serveru spustiť virtuálny stroj, po spracovaní všetkých serverov bude len ďalším pracovníkom (len veľmi mocný relatívne). Nechajte nový proces sa usadiť.

Nasadenie

Môj návrh by bol pop do kancelárie jeden víkend vykonávať všetky inštalácie a nastavenia. Urobte to tesne predtým, než štrnásť dní na dovolenku a nechať ostatných, aby chudák sa vysporiadať s následkami ... možno nie ...

Nasadenie systému, ako je tento musí byť pomalé. Hoci sa jedná o relatívne jednoduché nastavenie tohto systému bude mať vplyv na celú kanceláriu infraštruktúry (i digitálny signál). Po prvé, nasadiť na niekoľko strojov naraz, sledovanie sieťovej prevádzky, ako pracovník hostí hrať na deň-to-dennej báze. Možno budete musieť zmeniť svoje prácu konfigurácie v reakcii na vaše nálezy.

Akonáhle sa systém usadil sa na niekoľko strojov (povedzme, že 10% všetkých kancelárskych strojov, tj 5) držať monitorovanie sieťovej prevádzky a hostiteľskom počítači performance. Ďalšie meradlo znovu, mali by ste byť teraz spracovanie o 33% viac pracovných miest ako prvá kritérií. Skontrolujte, či tomu tak je, alebo že ste aspoň v tomto Ballpark. Ak nie, zistiť, čo sa deje predtým, než prejde. Opakujte tento cyklus, kým spokojne všetky kancelárske stroje beží bez zabíjanie individuálny výkon stroja alebo brúsenie siete k pokoju.

Za všetkých okolností držať benchmarking, a to aj potom, čo sú všetky nasadenie. Skontrolujte, ako nový kód aktualizácia ovplyvňujú rýchlosť systému, pozrite sa všetci pracovníci hlási a spracovanie pracovných miest. Pomaly (veľmi pomaly), zvýšenie vašej práci konfiguráciu toho najlepšieho z vašich pracovníkov a siete.

Stop!

Čo keď chcete zastaviť pracovníci z prevádzky na dlhšiu dobu? Všetci sú tam beží, regeneračné a snaží čo najviac pre spracovanie dát, ako je hlad, hmyz. Odpoveď sa môže zdať zrejmé, ale jeho hodnotu pridávať len v prípade, jeho prehliadaná. Jednoducho upravovať svoje spracovanie skript exit (0) or die (), alebo nejaký iný príkaz zabiť spracovanie práce. Dôležitým dôvodom, prečo sme sa vždy snaží aktualizovať na najnovšie spracovanie skriptu pred beží!

Demonštrácia systému

Aby bolo možné písať tento súbor krátkych článkoch, ktoré som vytvoril veľmi malé siete preukázať technológií a metodík. Čítal som veľa návodov článkov, a používajú rôzne nástroje pre nastavenie a sledovať, čo sa deje. V žiadnom prípade som šiel von a nasýtených celú kanceláriu s prevádzkou a ani som nemal prístup k bežnému PC zamestnanca, aby videli, ako bol ovplyvnený výkon hosť.

My demonštrácie systém bol naozaj veľmi pokorný. Použil som štandardné desktopovú nastaviť ako server kontroly práce. Na to som inštaloval MySQL Server nainštalovaný nastaviť ako master replikácie, PHP , A a SVN prepojené cez apache (pre prístup prostredníctvom pracovníkov VM).

Potom som vytvoril pracovník CentOS stroj na VirtualBox na 6 rokov Windows XP notebook. Aj nastavenie plánovaných úloh, ako je uvedené Po skopírovaní VM na stroje a nechať to ísť.

Virtuálny stroj bol pripravený s PHP, Subversion, a MySQL. Overil som si vetvu s názvom "pracovník" z práce kontrolujú servery a úložiská sa uistil, že môže byť aktualizovaný pomocou "svn update '. Ďalej som nastavenia MySQL ako otrok a skontrolovať, či dáta boli replikovať MySQL na serveri kontroly práce sa na pracovníka VM. Po tom všetkom som setup bash skript a cronu.

My spracovanie skriptu v podstate išlo v duchu tejto (veľmi jednoduché veci):

  • Prečítajte si v poli Názov
  • Počíta sa počet podobných mien v tabuľke zo zdroja údajov v dňoch VM
  • Počíta sa počet mien ako vyššie, ale rozdelenie meno priestory (tj meno, stredné, priezvisko)
  • Opakoval tento proces 1000 krát

Každá práca sa približne 20 minút bežať. V jednej chvíli som otvoril niekoľko kópií pracovníka VM na notebooku windows a sledoval, ako sa pracovné miesta odškrtnúť každý z adries IP pracovníka. Na tomto mieste by som tiež potvrdil, že replikácia sa automaticky reštartuje.

Odchod z notebooku do kľudového viedlo pracovník začatím spracovanie úloh zo servera kontroly práce. Pri opätovné použitie notebooku bolo oneskorenie asi 30-60 sekúnd, to je slušné množstvo času a pracovníkov bude musieť byť vedomí, že ich stroje môže pozastaviť na krátku dobu pri návrate do stroja. Novšie stroje nemusí mať pauzu tak dlho. Prínosom vyššie spracovanie vykonávané v rámci týchto strojov pri nečinnosti by bolo viac, ktoré prevažujú zamestnanci museli čakať na krátku dobu (povedzme 1 minúta) Po príchode na ich stroje ráno (často som čakať dlhšie, že to pre Windows Defender Aktualizácia sa konať) za predpokladu, že boli informovaní o tejto (užitočný čas chytiť rannú kávu!).

Celkovo Verím, že som demonštroval technológie, ktoré by mohli byť použité na vytvorenie takéhoto systému. Ukázal som, že takýto systém funguje na (veľmi), v malom meradle a niektoré ďalšie experimentovanie môže byť zmenšený až využívať zdroje kancelárie strojov. Ak sa mi dostať do bodu, ako to dosiahnuť by ma veľmi zaujímalo, / vidieť, keď niekto iný.

Závery / hodnotenie

V ďalšom kroku by bolo zrejmé, skutočne sa v reálnom svete, príkladom a začať nasadenie systému, ako je tento v rámci kancelárskeho prostredia, a čo sa stane. Kladenie podnikania, aby sa zaviazali, bez chodník horiace spoločnosti preukázať technológiu a účinnosť môže byť trochu ťažké. Mriežky / Distribuované výpočty, je veľmi populárny, je niekoľko kruhov a má isté veľké aplikácie (BIONC, SETI @ Home, Folding @ home atď.) Nechcel som však nájsť menšieho rozsahu a jednoduchý systém, ako je ten môj vyhľadávanie, ktoré by mohli byť vrátená v rámci kancelárskeho prostredia.

Vytvoril som v podstate bez systému, s použitím prevažne open source softvér a nástroje v takmer každej kancelárie. Technológie boli v podstate preukázať a ukázať hrať a pracovať podľa očakávania. Dúfam, že som sa ukázať, že sa nie je moc práce a veľmi jednoduché nastavenie, ktoré je možné nasadiť Office systém grid computingu, ktorý je silný, lacný, A a škálovateľné všetci v rovnakom čase.

Akonáhle je systém v prevádzke už takmer žiadny koniec vyššie úprav a vylepšení môžete urobiť. Napríklad je možné štatistiky / benchmarking ľahko pridať ukazovať hodnotu takéhoto systému každý deň. Nové stroje môžu byť pridané rýchlo a ľahko, ako a kedy dorazí s upgrady existujúcich hardware posilnenie svojej výpočtový výkon.

Dúfam, že ste si užili čítania tejto sérii článkov a vám dal k zamysleniu na prevádzku kancelárie distribučnej sústavy. Riešenie tu nemusí nutne fungovať vo všetkých prípadoch, ale je potrebné prispôsobiť, aby vám umožní dostať svoje spracovanie dát vykonáva pomocou vlastného riešenia.

Neváhajte a pošlite mi pripomienky, opravy, alebo zlepšenie a ja v mojich silách, aby tento článok aktualizovaný na zápas.













Panorama Téma, ktoré Themocracy

4 návštevníci online
1 návštevníkov, 3 botov, 0 členov
Max návštevníkov dnes: 17 v 04:02 UTC
Tento mesiac: 19 v 19-08-2011 06:09 GMT
Tento rok: 130 u 28-03-2011 22:40 GMT
Za celé obdobie: 130 u 28-03-2011 22:40 GMT