Kategorija: Grid Computing

Urad Grid Computing uporabo virtualnih okolij - 4. del

Z , petek 4. december 2009 11:59

Uvod

Delam v podjetju, kjer smo teči veliko delovnih mest paketno obdelavo milijone zapisov podatkov vsak dan in sem bil pred kratkim razmišljal o vseh strojev, ki sedijo okrog vsak dan nič ne delaš več ur. Ali ne bi bilo dobro, če bi lahko uporabite s stroji, za okrepitev procesorske moči naših sistemov? V ta sklop člankov bom pogled na možne koristi zaposlovanja pisarno omrežje z uporabo virtualiziranih okoljih.

V delu 3 smo ustvarili naše virtualno obdelavo in ustanoviti stroji okna, da postane idle delovnim časom.

Running zadnje kodo

Neizogibno bo po ustvarjanju svoje delavce poslovno logiko spremembe bodo, bugs mogoče najti, bo hitreje, bolj učinkovito kodo lahko proizvajajo tako zapustili svoj ​​delavci so po obdelavi podatkov z uporabo starih smrdljiv kodo . Kako potem bomo zagotovili, da smo vedno z uporabo najnovejše in najboljše različica naše obdelave skripte?

Obstaja nekaj zelo preprostih načinov, enostavno bi lahko to naredili, trik, vendar pa je zmanjšati moč obdelave in omrežnega prometa pri doseganju tega. Začnimo z najbolj enostaven rešitev in ga izboljšati počasi nekaj iteracij.

Prvi način bi bil, da preprosto povezati na naš strežnik nadzor opravil (preko samba, FTP, ali podobno) in potegnite dol najnovejšo različico kode. Ni zelo učinkovito, vendar pa bo to delo. Lets izboljšati, da se nekoliko, kako o ustvarjanju rsync scenarij in z uporabo, da vsakič, namesto tega? Lahko kaj pa pritisk na naše najnovejše obdelavo skript v subverzije preverjanje iz kode na začetku in potem samo ažuriramo naše kode za vsako vožnjo ( svn posodabljanje )?

Na koncu bi lahko na koncu z bash skripta (imenovan po cron vsakih 10 minut), ki izgleda tako enostavno, kot to:

  #! / Bin / sh
 če ps ax | grep-v grep | grep php > / dev / null
 potem
     echo "Job je trenutno obdelavo, izstop"
 drugega
     echo "Job se ne izvaja, začeti zdaj"
     cd / pot / do / delovne / kopije
     svn posodobitev
     php yourJobProcessingScript.php
 fi 

Sedaj smo lahko prepričani, da se z vsako vožnjo smo definitivno teče zadnji kodo. Mi smo to z zagotavljanjem ažuriramo naše baze kodo vsakič, ko opravimo vožnjo in zmanjšanje omrežnega prometa, ki jih le prenosom datoteke razlik prek našega omrežja.

V mojem predstavitev setup, sem storil točno tako, kot zgoraj. Subversion je bila nameščena na mojem strežniku službo predelave in sem preprosto potegnil najnovejšo kodo iz "delavec" podružnica uporabo "svn posodobitev". Prav tako sem dodal tag številko različice na moj obdelavo skript, ki se je vrnil v bazo podatkov kot del napovedi rezultatov. Na ta način sem lahko videli, da je bil moj kodo posodablja vsakič, ko sem prekopiral moj prtljažnik v tj delavca vejo, da sem bil definitivno teče zadnji obdelavo skript.

Z uporabo najnovejših podatkov

Če je vaše delo obdelava omogoča uporabo virov podatkov potem na neki točki teh se bodo tudi posodobiti. Razen če ste pokličite viri podatkov, na podlagi zelo redko boste poplav omrežje s prometom takoj, ko delavci začeli prikazovati, prinaša vse do mirovanja. Za moje rešitev, sem se odločil, da bi rad, da se premaknete moji viri podatkov okoli z mojim VMS.

Drži, da ste konje tam! Kaj pa, če moj viri podatkov so ogromne? No to je res primer, koliko podatkov govorimo? To je lahko bolj stroškovno učinkovit namestiti dodaten večji trdi disk v vsakem stroju kot za nakup strežnika dodatno obdelavo. To je vprašanje proračuna in je do poslovnih odločitev. Je mogoče, da se vaši viri podatkov so tako velike, da je svoj ​​šele neizvedljivo, da bo, da je količina podatkov v vašem delavec stroji. V tem primeru, kaj bi ti naredil? No lahko pogledamo kliče lokalni podatkovni strežnik, vendar to lahko povzroči težave z omrežjem. V tem primeru lahko omrežij, kot so to postale nerealno vključiti v pisarniško okolje. Mogoče je tudi, da si lahko ogledate v alternativne teče strategij, na primer samo kliče svoje delavce 20:00-06:00 vsako noč, in / ali dušenje vir podatkov zahteva.

Gremo naprej recimo naši viri podatkov znaša 100 GB podatkov. No ja to je zelo malo podatkov za premikanje omrežje na posodobitev. Kako bi zagotovili, da imamo najnovejše kopije podatkov, v tem primeru? Rsync je možnost, vendar osebno mislim, da s tekom svoje najnovejše vir podatkov na strežniku delo obdelavo in nastavitev to gor kot mojster v replikacijo (z lepo dolgo log bin) je lahko pot:

