Kategooria: Grid Computing

Office Grid Computing kasutades virtuaalses keskkonnas - 4. osa

Autor , reedel 4. detsember 2009 11:59

Sissejuhatus

Töötan ettevõttes, kus võtame palju partii töökohad töötlemise miljoneid plaate andmete iga päev ja ma olen mõelnud hiljuti umbes kõik masinad, et istuda ümber iga päev midagi mitu tundi. Kas ei oleks hea, kui saaksime kasutada neid masinaid turgutada töötlemise võimsus on meie süsteemi? Selles kogum esemeid ma lähen vaatama potentsiaalsete tulude tööd kontoris võrku kasutades virtualised keskkondades.

Aastal 3. osa oleme loonud meie virtuaalne töötlemise masin ja luua aknad masinad saada idle tööajaga töötajatele.

Running viimane koodeks

Paratamatult pärast luua oma töötajate äriloogika muutub, vead leitakse, kiirem tõhusam koodi valmistatakse jättes oma töötajad istusid andmete töötlemiseks, kasutades vana haisev kood . Kuidas siis me tagame, et me oleme alati kasutades uusimaid ja parimaid versioon meie töötlemise skriptid?

On mõned väga lihtne, lihtsal viisil me võiksime seda teha, trikk, aga see, et vähendada töötlemise võimsus ja võrguliikluse selle saavutamisel. Võimaldab alustada lihtsam lahendusi ja parandada seda aeglaselt paar iteratsiooni.

Esimene meetod oleks lihtsalt ühendada oma töö kontrolli server (via samba, FTP vms) ja tõmmata alla uusim versioon koodi. Ei ole väga tõhus, kuid ta teeb tööd. Võimaldab parandada seda veidi, kuidas on luua rsync script ja kasutades iga kord, selle asemel? Teise kuidas paneb meie viimane töötlemise skripti õõnestamises kontrollimiseks läbi kood esialgu ja siis lihtsalt ajakohastades meie koodi iga run ( svn uuendada )?

Lõpuks saime lõpuks bash script (kutsutud cron iga 10 minuti järel), mis näeb välja nii lihtne kui see:

  #! / Bin / sh
 kui ps ax | grep-v grep | grep php > / dev / null
 siis
     echo "Töö on praegu töötlemine, exit"
 teine
     echo "Töö ei tööta, alusta siit"
     cd / path / to / töö / copy
     svn uuendada
     php yourJobProcessingScript.php
 fi 

Nüüd võime olla kindlad, et iga joosta me kindlasti töötab uusima koodi. Tagame selle, ajakohastades meie koodi baasi iga kord me sooritame joosta ja vähendada võrguliiklust vaid kandes faili erinevusi meie võrku.

Minu tutvustamise setup, ma tegin täpselt nii, nagu eespool. Subversion paigaldati minu töö töötlemine server ja ma lihtsalt tõmbas viimase koodi "töötaja" filiaal kasutades "svn update '. I lisas ka versiooni number tag mu töötlemise script mis tagastati andmebaasi osana tulemused tagasi. Nii ma nägin, et minu kood oli uuendatakse iga kord, kui ma kopeeritud mu pagasiruumi arvesse töötaja filiaal st et mul oli kindlasti töötab viimane töötlemise script.

Kasutades uusimaid andmeid

Kui teie töö töötlemine kasutab andmeallikate siis mingil hetkel neid saab olema uuendatud liiga. Kui te helistate oma andmete allikad väga harva alusel sa lähed üleujutus oma võrku liikluse niipea kui oma töötajate alata tuues kõike soiku. Minu lahendus ma otsustasin, et tahaks minna minu andmeallikad ringi minu VM.

Hold your hobused seal! Mida teha kui minu andmeallikad on SUUR? Noh see tõesti on tegemist kui palju andmeid me räägime? See võib olla tasuvam paigaldada täiendavaid suurem kõvaketas igasse masina peale, osta täiendava töötluse server. See on küsimus, eelarve ja on kuni äri otsustada. See võib-olla, et teie andmete allikatest on nii suur, et selle lihtsalt võimatu hoida, et andmemaht oma töötaja masinaid. Sel juhul mida sa teeksid? Hästi me võiks vaadata helistades kohalike andmete server, kuid see võib tekitada probleeme võrku. Sel juhul grid süsteem nagu see võib muutuda ebarealistlikuks lisada oma Office'i keskkonnas. Samuti võib olla, et saate otsida alternatiivseid töötab strateegiad, näiteks ainult helistamise töötajate 08:00-6:00 igal õhtul ja / või kuristusta andmeallikas nõuab.

Liikumine kohta saab öelda, meie andmeallikate summa 100GB andmeid. Noh jah see on üsna vähe andmeid, et liikuda võrgustik update. Kuidas me tagame, et oleme viimaste andmete koopia sel juhul? Rsync on üks võimalus, kuid mina isiklikult arvan, käivitades oma viimaseid andmeallikas on teie töö töötlemine server ja määrata käesoleva meister replikatsiooni (koos kena pikk bin log) võib nii minna:

replikatsiooni Seades iga oma töötajaid üles nagu ori töö kontrolli server uudiseid oma allikatele niriseb kenasti oma töötajad ilma tohutult kasvanud võrgustiku tegevuse (st kui te sooritate tohutu andmete uuendamine ja kõik oma töötajate kick in korraga). See on eeliseid rsync et te ei jääks pikk paus enne iga töö; kui andmebaasi uuendused, mysql deemon oma töötaja pidevalt ajakohastab oma andmeid, kui töötlemine jätkub.

See, kuidas ma loodud mu tutvustamistegevuse server. Luua replikatsiooni Ma järgisin juhend mySQL koha ( seadistamine replikatsiooni ) ja 20 minuti jooksul oli mul inital töötaja imitatsiooniga töö kontrolli serverid andmebaasil. Iga täiendava töötaja replikatsiooni seaded ja protsessi töötas iga kord, kui VM kopeeriti.

Kokkuvõte

Selles osas artikkel vaatlesime kuidas lihtne ja valutu see on hoida oma töötlemine kood kuni kuupäeva järgi using rsync või subverion (SVN), et teha tööd ja vähendada võrguliiklust samal time. Samuti arutati, kuidas hoida oma andmeallikast andmed up-to-date, võimaldades sellel nire alla iga oma töötajaid. Seega me piirkond et me kursis äriloogika ja informatsiooni meie kontoris võrgusüsteemi. Seal saab ilmselt lugematuid alternatiive nimetatud ülesannete täitmisel, kuid siin olid kaks lihtsat näidet, et näidata, kui lihtne lahendus saada.

Järgmine kord

Viimases osa sellest seeriast tabavalt nimeks Osa 5 , me arutada rakendades seda süsteemi. Ma kokku, mida on õppinud ja mida mul õnnestus luua.

Office Grid Computing kasutades virtuaalses keskkonnas - 1. osa

Autor , reedel 4. detsember 2009 11:23

Sissejuhatus

Töötan ettevõttes, kus võtame palju partii töökohad töötlemise miljoneid plaate andmete iga päev ja ma olen mõelnud hiljuti umbes kõik masinad, et istuda ümber iga päev midagi mitu tundi. Kas ei oleks hea, kui saaksime kasutada neid masinaid turgutada töötlemise võimsus on meie süsteemi? Selles kogum esemeid ma lähen vaatama potentsiaalsete tulude tööd kontoris võrku kasutades virtualised keskkondades.

Kuna PHP arendaja ma lähen kasutada tööriistu, et ma kasutan iga päev nimelt, Linux, MySQL , PHP, VirtualBox ja õõnestamises (SVN). Kuid ma loodan, et see juhend kohaneda teiste keelte ja tehnoloogiate sama hästi.

I lahust pakkuda väga lõdvalt põhineb tüüpi töötlemise olime vajadust saavutada aga see ei pruugi olla tõsi läbi kogu artikli, kui ma muudan asju lihtsus, või toota rohkem huvitav kasutamise stsenaariumid.

Need virtualised keskkondades näitamist aknad masinad sest see, mida enamik büroode jooksma. Töötlemistoimingud, mis bürooseadmed teha ei tohiks segada personali kasutades neid masinaid, peaks nõudma üldse hooldust masin ja kergesti käivituva et uusi masinaid, kui need muutuvad kättesaadavaks. Ka uus virtuaalne masin ei tohiks nõuda täiendavaid konfiguratsiooni, kuna see vähendab oluliselt mastaapsuse ja lihtsus, kus võrgusüsteemi võib pikendada.

Miks Deploy Office Computing Grid?

Esiteks võite mõelda, miks mitte lihtsalt kasutada cloud computing ressurss nagu Amazon EC2 platvormi ? Noh põhjuseks võib olla mitu, näiteks:

  • Sa ei või delegeerida teatud andmete cloud computing keskkond
  • Sa ei saa panna teatud andmed cloud computing keskkond õiguslikel põhjustel (nt andmete lahkumist riigist), potentsiaalselt õiguslikel põhjustel, näiteks NHS arvestust.
  • Sa tahad hoida oma töötlemisüksused tihe ja on täielik kontroll riistvara liiga
  • Sa ei pea projekti rahad joosta pilv juhtudel
  • Oma kontoris ei ole Interneti-ühendus ja seetõttu ei ole võimalik kasutada pilv ressurss
  • Sa ei meeldi vihm, pilved näitavad vihma, seega hoiate eemal

Olen kindel, et loetelu võiks jätkata, kuid ma arvan, et piisab nüüd.

Eelised Office Computing Grid

Noh, võimaldab teha mõningaid matemaatika (ja tõsi, füüsika stiili puhul saab teha mõned pühkimine eeldused). Kujutage ette, teil on suur lihakas töötlemine serveris 100 töökohta päevas. Oma kontoris sul on 50 masinad, mis on idle 16 tundi päevas, kõik need masinad on 10% sama võimas kui teie lihakas töötlemine Sever. (Kõik tulemused siin on ümardatud alahinnata jõudluse kasv).