replikacijo Z določitvijo vsako od vaših delavcev gor kot suženj delo posodobitve strežnika nadzor na vaši viri podatkov bo pricurljajo lepo za vaše delavce, ne da bi veliko povečanje aktivnosti omrežja (ki je, če ga izvedete ogromno podatkov, posodobitev in vse svoje delavce, brca v naenkrat). To ima prednosti pred rsync v, da ne bi dobili dolgem premoru pred vsako delovno mesto, kot zbirko podatkov posodobitve, mysql bo daemon na vašem delavec stalno obnavljati svoje podatke, medtem ko obdelava nadaljuje.

To je, kako sem ustanovila svoj predstavitveni strežnik. Če želite nastaviti replikacijo sem sledil navodilom na strani mySQL ( Nastavitev replikacija ) in v 20 minutah sem imel inital delavec posnema strežniki nabor podatkov za nadzor dela. Za vsak dodatni delavec replikacijo nastavitve in proces delal vsakič, ko je bil kopirali VM.

Povzetek

V tem delu članka smo si ogledali, kako enostavno in neboleče je, da obdržite svoj obdelavo kodo na tekočem z rsync ali using subverion (SVN), da opravi svoje delo in zmanjšati promet v omrežju na istem time. Govorili smo tudi o tem, kako da bo vaš vir podatkov informacije up-to-datum, ki mu omogoča pricurljajo do vsakega od vaših delavcev. S tem območju, zagotavlja, da bomo sledili s poslovno logiko in podatke v našem sistemu pisarni omrežje. Tam bo zagotovo nešteto možnosti za izvajanje teh nalog, ampak tukaj so bili dve preprosti primeri pokazati, kako preprosta rešitev je, da dobiti.

Naslednjič, ko

V zaključnem delu te serije, aptly imenovan 5. del , bomo razpravljali uvajanje tega sistema. Jaz bom povzeti, kar je bilo naučili in kaj mi je uspelo ustvariti.

Urad Grid Computing uporabo virtualnih okolij - 1. del

Z , petek 4. december 2009 11:23

Uvod

Delam v podjetju, kjer smo teči veliko delovnih mest paketno obdelavo milijone zapisov podatkov vsak dan in sem bil pred kratkim razmišljal o vseh strojev, ki sedijo okrog vsak dan nič ne delaš več ur. Ali ne bi bilo dobro, če bi lahko uporabite s stroji, za okrepitev procesorske moči naših sistemov? V ta sklop člankov bom pogled na možne koristi zaposlovanja pisarno omrežje z uporabo virtualiziranih okoljih.

Kot PHP razvijalec bom uporabljati orodja, ki ga uporabljam vsak dan in sicer, Linux, mySQL , PHP, VirtualBox in Subversion (SVN). Vendar upam, da bo ta vodnik prilagoditi v druge jezike in tehnologij, prav tako dobro.

Rešitev mi zagotavljajo, bo zelo ohlapno temelji na vrsti predelave mi bi ga potrebovali za dosego tega pa morda ne drži skozi ves članek, kot bom spremeniti stvari za enostavnosti, ali za proizvodnjo bolj zanimivo scenarijev uporabe.

Ti virtualiziranih okolij bo potekal na strojih oknih, ker je to tisto, kar večina pisarn teči. Predelavo, ki pisarniške naprave ne sme posegati v uslužbencev, ki uporabljajo ti stroji pa ne potrebujejo nobenega vzdrževanja na stroju, in da je lahko za napotitev na nove stroje, ko so na voljo. Prav tako nove virtualne stroje, ne sme zahtevati nobenih dodatnih nastavitev, kot to v veliki meri zmanjšuje obvladljivost in enostavnost pri kateri se lahko podaljša omrežnega sistema.

Zakaj Deploy Grid Computing urad?

Prvič ste morda mislil, zakaj ne šele raba virov računalništvo v oblaku kot platforma Amazon EC2 ? No lahko razlogov več, na primer:

  • Ne boste zaupali določene podatke na okolje cloud computing
  • Ne, ne moreš dati nekatere podatke v okolje cloud computing iz pravnih razlogov (npr. podatki, ki izstopajo iz države), lahko iz pravnih razlogov, na primer NHS zapisov.
  • Želite, da vaš procesnih enot blizu in imajo popoln nadzor nad strojno opremo preveč
  • Nimate projekt, sredstva za zagon oblak primerih
  • Vaš pisarni nima povezave z internetom, zato njeno ni mogoče uporabiti oblak virov
  • Vam ni všeč dež, oblaki kažejo, dež, zato vam ne približajte

Prepričan sem, da seznam bi lahko še naprej, vendar mislim, da je dovolj za zdaj.

Prednosti urada Grid Computing

No, omogoča še nekaj matematike (in v pravem slogu fizike omogoča, da so nekateri pometanje predpostavke). Predstavljajte si, da imate veliko Debel obdelavo strežniku 100 delovnih mest na dan. V vaši pisarni imate 50 stroje, ki so idle 16 ur na dan, vsak od teh strojev je 10%, tako močan kot vaš Debel Sever obdelavo. (Vsi rezultati tukaj so zaokroženi na podcenjevati povečanje zmogljivosti).

Torej, bi lahko stroj 1 * 10% moči * 2 / 3 čas = 0,067 to je 1. desktop predelavo v idle času procesa 6 zvrhanih opravil na dan.

Če sedaj to lestvico up traja 15 idle namiznih računalnikov za obdelavo čim več delovnih mest na dan kot vaš glavni obdelavo strežnik ne.

Torej, v naši pisarni pretvarjati, 50 strojev bi lahko povečali našo procesorske moči od 1 do 4 strežnika popolno obdelavo strežnikov, ali pa bi se lahko obdelava 400 delovnih mest na dan namesto 100.

Obvestilo, brez naložb v novo strojno opremo ima vaše podjetje samo povečala svoje zmogljivosti paketno obdelavo 4-krat! Potencialno boste povečali porabo energije, ampak iz večine okolij pisarni sem bil, da stroji so običajno na levo čez noč nekako, tako da boste lahko videli to kot zeleno pobudo.

Druge prednosti pomeni tudi, da so naložbe v nove (ali dopolnjenega) predelava strežnikov se lahko odloži, če je vaš pisarniški stroji so dovolj in da se boste izboljšali moč vaše pisarniške stroje vaš urad omrežje postane močnejša samodejno.

Tehnologije

Kaj potrebujete? (Ali bolj pravilno, kaj sem uporabo):

  • Idle pisarniške stroje (v mojem primeru nadomestnih starih oken XP laptop)
  • VirtualBox (ali drugo stranko virtualizacijske programske opreme)
  • Stvaren stroj s PHP, mySQL running teče posekali OS, da sem te kliče moj mlahavi strežniki:)
  • Jobs teči
  • Job strežnik (lahko tudi druga navidezni stroj nekje)

Tipična delovna mesta

Vrste delovnih mest, da je ta sistem zasnovan za vožnjo je naslednji:

  • Sistem prejme seznam podatkov, na katerih moramo tekmo in vrne rezultate
  • Usklajevanje vključuje preverjanje / iskanje več (precej statično) viri podatkov
  • Rezultati iz podatkovnih virov lahko zahteva dodatno potrditev, združevanje, preverjanje dodatnih virov podatkov kot odgovor na rezultate
  • Podatki se vrne z ujemajočim evidence, v celoti potrjeni in predelane
  • Vsak zapis v delo je neodvisno od ostalih

Torej v bistvu smo iskali na vodenje delovnih mest, ki zahtevajo mešanica baze podatkov poizvedbe in nekaj več škrtanje, dokaj tipičen scenarij v poslovnem okolju.

Grid rešitve niso le prednost za obdelavo delovnih mest te vrste. V bistvu lahko vsak proces, ki se lahko razdeli na samostojne enote potekati vzporedno. Oglejte si to wikipedia za primere in več informacij: Grid Computing , ampak nekaj znanih primerov SETI @ home in BIONC . Obstaja okvir za delovanje računalniške mreže, in to so dobro vredno preučiti.

Kaj bomo dosegli?

Do konca teh členov upam pokazati, da uvajanje pisarno omrežje ni treba zelo draga ali dolgotrajen. Bom, da bi razpravljali:

  • Vzpostavitev sistema za nadzor opravil, delo konfiguracijo
  • Ustvarjanje ustrezno obdelavo virtualni stroj
  • Kako namestitev sistema na računalniku windows
  • Zagotavljanje uporabljate najnovejše kode in podatkov
  • Uvajanje in benchmarking
  • Pogled naprej

Bom stavba (ok sem zgradil, nato pa napisal to), na primer vloge za testiranje konceptov na lokalnem stroju z uporabo operacijskega sistema Windows XP in moje "GridMachine 'stvaren stroj. Moja naloga je nadzor server bo moj glavni stroja, ki teče Fedora 11 .

To nikakor ni mišljeno, da dokaže polno delovno trden sistem, njegovo pomenilo več predstavitev in razpravo, ki kažejo, da se te stvari doseči v razmeroma kratkem času in z malo stroški. Prosim, vas prosimo, da mi pošljete vse pripombe, popravke ali izboljšave in bom po svojih najboljših močeh, da bo ta članek posodobiti, da se ujemajo.

Naslednjič, ko

V delu 2 bom začnemo tako, da sistem nadzora opravil, in poglej, kako mora biti nastavljen delovnih mest, da bi dosegli največjo količino obdelave hkrati zagotovijo, da je vsako delo obdelujejo brez izjeme.

Urad Grid Computing uporabo virtualnih okolij - 2. del

Z , petek 4. december 2009 11:23

Uvod

Delam v podjetju, kjer smo teči veliko delovnih mest paketno obdelavo milijone zapisov podatkov vsak dan in sem bil pred kratkim razmišljal o vseh strojev, ki sedijo okrog vsak dan nič ne delaš več ur. Ali ne bi bilo dobro, če bi lahko uporabite s stroji, za okrepitev procesorske moči naših sistemov? V ta sklop člankov bom pogled na možne koristi zaposlovanja pisarno omrežje z uporabo virtualiziranih okoljih.