Niisiis, 1 masin * 10% võimsuse * 2 / 3 korda = 0,067 st 1 desktop töötlemiseks jõudeaeg võivad käidelda 6 põhikohaga tööd päevas.

Kui te nüüd skaala selle üles see võtab 15 idle lauaarvutid töödelda nii palju tööd päevas, kui teie peamine töötlemise server teeb.

Nii et meie teeselda kontoris 50 masinate saaksime suurendada meie töötlemise võimsus alates 1. server kuni 4 täis töötlemise serverid, või me võiks töötlemise 400 töökohta päevas, mitte 100.

Pane tähele, mitte investeeringuid uutesse riistvara teie firma on just tõusnud oma partii töötlemise võimsus 4 korda! Potentsiaalselt sa lähed, et suurendada oma võimu kasutamine, kuid enamik kontori keskkonnas Olen olnud masinad on üldiselt jäänud üleöö niikuinii, nii et sa ei näe seda rohelist algatust.

Muud eelised tähendab ka, et investeeringud uutesse (või uuendatud) töötlemise serverid võib viibida, kui teie bürooseadmed on piisavad ja kui teil parandada võimu oma bürooseadmed oma kontori võrk muutuks võimsam automaatselt.

Technologies

Mis sul vaja on? (Või õigemini mida ma kasutamisel):

  • Idle kontoriseadmed (minu puhul vaba vana Windows XP laptop)
  • VirtualBox (või muu virtualisation kliendi tarkvara)
  • Virtuaalne masin PHP, MySQL running töötab kärpima OS, ma helistan nende mu Limp servereid:)
  • Jobs joosta
  • Töö server (saab teise virtuaalse masina kusagil)

Tüüpilised Jobs

Tüüpi töökohti, et see süsteem on mõeldud töötama on järgmine:

  • Süsteem saab andmete loetelu, millele me peame vastama ning taastada tulemused
  • Kohandamine on seotud kontrollimise / otsivad mitmed (üsna staatiline) andmeallikate
  • Tulemused andmeallikad võivad vajada edasist kinnitamine, ühinevad, kontroll täiendavaid andmeallikaid vastuseks tulemused
  • Andmed on tagastatud sobitamine arvestust, täielikult valideeritud ja töödeldud
  • Iga kirje jooksul töö on sõltumatu ülejäänud

Nii et põhimõtteliselt me ​​vaatame töötab töökohti, mis nõuavad segu andmebaasi otsingud ja mõned number krigistamine, mis on üsna tüüpiline stsenaarium ärikeskkonda.

Grid lahendused ei ole ainult kasulik töötlemine töökohti seda tüüpi. Põhimõtteliselt meetod, mille võib jagada iseseisvad saab käivitada paralleelselt. Vaata seda wikipedia näiteid ja lisainfo: Grid Computing , kuid paar tuntud näited on Seti @ Home ja BIONC . On raamistike jooksvate arvutite võrgud, ja need on hästi väärt.

Mida me saavutada?

Aasta lõpuks nimetatud artiklid Loodan, et näidata, et rakendades kontori võrku ei pea olema tohutult kulukas või aeganõudev. Ma lähen, et arutada:

  • Ettevalmistus tööd kontrollisüsteemi, töökohtade konfiguratsiooni
  • Luues selleks nõuetekohane töötlemine virtual machine
  • Kuidas setup süsteem windows masin
  • Tagades te kasutate uusimat kood ja andmed
  • Kasutuselevõtu ja võrdlusuuringud
  • Tulevikku vaadates

Ma tulen hoone (ok ma ehitasin, siis kirjutasin selle) näide rakendus katsetada ideid on kohalikus masinas Windows XP ja minu "GridMachine" virtuaalne masin. Minu töö kontroll server on minu peamine masin, mis töötab Fedora 11 .

See ei ole mingil viisil demonstreerida täielikult toimiv kindel süsteem, selle tähendanud enam tutvustamist ja arutelu näitab, et need asjad on võimalik saavutada suhteliselt lühikese ajaga ja madalate kuludega. Palun saatke mulle mingeid kommentaare, parandusi või parandusi ja ma teen oma parima, et hoida see artikkel uuendatud sobitada.

Järgmine kord

Aasta 2. osa hakkan vaadates tööd kontrollisüsteemi ning uurida, kuidas tööd tuleb konfigureerida, et saavutada suurim summa töötlemine tagades samas, et iga töö on töödeldud ilma jätma.

Office Grid Computing kasutades virtuaalses keskkonnas - Osa 2

Autor , reedel 4. detsember 2009 11:23

Sissejuhatus

Töötan ettevõttes, kus võtame palju partii töökohad töötlemise miljoneid plaate andmete iga päev ja ma olen mõelnud hiljuti umbes kõik masinad, et istuda ümber iga päev midagi mitu tundi. Kas ei oleks hea, kui saaksime kasutada neid masinaid turgutada töötlemise võimsus on meie süsteemi? Selles kogum esemeid ma lähen vaatama potentsiaalsete tulude tööd kontoris võrku kasutades virtualised keskkondades.