V delu 1 sem dal pregled sistema in tehnologije, bom v uporabi tudi razpravljali nekateri od možnih razlogov, zakaj bi si želeli ustvariti pisarno omrežje.

Job Control

Če vas bo, da se teče delovnih mest, potem boste potrebovali nek način, da jih upravljajo. Vaše delo kontrolnega sistema (na vašem delovnem mestu strežnik), je treba res dobro premišljena, še preden poskušate zagnati pisarno omrežje. Torej, najprej, kaj so naloge za sistem za nadzor opravil:

  • Razdelite delovnih mest na zahtevo delavcev
  • Povej delavcem, kakšne vrste delovnih mest za vodenje
  • Track delovnih mest
  • Prepričajte se, da so delovna mesta delujejo samo enkrat
  • Poskrbite za delo podatke za delavce, ali pa vsaj jim povedal, kje ga dobiti

Sistem je treba tudi razširljiv, rešitev, ki deluje za zdaj v enem primeru se lahko razširi na vožnjo več vrst delovnih mest, kot so poslovni vidi vredno v mreži rešitev. Na primer, delovna mesta pridobili prednostne naloge, več kot eno zaposlitev tipa lahko obstajajo (to je nekaj kode baze), na koncu lahko celo vodijo več različnih strojev delavca, ki so optimizirani za vsako vrsto dela (čeprav to ne odmaknejo od "generično delavec "ideja). Vedno poskušajo, da razmišljajo o prihodnosti pri razvoju sistemov, lahko na kratko vizijo rok vodilo do dolgoročnejših frustracije in povečano čas razvoja.

Job Server

Bomo nekje potrebo po nadzoru naša delovna mesta iz, naj bo to edini sistem v vaši mreži, ki je določen resource locator, da se IP naslov, ime gostitelja, URL (z uporabo internih DNS), itd To je zato, ker delavci morajo vedeti, kje iskati za delovna mesta, delavci potrebujejo, da bi našli sistem za nadzor opravil (ni opravilo nadzora našli delavci).

Delo server sam ne res zapletena naloga (v osnovni sistem tako ali tako), ki jih potrebuje za shranjevanje seznam delovnih mest, roko delovnih mest, prejeli rezultate, nato pa jih shranite za kasneje iskanje. Kako te dele (kot so "roko delovna mesta"), so opredeljeni so lahko zelo osnovne. Kasneje lahko razširi sistem vključuje upravo vmesnik za dodajanje, urejanje, brisanje, začasno delovnih mest, ampak to je izven te vaje.

Nobenega razloga ni, sploh potem, da je vaše delo strežnik ni bilo mogoče virtualni stroj teče v vaš glavni strežnik za obdelavo, če te ne odteče preveč sredstev iz njega. Delo strežnik pa ne potrebujejo visoke razpoložljivosti, če gre navzdol na petek zvečer boste izgubili cel vikend za predelavo, lahko stanejo vam nekaj tednov vredno časa za obdelavo (v primerjavi s vaš glavni strežnik za obdelavo sam) . Morda boste želeli, da razmisli vaše delo strežnik na obremenitev uravnoteženo okolje za visoke razpoložljivosti.

Basic Setup

Osnovne nastavitve za naše delo server bo sestavljen iz kaj sem kliče eden od mojih mlahavi strežnikov (ki je Li Nux, m ySql, P HP). Koda deluje na delavce, Thea bo dejansko delajo, kaj delovnih mest, lahko vodijo v stiku z s službo baz podatkov sistema za nadzor. Kasneje bi lahko ustvarili spletno storitvijo in dejansko roko delovnih mest, namesto da imajo delavci ne trdo delo sami, vendar za zdaj bomo še naprej uporabljati načelo KISS (Keep it Simple, Stupid!).

Torej, lets ustvarite tri mySQL tabele za reševanje delovnih mest. Ti bodo `delovnih mest`, `jobRecords`, in `jobResults`.

delovnih mest mizo Tukaj sem s pomočjo SQL Buddy zelo malo alternativa phpMyAdmin samo zato, ker njeno lažje namestiti na CentOS (za druge, glej: 10 Great alternativ phpMyAdmin )

Ta tabela je sestavljena iz 5 preprostih polj,

  • id: identifikacijo delo
  • Ime: Ali lahko stranke reference, ali poljubno število drugih identifikatorjev
  • Status: Moraš vedeti, kje naloga je, na, na primer
    • 0: Se ne izvaja
    • 1: Pobral
    • 2: dopolnil
  • started_by: Kdo je začel delamo? To ni povsem potrebna, vendar je lepo, da so. Želel predlagam sledenje delavcev z njihovimi IP naslov v omrežju
  • started_at: Kdaj je delavec začne delo? S sledenjem delovnih mest, ki se niso zaključile v višini X časa vemo, moramo pobrati delo še enkrat in začeti predelave s strani drugega delavca. Delavci se lahko ustavite obdelavo / go offline za poljubno število razlogov, izpad električne energije, crash, omrežja izgube, itd

To je enostavno, kako bi lahko to tabelo razširiti z nekaj dodatnih polj, ki omogoča sledenje statistiki, zaključek čas stolpec da vidite, kako dolgo naj delo je, v nasprotju z vidite, koliko delavcev je pobral delo (očitno to potrebuje za običajno 1), prednostna naloga, se lahko seznam gre naprej in naprej. V bolj zapletenih scenarijev delo bi bilo mogoče določiti, koliko pomnilnika bo delavec potrebujejo dostop do (in zato uporabljajte le primerne delavce), ali pa bi celo kakšen tip delavca zahteva.

Lets dodati nekaj delovnih mest, na primer:

Na primer delovna mesta

Naslednja tabela spet je zelo preprost za razumevanje, da so to naše delo zapisov. Te so povezane z glavno tabelo delovnih mest, ki jih stolpcu `jobs_id`. Make up te tabele zelo odvisno od podatkov, ki jih potrebujete za oskrbo na vaše delavce, da omogoča zelo enostaven primer, kjer imamo štiri stolpce:

  • id: ID zapisa
  • Ime: ime osebe
  • Naslov: oseba, naslov
  • jobs_id: delo ID, da je ta zapis povezan z

Tretja in zadnja tabela je sestavljena iz tabele rezultatov, to je podobno kot naša sestavljajo tabele zapisov, in z dodajanjem nekaterih stolpcih bi lahko del tabele zapisov:

  • job_record_id: Povezava rezultat na tabelo opravila
  • Rezultat: Rezultat podatki

... In to je vse, kar potrebujete za nadzor delo! (Čeprav na zelo osnovni ravni) V mojem primeru sem opozoril na drugo mizo, kjer je bila moja podatkov za obdelavo, vendar pa bi to lahko prav tako enostavno je datoteka, parametri za zagon simulacije kodo, kar hočete.

Izbira delo

Kot je bilo že omenjeno, bodo delavci to naše delo upravljanja za nas, za zdaj, tako da vsi moramo res storiti, je najti delo, ki potrebuje za predelavo in dobili informacije. Kako bi to naredil? No kramp naše merili za izbiro novih delovnih mest in iskanju zaposlitve, v SQL sem naredil naslednje:

  1. Vzemite vsakega delovnega mesta, ki niso označena kot dokončana, ampak iz naših delavcev in jih ponastavi (nadomestek __ME__ z identifikacijsko oznako, bi najlažje je IP naslov):
      UPDATE `delovnih mest` SET `stanja` = 0 WHERE `stanja` = 1 in `started_by` = __ME__; 
  2. Uporaba naših merila za izbor službo, izberite delovno mesto in povedal, nadzorni sistem, da je ta delavec, ki se ukvarjajo z njim:
      UPDATE `delovnih mest` SET `stanja` = 1, `started_by` = __ME__, `started_at` = NOW () WHERE `stanja` = 0 ali
     (`Stanja` = 1 in `started_at`> DATE_SUB (NOW (), INTERVAL X HOUR)) ORDER BY `id` ASC; 

    Z oprijemalne delovnih mest, ki niso vrnila rezultatov v višini X časa bomo zagotovili, da so vsa delovna mesta vodijo v primeru delavca treskav ali gredo AWOL.

  3. Nato zgrabi delovnih mest podrobnosti sledijo zapisi sami:
      SELECT * FROM `delovnih mest` WHERE `started_by` = __ME__ LIMIT 1;
     SELECT * FROM `job_records` WHERE `id` = __JOBID__; 

Po zaključku dela smo vstavite rezultat naše evidence in označite delo kot popolna. Ne pozabite, saj lahko delovna mesta prekinitev / nadaljevanje kadarkoli omogočila določena robustnost v vaš scenarij. Mogoče je, da je naloga prekine na polovici posodablja sistem nadzora opravil, tako da preverjanje število zapisov v službo in število rezultatov shrani nazaj v sistem za nadzor opravil bi bila pametna poteza.

Poleg tega pa to dokazuje, kako je mogoče delovnih mest izbranih in upravljanih iz SQL query-frame Res bi morali abstracting svoje delo nadzor, tako da če se boste odločili za prehod na uporabo spletne storitve, datoteke glede sistema, XML , ali kateri koli drugi število sistemov, to ne vpliva kodo nad njo.

Job Configuration

Naslednji vidik, da razmisli je delo velikosti in konfiguracije. Z igranjem s konfiguracijo službo lahko udari odlično ravnovesje med hitrostjo, proces razmnoževanja, in zanesljivost. Take scenarije OFA nekaj:

  1. Jobs vzeti 1 dan vsak teči: To pomeni, da vaš delavci potrebujejo 15 dni za obdelavo vsako delovno mesto (ne pozabite 10% moči za 2/3rds časa). To je očitno ni pametno konfiguracijo, vaša naloga je velikost tako prevelika! Zato bi potrebovali vsaj dvakrat toliko časa, da bi dobili službo predelane naj bo začetni delavec šel AWOL (čas, da se poberem, da se ni vrnil rezultat predelave plus čas). V idealnem želite imeti vsaj eno polno delovno mesto z lahkoto odstranjujeta koncu vsakega prostega teka dolgo obdobje, da način, kako ohraniti delovna mesta tiktaka več, v najslabšem primeru bi službo traja dva dni, da se proces mora prvo iti manjka.
  2. Jobs vzemite 1 minuto teči: To pomeni, da vaši delavci traja približno 15 minut teči vsako delo. Medtem ko to lahko na začetku zdi idealno, boste pridobili dodatno delo za predelavo v času kosila, odmori za kavo, sestanki, itd Ta scenarij postavlja pritisk na druga področja vašega sistema in uvaja svoje težave. Na primer, najprej vaš setup / čas obdelave razmerje se bo šel desno dol, zato izgubljajo učinkovitost sistema. Vaš omrežje se bo treba nenehno pretakanje delo informacije na različne delavce, frustrirajuće osebja, ki so dong svoje vsakodnevno delo. Ti si tudi dogaja, da se bolj pritisk na strežniku delo za predelavo, saj je jed iz veliko in veliko majhne koščke dela redno. Nazadnje, v tej situaciji, če svoje delo strežnik gre dol boste ustvarili velik log zadnji nedokončanega dela, medtem ko večjih mest bi lahko v njem naprej obdelave Blaženo vedela, da je delo server je bil v težavah.