Aasta 1. osas andsin ülevaate süsteemi ja tehnoloogiate ma ei kasuta samuti arutati mõningaid võimalikke põhjuseid, miks sa tahaksid luua kontori võrku.

Töö kontrolli

Kui sa lähed olema töökorras töökohti, siis sa lähed vaja kuidagi neid hallata. Sinu töö kontrollimise süsteem (oma töö server) tuleb tõesti hästi läbi enne isegi üritab joosta kontori võrku. Nii et esiteks, millised on ülesanded töö piiramise süsteem:

  • Käsi välja töökohti taotlusel töötajate
  • Teavitage töötajaid Milliseid töökohti joosta
  • Track töökohti
  • Tagada, et töökohti on töötada vaid ühe korra
  • Pakuvad tööd andmeid töötajate, või vähemalt neile öelda, kust seda saada

Süsteem tuleb ka laiendatav lahendus, mis töötab nüüd ühe juhtumi võib pikendada käivitada mitut tüüpi töökohti äri näeb väärt grid lahendus. Näiteks töökohad võivad saada prioriteedid, rohkem kui ühe töökoha liik võib eksisteerida (st mitu koodi alused), lõpuks siis võib isegi käivitada mitmeid erinevaid töötaja masinaid, mida optimeerida iga tüüpi tööd (seda küll eemalduda geneeriline töötaja "idee). Püüdke mõelda tulevikule, kui süsteemide väljatöötamist, lühikese perspektiivis võib viia pikemas perspektiivis pettumust ja suurem areng aega.

Töö Server

Meil läheb vaja kuskil kontrollida oma töökohti, tuleb see vaid süsteemi oma võrku, mis on kindlaks määratud ressursi lokaator, olgu see IP-aadress, serveri nimi, URL (kasutades sisemist DNS) jne Seda seetõttu, Töötajad peavad teadma, kust otsida töökohta, töötajad on vaja leida tööd kontrollisüsteemi (mitte töö kontrollisüsteemi leida töötajad).

Töö server ise ei ole tõesti keeruline ülesanne (nii põhi-süsteemi nagunii), tuleb see salvestada nimekirja töökohti, käsi välja töökohti, saada tulemusi, ning seejärel salvestada hilisemaks taastamiseks. Kuidas nende osade (nagu "käsi välja töökohti") on määratletud võib olla väga lihtne. Hiljem saame laiendada süsteemi lisada administreerimisliides lisamiseks, muutmiseks, kustutamiseks, peatada töökohti, kuid see on väljaspool seda kasutada.

Ei ole mingit põhjust selles siis, et teie töö server ei saa virtuaalne masin töötab teie peamine töötlemise server kui see ei kulutata liiga palju ressursse saada. Töö server aga ei pea laialdase kättesaadavuse, kui see läheb alla reede õhtul sa lähed kaotad kogu nädalavahetuse töötlemise, potentsiaalselt maksab teile paar nädalat väärt töötlemise ajal (võrreldes oma peamise töötlemine server üksi) . Te võiksite üles kaaluma oma tööd serveri koormus tasakaalustatud keskkonna kõrge kättesaadavus.

Basic Setup

Põhiseadistused meie töö server koosneb mida ma helistan üks mu Limp serverite (mis on Li nux, m ySql, P hj). Kood töötab Thea töötajaid tegelikult töötavad, millised tööd ta võib liikuda, suheldes koos töökoha kontrolli süsteem andmebaasidega. Hiljem võiksime luua veebiteenus ja tegelikult käsi välja töökohti selle asemel töötajate tegema rasket tööd ise, kuid nüüd jätkame kasutades KISS põhimõte (hoida seda lihtsat, Stupid!).

Nii saab luua kolm mySQL tabelid tegeleda töökohti. Need `töökohti`, `jobRecords` ja `jobResults`.

töökohti tabel Siin ma kasutan SQL Buddy väga vähe alternatiiv phpMyAdmin lihtsalt sellepärast, et selle lihtsam paigaldada CentOS (teiste jaoks vaata: 10 Suure alternatiive phpMyAdmin )

See tabel koosneb 5 lihtsat valdkondades,

  • id: identifitseerimiseks töö
  • nimi: Võib klient viide või mis tahes mitmete teiste tunnuste
  • Status: Sa pead teadma, kus töö on, nt
    • 0: Ei alanud
    • 1: kiirenenud
    • 2: Lõpetatud
  • started_by: Kes alustas teed tööd? See ei ole täiesti vajalik, kuid on tore olla. Ma soovitan jälgida töötajate oma IP-aadress teie võrgus
  • started_at: Millal töötaja alustada tööd? Jälgides töökohti, mis ei ole lõpetatud X aja jooksul teame me peame seda tõstma töö taas ja alustame teise töötaja. Töötajad võivad töötlemise lõpetamist / go offline mis tahes mitmel põhjusel voolukatkestus, crash, võrgu kaotus jne

See on lihtne, kuidas see laud võiks laiendada mõne lisaväljad võimaldada statistika jälgimine, lõppaeg veerus näha, kui kaua töö võttis, counter näha, kuidas paljud töötajad kiirenes töö (ilmselt see vajab kipuvad 1) töö prioriteediks, nimekirja saab minna edasi ja edasi. Keerukamate töö stsenaariume oleks võimalik täpsustada, kui palju mälu töötaja oleks vaja pääseda ligi (ja seega kasutada ainult sobiva töötaja) või isegi, millist tüüpi töötaja oleks vaja.

Lisame mõne näide töökohad:

Näiteks töökohti

Järgmises tabelis taas on üsna lihtne aru saada, need on meie töö arvestust. Need on seotud peamised töökohad tabeli veerus `jobs_id`. Moodustavad käesoleva tabeli sõltub väga palju andmeid, et pead andma oma töötajatele, laseb teha väga lihtne näide, kus meil on neli veergu:

  • id: ID rekord
  • nimi: Inimese nimi
  • aadress: isiku aadress
  • jobs_id: töö ID, et see rekord on seotud

Kolmas ja viimane tabel koosneb tulemuste tabel, see on sama palju moodustavad meie arvestust tabelis ja millele on lisatud mõned veerud võivad olla osa arvestust tabelis:

  • job_record_id: Link tulemuse töö tabel
  • Tulemus: Tulemuseks andmed

... Ja ongi kõik, mida vajate töö kontrolli! (Kuigi väga algtasemel) Minu puhul olen osutanud teine ​​tabel, kus minu andmeid töötlemiseks asus, aga see võiks sama hästi on faili parameetrid käivitada simulatsiooni koodi, siis nime.

Valides töö

Nagu eelpool öeldud, töötajad teevad meie töö juhtimine meile nüüd, et kõik me peame tõesti tegema, on leida töö, mis vajab töötlemist ja saada teavet. Kuidas me seda teeme? Noh pick meie töö valikukriteeriumid ning otsivad töökohta, SQL tegin järgmist:

  1. Võtma kõik töökohad, mis ei ole märgistatud kui valmis, kuid meie töötaja ja reset neid (asendaja __ME__ koos tunnus, kõige lihtsam oleks IP aadress):
      UPDATE `töökohti` SET `staatus` = 0 WHERE `staatus` = 1 ja `started_by` = __ME__; 
  2. Kasutades meie töö valikukriteeriumid, valida töö ja ütle kontrollisüsteemi, et töötaja tegeleb sellega:
      UPDATE `töökohti` SET `staatus` = 1, `started_by` = __ME__, `started_at` = NOW () WHERE `staatus` = 0 või
     (`Staatus` = 1 ja `started_at`> DATE_SUB (NOW (), INTERVAL X HOUR)) ORDER BY `id` ASC; 

    Haarates töökohti, mida ei tagastatud tulemusi X aega me tagada, et kõik töökohad on joosta, kui töötaja krahh või lähevad andis otsad.

  3. Järgmine haarata töökohti details järgneb arvestust enda eest:
      SELECT * FROM `töökohti` WHERE `started_by` = __ME__ LIMIT 1;
     SELECT * FROM `job_records` WHERE `id` = __JOBID__; 

Lõpetamisel tööd me lisada meie tulemus arvestust ja märgi tööd lõpetatud. Pea meeles, kui töökohti võib peatada / jätkata igal ajal võimaldada teatavat stabiilsust oma skripti. Võib olla, et ülesanne peatab poolel teel ajakohastamine töö kontrolli süsteem, et kontrollida kirjete arv töö ja tulemuste arv salvestatud tagasi töö kontrolli süsteem oleks tark tegu.

Lisaks, kuigi see näitab, kuidas töökohta saab valida ja hallata SQL-query raam teil peaks tõesti olema abstracting sinu töö kontroll nii, et kui te otsustate vahetada, kasutades veebiteenust faili põhine süsteem, XML või muu mitmeid süsteeme, ei mõjuta see kood kohal.

Töö Configuration

Järgmine tuleb arvestada, on töö maht ja konfiguratsiooni. Mängides töö konfiguratsiooni saame streik suurepärane tasakaalu kiiruse, protsessi replikatsiooni ja usaldusväärsust. Võtke paar OFA stsenaariumi:

  1. Jobs võtta 1 päev iga kulgema: See tähendab, et töötajad peavad 15 päeva protsessi iga töö (meenub 10% võimsust 2/3rds ajast). See ei ole kindlasti mõistlik konfiguratsiooni, teie töö maht on liiga suur! See võtab vähemalt kaks korda saada tööd töödeldud peaks esialgse töötaja minna andis otsad (aeg kiirenemist, et see ei ole tagastanud tulemus pluss ümbertöötlemise ajal). Ideaalses soovid on vähemalt üks täielikult töökohti lihtsalt kustutatakse lõpuks iga pika tühikäigul, et kuidas sa hoida töökohti tiksub üle ja halvimal juhul töö võtaks kaks päeva, et protsess peaks kõigepealt minna puudu.
  2. Jobs võtta 1 minut joosta: See tähendab, et teie töötajate aega umbes 15 minutit aega iga töö. Kuigi see võib tunduda esialgu ideaalne, siis saada lisatööd töötlemise ajal lõunasöögi ajal, kohvipause, koosolekud jne Selle stsenaariumi paneb pinge teistes valdkondades oma süsteemi ning tutvustab oma probleemidega. Näiteks esmalt oma setup / töötlemise ajal suhe lähe kohe alla, seega kaotada süsteemi tõhusust. Teie võrgustik saab olema pidevalt streaming töö teavet erinevate töötajate masendav töötajad, kes on dong oma igapäevast tööd. Sa oled ka kavatse panna rohkem pingeid oma töö töötlemise server, kui ta peaks jagama palju, palju väikesteks tükkideks tööd regulaarselt. Lõpuks, selles situatsioonis, kui teie töö server läheb maha sa lähed luua tohutu tagasi samamoodi lõpetamata töö eest samas suurem töökohta jätkuva töötlemine õndsalt teadnud, et töö server oli raskusi.

Tegelikult ei tule keegi Ideaalne paigutus oma võrku setup, palju sõltub olemasolevate vahendite liiki töö, töö töötsükkel nõuetele, võrgundusfunktsioon, ja nii edasi. Kuid mõned juhised oleks:

  • Suurus töökohti nii, et iga töötaja võib läbi saama vähemalt 3-4 töökohta periood on 15 tundi (pikim tõenäoliselt jõudeaeg jooksul)
  • Esita töö suurust nii, et setup aeg muutub üsna tühine võrreldes sellega töötlemise ajal (pidades silmas eespool punkt).
  • Kui tööd ei lõpeta topelt aega (võib-olla vähem) ootate, kuni see lõpeb see oletada, et tema läinud andis otsad ja alustame selle teise töötaja. See tähendab, teil võib olla oodata kuni kolm korda tavalisest pikkuse töö seda täita (võimalik enam kui hilisem töö ebaõnnestub). Te võiksite vähendada sel ajal, kuid olla ettevaatlik, et vähendada seda liiga palju, sest te võite hakata paljundusmasinad töötlemise ülesandeid regulaarselt.
  • Jobs ei peaks sõltuma väljaspool nõudeid nii palju kui võimalik. Töö server, näiteks vaid ühendust alguses ja lõpus iga töö.
  • Ärge küllastusgaaside oma võrku, see on kaks negatiivset mõju, oma päevase töötajad leiavad võrgu kasutamisel masendav ja probleemid võivad olla kogenud ühendused ajastust välja probleemi, mis läheb ainult hullemaks, kui te skaalal oma võrku.
  • Tagada töökohad töötab teie töötajatele. Kui töökohti liiga mälu intensiivset või kettaruumi intensiivne töö hakkab saagi ja ainus asi, mida märkad on langus töökohtade arv töödeldud, kellel puudub tegelik põhjus, miks.

Esitades tulemused Job

Kui liikmesriigid esitavad tulemuste kohta töö on oluline kontrollida, et tulemused ei ole esitatud teise töötaja, eriti kui praegune töötaja on seisvate mõnda aega.

Kui tulemused esitatakse tagab tulemuste arv vastab kirjete arv jooksul tööd.

Nagu eelpool öeldud, ja seda ei saa üle tähtsustada, ehitada tõrketaluvuseks arvesse töö leidmiseks ja tulemuste esitamist. Töötajad saavad (ja tõenäoliselt) minna ooterežiimi kõige ebamugav korda ja tuleb seda arvesse. Samuti taas abstracting ära oma tulemusi esitamine aitab rahuldada tulevasi muutusi oma tööd kontrollisüsteemi palju lihtsam toime tulla.

Kokkuvõte

Selles section vaatlesime mida töö kontrolli server peab tegema ja kuidas väga lihtne süsteem loodud. Me arutasime, kuidas hankida tööd alates kontrollisüsteemi ning kuidas paremini konfigureerida töökohta saada kõige rohkem meie oma kontori võrgusüsteemi. Lõpuni, lõik või kaks, esitades tulemused tagasi töö kontrolli server esitas.

  • Töö kontrolli server haldab töökohti ja tagab, et kogu töö üksused on lõpetanud
  • Autor abstracting oma tööd valida / tulemuste esitamise saame muuta tehnoloogia kontrolli server ilma palju probleeme
  • Konfigureeri oma töökohta, et nad juhivad kiiresti ja tõhusalt seadmata liiga palju survet oma võrgu infrastruktuuri, ilma dubleerimata töötlemise ülesandeid regulaarselt.
  • Veenduge, et teil ehitada tõrketaluvuseks ja viga checking oma rutiinid, töötajad saavad peatada ja jätkata ja kõige ebamugav korda. Pea meeles, et vaadata, kas tulemused on juba esitatud mõne teise töötaja.

Järgmine kord

Aastal 3. osa loome meie virtuaalne töötlemise masinate ja luua meie aknad masinad saada idle tööajaga töötajatele.

Office Grid Computing kasutades virtuaalses keskkonnas - 5. osa

Autor , reedel 4. detsember 2009 11:03

Sissejuhatus

Töötan ettevõttes, kus võtame palju partii töökohad töötlemise miljoneid plaate andmete iga päev ja ma olen mõelnud hiljuti umbes kõik masinad, et istuda ümber iga päev midagi mitu tundi. Kas ei oleks hea, kui saaksime kasutada neid masinaid turgutada töötlemise võimsus on meie süsteemi? Selles kogum esemeid ma lähen vaatama potentsiaalsete tulude tööd kontoris võrku kasutades virtualised keskkondades.

Aasta 4. osa me vaatasime, kasutades vahendeid, et tagada, et me töötab uusima versiooni koodi ja andmete allikad, nii et saadud tulemused on alati up-to-date viimaste äriteabe ja loogika.

Pre-Deployment

Enne juurutamist oma võrgusüsteemi kui seal on üks asi, mida teha ja üks asi ainuüksi see on võrrelda oma praeguse süsteemi! Ükskõik mida sa öelda kolleegidele, kui palju lisatööd oma süsteemi kavatseb teha, kui olete numbrid tagasi selle üles oma garantiid on midagi. Niisiis,

  • kui palju andmeid sa saad protsessi praegu? Päevas? Tunnis?
  • Kui kaua kulub enamasti ümber pöörata töö?
  • Kui palju rohkem võimalusi teil on?

Seal on ka täiendavaid küsimusi:

  • Kui teie töötlemine server (või mõni teie töötlemise serverid) loojub kuidas see mõjutab teie võimeid, oled sa halvatud?
  • Milliseid eeliseid loodate / oodata, et saada grid süsteemi?
  • Kas teie bürooseadmed võimelised töötama töökohti?
  • Kas teie (või saate töökohti ümber) töötada selle stiili näitama?

Viimane suur asi on võtta oma aega mis tahes suuremaid muudatusi niimoodi. Uuenda oma töötlemine kood töötab, kasutades uut metoodikat, reeperite uuesti. Võimalik luua oma töötlemine server joosta virtuaalne masin ju teie töötlemise server oleks lihtsalt töötaja (just väga võimas on üks suhteliselt). Laske uus protsess settida.

Deployment

Minu ettepanek oleks pop kontoris ühe nädalavahetuse täita kõiki sisseseade ja setup. Tehke seda vahetult enne kahe nädala puhkusetasu ja jäta nii teistele vaestele chap tegeleda tagajärgedega ... võibolla mitte ...

Kasutuselevõtu süsteemi niimoodi tuleb aeglane. Kuigi see on suhteliselt lihtne luua see süsteem mõjutab kogu oma kontori infrastruktuuri (ka digitaalse üks). Esiteks rullima kuni paar masinaid korraga, jälgida võrguliiklust, kuidas töötaja hosts teostada päev-päeva järel. Teil võib tekkida vajadus muuta oma tööd konfiguratsiooni vastuseks oma järeldused.

Kui süsteem on settinud mõne masinad (saab öelda 10% kõigist bürooseadmed, st 5) pidama jälgida võrguliiklust ja vastuvõtva masin performance. Järgmine võrrelda jälle, sa peaks nüüd olema töötlemine 33% rohkem töökohti kui teie esimene võrdluskriteeriumid. Vaata see on nii või et sa oled vähemalt selles ballpark. Kui ei, siis uurida, mis toimub enne kui lähevad. Korda seda tsüklit seni, kuni te õnneks on kõik bürooseadmed töötab ilma tapmine individuaalse masina jõudlust või lihvimise oma võrku soiku.

Alati hoida võrdlusuuringute, isegi pärast kõigi kasutuselevõttu on tehtud. Vaadata, kuidas uus kood uuendused mõjutavad kiirust oma süsteemi kontrollida kõiki töötajaid aruandluse ja töötlemine töökohti. Aeglaselt (väga aeglaselt) juurdekasv oma tööd konfiguratsiooni, et saada parim oma töötajate ja võrku.

Stopp!

Aga kui soovite, et peatada oma töötajaid töötab mõnda aega? Nad kõik on seal töötab, taastootmine, ja üritab oma parima, et töödelda andmeid nagu näljased putukad. Vastus võib tunduda ilmselge, kuid selle tuleb lisada, igaks juhuks selle tähelepanuta. Lihtsalt muuta oma töötlemine skripti exit (0) or die () või mõnesse muusse aruandesse, et tappa oma töötlemine töö. Oluline põhjus, miks püüame alati värskeima töötlemine script enne jookse!

Tutvustamise süsteem

Selleks, et kirjutada selle rea lühikesi artikleid olen loonud väga väike grid näidata tehnoloogiaid ja metoodikaid. Ma lugesin palju artikleid, õpetused ja kasutada erinevaid vahendeid setup ja jälgida, mis toimub. Mingil ma olen läinud ja küllastunud kogu kontori liikluse ja Ma ei ole olnud juurdepääsu regulaarselt töötajad PC näha, kuidas vastuvõttev tegevus oli mõjutatud.

Minu tutvustamise süsteem oli väga tagasihoidlik tõepoolest. Ma kasutasin oma regulaarne desktop loodud töökoha kontrolli server. Selle Mul oli paigaldatud mySQL server installeeritud loodud meister replikatsiooni, PHP , A ja SVN kaudu seotud apache (juurdepääsu kaudu töötaja VM).

Siis ma loodud CentOS töötaja masin VirtualBox on 6-aastane windows XP sülearvuti. Ma setup kavandatud ülesanded on määratletud pärast kopeerimist VM peale masin ja lase tal minna.

Virtuaalne masin loodi PHP, õõnestamises ja MySQL. Ma kontrollisin välja filiaal nimega "töötaja" minu töö kontrolli serverid hoidla ja kindlaks teinud, see võiks olla ajakohastada, kasutades "svn update '. Järgmine Ma setup MySQL ori ja kontrollida, et andmed olid imitatsiooniga MySQL töökohal kontrolli server maha töötaja VM. Pärast kõike seda ma setup bash skripti ja cron töö.

Minu töötlemine script põhiliselt läks sarnaselt selle (väga lihtne värk):

  • Read nime valdkonnas
  • Loendatud paljude sarnaste nimede tabelis andmeallikast toimunud VM
  • Loendatud teatavate nimede üle, kuid jagamine nimi tühikutega (nt eesnimi, keskmine, perekonnanimi)
  • Korduv seda protsessi 1000 korda

Iga töö võttis umbes 20 minutit joosta. Ühel hetkel avasin mitmes eksemplaris töötaja VM Windows sülearvuti ja vaatasin töökohti tuleb kontrollida off iga töötaja IP-aadressid. Sel hetkel ma ka kinnitas, et replikatsiooni automaatselt uuesti.

Jättes sülearvuti idle põhjustas töötaja hakkab protsess töökohti töö kontrolli server. Kui jätkamist sülearvuti kasutamine viibis umbes 30-60 sekundit, see on päris palju aega ja töötajaid oleks vaja selgeks teha, et nende masin võib paus lühikeseks ajaks naastes masin. Uuemad masinad ei pruugi olla paus seda kaua. Kasu töötlemise mahtu läbi need masinad ajal idle perioodidel oleks rohkem, et kaalub töötajatele, kes oodata lühikese aja jooksul (näiteks 1 minut) saabumisel oma masinad hommikul (ma tihti kauem ootama, et seda Windows Defender uuendus toimub), kui nad olid teadlikud sellest (kasulik aeg haarata hommikukohvi!).

Üldiselt Olen kindel, et olen tõestanud tehnoloogiad, mida võiks kasutada, et luua selline süsteem. Olen näidanud, et selline süsteem ei tööta on (väga) väikesed ja veel mõned katsetavad võiks ülespoole kasutada vahendeid ameti masinaid. Kui ma ei saa, kuni punktini, tehes seda ma oleks väga huvitav teada / näha, kui keegi teine ​​teeb.

Järeldused / hindamine

Järgmine selge samm oleks tegelikult saada reaalses maailmas eeskuju ja hakkavad kasutama sellist süsteemi, nagu see jooksul kontori keskkonnas ja vaata, mis juhtub. Küsid äri pühenduma seda ilma rada lõõskava ettevõte tõestada tehnoloogia ja tõhusus võib olla natuke raske. Grid / Distributed computing on väga populaarne on mõned ringid ja on mõned suured rakendused (BIONC, SETI @ Home, Folding @ Home, jne). Ma ei ole, siiski leida väiksemate ja lihtne süsteem, nagu see minu otsingud, mis võiks olla rullitakse jooksul asukoht keskkond.

Ma lõin põhimõtteliselt vabad süsteem, kasutades enamasti avatud lähtekoodiga tarkvara ja vahendeid peaaegu igas kontoris. Tehnoloogiad olid põhiliselt näidata ja näidata, teha ja töötavad nagu eeldatud. Loodetavasti on mul näitavad, et ei ole palju tööd ja on väga lihtne setup saate kasutada kontori võrku arvuti süsteemi, mis on võimas, odav, ja laiendatavat kõik samal ajal.

Kui süsteem on valmis ja töötab seal on peaaegu mingit lõppu suuruse kohandamine ja parandusi saab teha. Näiteks statistika / võrdlev saab kergesti lisada näitab väärt sellise süsteemi iga päev. Uued masinad on võimalik lisada lihtsalt ja kiiresti, kui nad saabuvad täiendusi olemasoleva riistvara toetades oma töötlemise võimsus.

Loodan, et olete söönud lugemine see mitmed artiklid ja tema teile mõtteainet, töötab kontoris võrgusüsteemi. Lahenduseks siin esitatud ei pruugi töötada igas olukorras, kuid peab olema kohandatav, et võimaldada teil saada oma andmetöötluse teha kasutades oma lahendus.

Palun saatke mulle mingeid kommentaare, parandusi või parandusi ja ma teen oma parima, et hoida see artikkel uuendatud sobitada.













Panorama Theme by Themocracy

8 külastajaid online praegu
2 külalist, 6 bots, 0 liiget
Max Külastusi täna: 19 kell 06:09 UTC
See kuu: 19 at 19-08-2011 06:09 UTC
Sel aastal: 130 at 28-03-2011 22:40 UTC
Kõik kokku: 130 at 28-03-2011 10:40 UTC