V resnici ne bo nihče idealno konfiguracijo za vaše omrežje setup, veliko je odvisno od razpoložljivih sredstev, vrste delovnih mest, delovnih zahtev čas preobrat, zmogljivosti omrežja, in tako naprej. Vendar pa bi nekatere smernice, so:

  • Velikost delovnih mest, tako da lahko vsak delavec priti skozi vsaj 3-4 delovnih mest v roku 15 ur (najdaljša verjetno idle časovno obdobje)
  • Play with obsega opravila, tako da nastavitev časa postane dokaj nepomemben v primerjavi z obdelavo času (ob upoštevanju zgoraj točko).
  • Če delo ni popolna v dvojno količino časa (morda manj), lahko pričakujete, da popolnoma prevzame, da njegove šel AWOL in začnete obdelavo z drugim delavcem. To pomeni, boste morda morali počakati do trikrat normalni dobi službo, da bi popolno (morda dlje, če nadaljnje delo ne uspe). Morda boste želeli, da zmanjša ta čas, vendar bodite previdni, da se ne zmanjša preveč, saj lahko začnete podvajanja nalog za obdelavo na redni osnovi.
  • Delovna mesta morajo biti neodvisne od zunanjih zahtev v največji možni meri. Naloga strežnika, na primer, je treba samo obrniti na začetku in na koncu vsakega delovnega mesta.
  • Ne nasičena vaše omrežje, bo to imelo dve negativni učinki, bo vaš dnevni zaposlenih najdete z uporabo omrežja, frustrirajuće in težave, ki lahko nastopijo s povezavami časa ven problem, ki bo le še slabše, kot ste lestvici vaše omrežje.
  • Zagotavljanje delovnih mest se lahko izvaja na vaših delavcev. Če je delovnih mest preveč spomin bo intenzivno ali prostora na disku intenzivnih delovnih mest začeli z zaustavitvijo in edina stvar, ki jo boste opazili, je upad števila delovnih mest obdelanih brez pravega razloga, zakaj.

Predložitev Rezultati Job

Pri predložitvi rezultatov delo je pomembno, da preveri, ali so rezultati niso bili predloženi drug delavec, še posebej, če je bil sedanji delavec mirujočem stanju nekaj časa.

Ko so predloženi rezultati zagotoviti, da se število rezultatov ustreza številu zapisov v službo.

Kot je navedeno prej, in ne more biti več kot poudariti, zgraditi toleranco napak v iskanje novih delovnih mest in rezultate oddajo. Delavci lahko (in najverjetneje bo) šel v način mirovanja na najbolj neprijetno, kolikokrat in s tem mora biti poskrbljeno za. Prav tako še enkrat abstracting stran vaše rezultate oddajo bodo pomagali poskrbeti za prihodnje spremembe v sistemu nadzora opravil veliko lažje reševanje.

Povzetek

V tem section smo si ogledali, kaj nadzor opravil strežnik mora storiti in kako priti zelo osnovni sistem vzpostavi. Razpravljali smo o tem, kako pridobiti delovno mesto iz sistema nadzora in kako najbolje nastaviti delovnih mest, da bi dobili največ naših vašega sistema pisarno omrežje. Za konec, je bil predstavljen odstavek ali dva o predložitvi rezultate nazaj na strežnik nadzor opravil.

  • Nadzor opravil strežnik upravlja delovna mesta in zagotavlja, da so končana vsa dela enote
  • Z abstracting svoje delo izberite / Rezultati oddajo lahko spremenimo tehnologijo za nadzor strežnika, ne da bi veliko težav
  • Nastavitev delovnih mest, da se zagotovi, da so teči hitro in učinkovito, ne da bi preveč pritiska na vaše omrežne infrastrukture, in brez podvajanja naloge obdelave na redni osnovi.
  • Prepričajte se, da si gradijo toleranco napak in napak checking v vaše rutine, lahko delavce začasno ustavi in ​​nadaljuje, najbolj neprijetno krat. Ne pozabite preveriti, če so rezultati že bili predloženi drug delavec.

Naslednjič, ko

V delu 3 bomo ustvarili našo virtualni stroj za obdelavo in vzpostavitev naših oken stroje, da postane idle delovnim časom.

Urad Grid Computing uporabljajo navidezna okolja - 5. del

Z , petek 4. december 2009 11:03

Uvod

Delam v podjetju, kjer smo teči veliko delovnih mest paketno obdelavo milijone zapisov podatkov vsak dan in sem bil pred kratkim razmišljal o vseh strojev, ki sedijo okrog vsak dan nič ne delaš več ur. Ali ne bi bilo dobro, če bi lahko uporabite s stroji, za okrepitev procesorske moči naših sistemov? V ta sklop člankov bom pogled na možne koristi zaposlovanja pisarno omrežje z uporabo virtualiziranih okoljih.

V 4. del smo si ogledali z uporabo orodja, ki zagotavljajo, da smo tekmovanje v teku najnovejšo različico virov kode in podatkov, tako da se dobljeni rezultati vedno up-to-tekočem z najnovejšimi informacijami in poslovno logiko.

Pre-Deployment

Pred namestitvijo vašega omrežnega sistema, če obstaja ena stvar, ki vam in ena stvar, samo to je merilo vaš sedanji sistem! Ni važno, kaj vam povem, kolegi o tem, koliko dodatnega dela je vaš sistem bo naredil, če imate številke bi to vaše garancije, so nič. Torej,

  • koliko zapisov lahko proces trenutno? Per Day? Na uro?
  • Kako dolgo traja običajno obrnil delo?
  • Koliko več zmogljivosti imaš?

Tam je tudi dodatna vprašanja:

  • Če vaš strežnik za obdelavo (ali eden od vaših strežnikov za predelavo) gre dol, kako bo to vplivalo na vaše zmožnosti, boste pohabljene?
  • Katere prednosti vam upam / pričakujem, da bi dobili od omrežnega sistema?
  • Ali vaš pisarniški stroji pogon delovnih mest?
  • Ali so vaši (ali ste lahko pretvori delovnih mest), za delo v tem slogu vodenja?

Zadnji večji točka je, da si vzemite čas za večje spremembe, kot je ta. Posodobite obdelave kode za delo z novo metodologijo, merilo znova. Mogoče nastaviti obdelavo strežnik teči virtualni stroj, po vsem vašem strežniku obdelave bo zgolj še eno delavca (samo zelo močan one relativno). Pustimo, da se novi postopek za poravnavo.

Deployment

Moj predlog bi bil pop v pisarno en vikend opravljajo vse naprave in nastavitev. Ali to tik pred praznik štirinajst dni in pustite, da drugi slabo chap za reševanje posledic ... morda pa tudi ne ...

Deployment za sistem, kot je to treba počasi. Kljub temu, da bi bilo relativno enostavno vzpostaviti sistem, to bo vplivalo na vaše celotno infrastrukturo pisarni (tudi digitalni enega). Prvič, razvaljamo na nekaj strojev v času, prometa monitor omrežja, kako delavec gosti nastopili na dan za dnem. Morda boste morali spremeniti svoje delo konfiguracijo kot odgovor na vaše ugotovitve.

Ko je sistem poravnana z nekaj stroji (recimo 10% vseh pisarniških strojev, tj 5) da mreže za spremljanje prometa in gostitelj stroj performance. Next merilo še enkrat, bi morali sedaj obdelavo 33% več delovnih mest kot vaš prvi meril. Preverite to je tako, ali da ste vsaj v tem podobno. Če ne, raziskati, kaj se dogaja pred prehodom na. Ponovite ta cikel, dokler ne boste srečno vse pisarniški stroji teče brez ubijanja posameznih stroja ali brušenje svojega omrežja do mirovanja.

Ves čas vodi primerjalno analizo, tudi po tem, ko so narejene vse postavitve. Preverite, kako nove posodobitve kode vpliva na hitrost vašega sistema, preverite vse delavce, so poročanje in obdelavo delovnih mest. Počasi (zelo počasi), prirastek vaša naloga, konfiguracijo, da bi dobili najboljše iz vaše delavce in omrežja.

Stop!

Kaj pa, če želite ustaviti vaše delavce iz teče nekaj časa? Vsi so tam teče, regeneracijo, in poskuša po svojih najboljših močeh za obdelavo podatkov, kot lačen žuželke. Odgovor se morda zdi očitno, vendar je vredno dodal, samo v primeru njegove spregledati. Preprosto urejanje obdelavo skript, z izhodom (0) ali die () ali kakšno drugo izjavo, da bi ubil svojega obdelavo delo. Pomemben razlog, zakaj smo vedno poskušali posodobiti na najnovejšo scenarij obdelave pred vožnjo!

Prikaz sistema

Da bi napisati to niz kratkih člankov sem ustvaril zelo majhno mrežo za prikaz tehnologij in metodologij. Prebral sem veliko člankov, vaj, in se uporablja različna orodja za namestitev in spremljati, kaj se dogaja. Nikakor sem šel ven in nasičenih celo pisarno s prometom in prav sem imel dostop do rednega PC članov osebja, da vidite, kako je bila prizadeta gostitelja uspešnosti.

Moja predstavitev Sistem je bil zelo skromen res. Včasih sem svoj redni pult ustanovljen kot strežnik nadzor opravil. Na to sem imel umestiti mySQL server nameščen ustanovljena kot mojster v replikacija, PHP , Â in SVN povezani preko apache (za dostop prek delavca VM).

Nato sem ustvaril stroj delavec CentOS na VirtualBox na 6 let star laptop Windows XP. Jaz namestitev predvidene naloge, kot je določeno po kopiranju VM na stroj in pustite, da gredo.

Stvaren stroj je bila ustanovljena z PHP, prevrata, in mySQL. Sem preveril vejo imenovano "delavec" iz mojega nadzora nad delom skladišče strežnikov in je prepričan, da bo mogoče posodobiti s "svn posodobitev". Nato sem namestitev mySQL kot suženj in preverila, da podatki, je bil posnemajo iz mySQL na strežniku nadzor opravil do delavca VM. Po vsem tem sem nastavitve bash skript in cron delo.

Moja obdelavo skript, v bistvu je šel v skladu s smernicami tega (zelo preproste stvari):

  • Preberite na ime polja
  • Prešteti število podobnih imen v tabeli iz vira podatkov potekala VM
  • Preštetih številnih imen kot zgoraj, vendar delitev ime s presledki (npr. ime, srednji, priimek)
  • Ponavljajoči se ta proces 1000 krat

Vsako delo je približno 20 minut teči. V nekem trenutku sem odprl več kopij delavca VM na laptop okna in gledal delovnih mest je treba preveriti off vsaka od naslovov IP delavca. Na tej točki sem tudi potrdila, da replikacija samodejno ponovno zažene.

Leaving laptop v prostem teku povzročilo delavec začenja proces delovnih mest iz strežnika nadzor opravil. Ko nadaljevanje laptop uporaba je bila zamuda približno 30-60 sekund, to je precej časa in osebja, bi jih bilo treba zavedati, da lahko svoje stroj premor za kratek čas, ko se vračajo v stroj. Novejši stroji ne sme imeti premor tega dolga. Korist zneska obdelave izvedejo te naprave v prostem teku obdobja, ki bi bolj prevladali nad uslužbencem, čakati kratko obdobje (recimo 1 minuto), ob prihodu na njihovo stroji zjutraj (I pogosto čakati več, da je to za Windows Defender Posodobitev bo potekala), če so bili seznanjeni s tem (koristen čas, da zgrabite jutranjo kavo!).

Na splošno sem prepričani, da sem pokazala tehnologije, ki bi jih lahko uporabili za vzpostavitev takega sistema. I so pokazale, da tak sistem deluje na (zelo) majhnem obsegu in z nekaj več eksperimentirati lahko povečajo izkoristiti vire strojev urada. Če ne dobim do te mere, to bi jaz zelo zanimalo, / videti, ko nekdo drug ne.

Sklepi / vrednotenje

Naslednji korak bi bil očitno dejansko dobil pravi primer svet in začeti za uvedbo sistema, kot je to v pisarniško okolje in videti, kaj se zgodi. Zahtevati od podjetja, da se zavežejo k temu, ne da bi utrl pot podjetje dokazati, tehnologijo in učinkovitost, se lahko malo težko. Grid / porazdeljeni računalniški je zelo priljubljen, je nekaj krogov in ima nekaj velikih aplikacij (BIONC, SETI @ Home, Folding @ Home, itd). Nisem pa našli v manjšem obsegu in enostaven sistem, kot je ta v mojem iskanja, ki bi jih lahko valjan jasno v pisarniško okolje.

Ustvaril sem v bistvu brez sistema z uporabo večinoma odprtokodne programske opreme in orodij na voljo v skoraj vsaki pisarni. Tehnologije, so bili v bistvu dokazano, in pokazati, da opravlja delo, in kot je bilo pričakovano. Upam, da sem pokazati, da z ni veliko dela in z zelo preprosto namestitev lahko uvedete computing pisarno omrežij, ki je močan, poceni, Â in prilagodljiva vse ob istem času.

Ko je sistem gor in deluje skoraj ni konec količino prilagoditev in izboljšav, ki jih lahko da. Na primer statistika / primerjava z lahkoto doda prikazuje vredno takega sistema vsak dan. Nove naprave se lahko dodajo hitro in enostavno, če in ko pridejo z nadgradnje obstoječe strojne opreme krepitev vaših procesorske moči.

Upam, da ste uživali branju tega serijo člankov in vam dal snov za razmišljanje o tekočih sistem pisarno omrežje. Rešitev, predstavljena tukaj, ne bo nujno delo v vseh situacijah, temveč bi morala biti prilagodljiva, da vam omogočajo, da dobite podatke predelavo, opravljeno s svojo rešitev.

Prosim, vas prosimo, da mi pošljete vse pripombe, popravke ali izboljšave in bom po svojih najboljših močeh, da bo ta članek posodobiti, da se ujemajo.













Panorama Tema, ki jo Themocracy

8 obiskovalcev online zdaj
4 gostov, 4 bote, 0 člani
Max obiskovalci danes: 13 ob 12:11 UTC
Ta mesec: 23 24-08-2011 ob 05:40 UTC
To leto: 130 28-03-2011 ob 22:40 UTC
Ves čas: 130 28-03-2011 ob 10:40 UTC