INHOUDSOPGAWE:

DEMAC, 'n 3D -gedrukte modulêre Beowulf -groep: 23 stappe (met foto's)
DEMAC, 'n 3D -gedrukte modulêre Beowulf -groep: 23 stappe (met foto's)

Video: DEMAC, 'n 3D -gedrukte modulêre Beowulf -groep: 23 stappe (met foto's)

Video: DEMAC, 'n 3D -gedrukte modulêre Beowulf -groep: 23 stappe (met foto's)
Video: CB Radio modulation types #sdr #hacker #radio #rtlsdr #cbradio #radioantenna 2024, November
Anonim
DEMAC, 'n 3D -gedrukte modulêre Beowulf -groep
DEMAC, 'n 3D -gedrukte modulêre Beowulf -groep

High Performance Computation (HPC) is die vermoë om data te verwerk en ingewikkelde berekeninge teen hoë snelhede uit te voer; dit is die toepassing van 'Supercomputers' op berekeningsprobleme wat te groot is vir standaardrekenaars of wat te lank sal neem om afgehandel te word. Die Top500 is 'n lys wat twee keer per jaar gepubliseer word en behels 'n aantal van die vinnigste en kragtigste rekenaars ter wêreld. Lande en groot organisasies bestee miljoene hulpbronne om hierdie stelsels aan die gang te hou vir wetenskaplikes om die nuutste tegnologie te benut en komplekse probleme op te los.

Jare gelede het rekenaars hul werkverrigting verbeter deur die spoed van die verwerker te verhoog. Nadat ons 'n verlangsaming in hierdie soort benadering ondervind het, het ontwikkelaars besluit dat om voort te gaan met die verbetering van die prestasie van rekenaars, verskeie kerne (of rekeneenhede) saamgevoeg moet word. Die samevoeging van veelvuldige berekeningshulpbronne en die meganismes om hierdie hulpbronne te beheer, noem ons in rekenaarwetenskap 'parallelisme'. Dit lyk na 'n goeie benadering om verskeie kerne met verskeie take te doen om die prestasie van 'n rekenaar te verbeter … maar dit stel 'n groot vraag oop: hoe gebruik ons hierdie hulpbronne doeltreffender?

Hierdie vrae het rekenaarwetenskaplikes besig gehou; daar is verskeie maniere om 'n rekenaar te vertel hoe om dinge te doen, en daar is nog meer maniere om verskeie rekenaars te vertel hoe om dinge te doen. Hierdie projek het ten doel om 'n bekostigbare platform te ontwikkel waar almal kan eksperimenteer met 'n hoogs parallelle masjien, bestaande modelle kan toets om in u eie projekte toe te pas, nuwe en kreatiewe maniere te ontwikkel om rekenaarprobleme op te los of dit net te gebruik as 'n manier om ander oor rekenaars te leer. Ons hoop dat u soveel as wat ons kan geniet om met DEMAC te werk.

DEMAC

Die Delaware Modular Assembly Cluster (DEMAC) is 'n uitbreidbare reeks ingeboude stelsels (kaartgrootte rekenaars) en 'n stel 3D -gedrukte rame om die borde en ekstra hardeware wat krag, verkoeling en netwerktoegang bied, te omhul.

Elke toestel of ingeboude stelsel is 'n klein rekenaar, 'n Parallella Board wat die hulpbronne kombineer van 'n dual-core ARM-verwerker, 'n 16-kern coprocessor genaamd Epiphany en 'n ingebedde FPGA met die buigsaamheid van 'n volledige open source-stapel. Die houer is 'n huisgemaakte 3D-gedrukte raam wat 'n lae koste-implementering en 'n eskaleerbare struktuur moontlik maak. Dit is ontwerp om 4 eenhede van 'n standaard grootte rak te pas (soos dié wat u in rekenaars se bedienerkamers vind).

Hierdie instruksies bevat:

- 'n Lys van benodigde materiaal

- Instruksies om die rame in 3D te druk

- Instruksies om die onderdele te monteer en aan te sluit

- 'n Gids om die vereiste sagteware af te laai en te installeer

- 'n Beskrywing van hoe u met die groep kan skakel en interaksie het

- '' Waarom doen ons dit? ' afdeling

Wie is ons?

Ons is CAPSL (Computer Architecture and Parallel Laboratory), van die Universiteit van Delaware. Ons glo dat die toekoms van berekening 'n sterk basis in die Dataflow -teorie moet hê (wat ons later in hierdie instruksies sal verduidelik as u belangstel).

Voorrade

Hierdie lys beskryf die materiaal wat benodig word vir die bou van 'n groep met 4 rakke

- 4 Parallella -borde (u kan dit by DigiKey of ander verskaffers kry, u kan meer inligting vind op hul webwerf

-4 mikro-SD-kaarte met ten minste 16Gb (hier is 'n baie goedkoop 10-pak of so iets meer buigsame kombinasies)

- 4 mikro-USB-kabels min. Lengte 30 cm (ek beveel dit aan)

- USB-laaier [met ten minste 4 tipe A-poorte] (ek beveel hierdie een met 6-poorte, of een met dieselfde vormfaktor aan, aangesien die kragkas daarvoor ontwerp is)

- Koelwaaier [maksimum grootte 100 mm x 100 mm x 15 mm] (ek beveel hierdie een aan omdat dit goedkoop is en werk, maar ander met dieselfde grootte en kabelopstelling werk)

- Kragtoevoer vir koelwaaier (as u konfigurasie vir meer as 8 borde is, beveel ek hierdie een of iets soortgelyks aan [AC 100 V/ 240 V tot DC 12 V 10 A 120 W] met 'n mooi metaalomhulsel en kan ook aangeheg word na die skakelaar).

- 5 ethernetkabels (4 kan so kort wees, afhangende van die afstand van die skakelaar na die borde, en een moet lank genoeg wees om die skakelaar met u rekenaar of die modem te verbind om toegang tot die groepnetwerk te verkry)

>> Belangrike opmerking: 'n verkoelingstelsel is nodig, anders kan die plate oorverhit! <<<

3D-gedrukte onderdele

- 4 bordborde (raam_01)

- 1 bordomhulsel (raam_02)

- 1 waaieromhulsel (Frame_03_B en Frame_03_T)

- 1 kragomhulsel (Frame_04)

Stap 1: Oor DEMAC

Oor DEMAC
Oor DEMAC

DEMAC is deel van 'n groter prentjie, 'n buigsame en eskaleerbare platform waarmee ons nuwe programmeermodelle (PXM) kan ontwikkel en toets vir parallelle berekening. 'N PXM is meer as 'n manier om berekening te beskryf, dit verteenwoordig die ruggraat wat 'n ooreenkoms bied tussen die manier waarop 'n program uitgedruk word en hoe dit vertaal word na 'n algemene taal wat deur die masjien uitgevoer kan word. Ons beskryf 'n stel elemente waarmee die gebruiker programme kan genereer en 'n manier om die uitvoering van die program te organiseer. Die program kan geoptimaliseer word om 'n spesifieke argitektuur deur die gebruiker te rig of 'n outomatiese hulpmiddel gebaseer op hierdie algemene agtergrond.

U kan meer leer oor hierdie projek aan die einde van hierdie instruksies, u kan ook hier klik om meer inligting oor DEMAC te kry of hier om meer inligting oor CAPSL te kry)

Stap 2: 3D Print DEMAC

3D -druk DEMAC!
3D -druk DEMAC!
3D -druk DEMAC!
3D -druk DEMAC!
3D -druk DEMAC!
3D -druk DEMAC!

In hierdie afdeling vind u 'n gids vir 3D -afdruk van die rame wat die ander komponente omhul en strukturele ondersteuning bied. Selfs as u 'n 3D -drukmeester is, is hier 'n paar wenke wat u kan oorweeg tydens die druk van hierdie rame. Alle rame kan gedruk word met 'n 0,4 mm spuitstuk met 'n hoogte van 0,3 of 0,2 laag (u kan ook adaptief gebruik). Ek het alles met PLA gedruk, maar dit maak nie regtig saak of u ander materiale wil gebruik nie (solank dit strukturele stabiliteit bied en hoër of gelyke temperature as PLA kan verdra).

STL lêers:

www.thingiverse.com/thing:4493780

cults3d.com/en/3d-model/various/demac-a-mo…

www.myminifactory.com/object/3d-print-dema…

Bordlade (raam_01)

Geen bykomende ondersteuning nodig nie. Hierdie een is redelik eenvoudig, plaas dit net met die plat oppervlak na die drukoppervlak.

Bordomhulsel (Frame_02)

Hierdie een benodig dalk ondersteuning in die middelbalke. U kan redeneer dat 'n goed afgestemde masjien/snyer die brûe kan druk sonder ekstra ondersteuning. Probeer eers 'n paar brugspanningstoetse as u sonder ondersteuners wil druk, aangesien die idee was dat dit nie nodig sou wees nie. Aan die ander kant bied die sye en mure van die kolomme genoeg ondersteuning om dit te kan druk sonder addisionele steunstrukture.

Waaieromhulsel (Frame_03_B & Frame_03_T)

Geen bykomende ondersteuning nodig nie. Plaas albei dele met die plat oppervlak na die drukoppervlak.

Kragbehuizing (raam_04)

Soortgelyk aan Frame_02, benodig hierdie een moontlik ondersteuning in die middelbalke. U kan ook probeer om hierdie een te druk sonder addisionele ondersteuningsmateriaal (soos bedoel). Die sye en mure van die kolomme bied genoeg ondersteuning om gedruk te word sonder ekstra ondersteuningstrukture.

Uitgangsverkoelingskas (Frame_05_B & Frame_05_T)

Geen bykomende ondersteuning nodig nie. Plaas albei dele met die plat oppervlak na die drukoppervlak.

Stap 3: Monteer DEMAC

Monteer DEMAC!
Monteer DEMAC!

Noudat u al die benodigde onderdele het, is dit tyd om die groep te begin saamstel.

Onthou om die ondersteuningsmateriaal wat u op die rame het, te verwyder.

Stap 4: Plaas die waaier op die omhulsel

Plaas die waaier op die omhulsel
Plaas die waaier op die omhulsel
Plaas die waaier op die omhulsel
Plaas die waaier op die omhulsel

Skuif die waaier binne -in Frame_03_B (met die kabel in die regter onderste hoek), die onderste gedeelte moet binne -in die klein geboë mure pas wat die waaier op sy plek hou.

Plaas Frame_03_T met die klein geboë mure na onder bo -op Frame_03_B (met die waaier reeds op sy plek). Wees versigtig om die breedste deksel van Frame_03_T met die breër (agterkant) van Frame_03_B in die gesig te staar. Die rame moet klik en die deksels moet dit op hul plek hou.

Stap 5: Sluit aan by die raadsomhulsel met die kragomhulsel

Sluit aan by die raadsomhulsel met die kragomhulsel
Sluit aan by die raadsomhulsel met die kragomhulsel
Sluit aan by die raadsomhulsel met die kragomhulsel
Sluit aan by die raadsomhulsel met die kragomhulsel

Plaas Frame_02 bo -op Frame_04, hierdie twee is ontwerp om aanmekaar te klik. Daar is 'n klein deuk aan die onderkant van Frame_02 wat pas by die verbindings bo -op Frame_04. Pas sagte krag toe om hulle te verbind.

Stap 6: Installeer die koeleenheid

Installeer die koeleenheid
Installeer die koeleenheid

Frame_03 (B&T) is ontwerp om saam met Frame_02 te klik en die waaier na die planke te kyk (lugvloei moet na binne gaan Frame_02). Daar is klein duike in die kolomme van Frame_02 wat ooreenstem met die punte in Frame_03_B. Druk sagte druk op die syvlakke van die struktuur totdat die rame klik.

Stap 7: Plaas die borde op die bordplate

Plaas die borde op die bordblaaie
Plaas die borde op die bordblaaie

Frame_01 het 4 penne wat pas by die gate in die Parallella -bord. Die bord moet maklik in die skinkbord pas. Afhangende van die kalibrasie van u 3D-drukker, kan dit te groot of te klein wees, maar u kan 'n bietjie vloeibare silikoon gom gebruik om dit vas te hou of 'n bietjie met 'n tang druk om die deursnee te verminder.

>> Belangrike opmerking: onthou om die wasbak op die bord te plaas <<<

Stap 8: Skuif die bordplate in die bordomhulsel

Skuif die bordblaaie in die bordomhulsel
Skuif die bordblaaie in die bordomhulsel

Frame_01 bied gleuwe wat vir elke vlak in Frame_02 -relings pas. Let daarop dat daar slegs een kant oop is om die bord te kry. Daar is ook 'n klein hobbel wat help om Frame_01 op sy plek te hou (eerlik, dit kan 'n mate van verbetering in 'n toekomstige weergawe gebruik).

Skuif al 4 bordplate met die planke reeds op hul plek, 1 per elke vlak.

Stap 9: Plaas die kragtoevoer in die kragomhulsel

Plaas die kragtoevoer in die kragomhulsel
Plaas die kragtoevoer in die kragomhulsel

Plaas die USB -kragtoevoer binne Frame_04 met die USB -poorte na buite. Daar is 'n klein opening aan die ander kant vir die kragkabel wat die naaf voed.

Stap 10: Koppel die waaier aan die koelkragbron

Die waaier moet nou gekoppel word aan die 12 V -kragtoevoer wat energie aan die koeleenheid verskaf.

>> Belangrike opmerking: laat die verkoelingstelsel altyd werk terwyl u die borde aan die kragtoevoer gekoppel het <<<

Stap 11: Stel die bedryfstelsel op

1. Laai die aanbevole bedryfstelsel (Parabuntu) hier af

Daar is twee hersienings van die skyfies (z7010 [P1600/P1601] en z7020 [P1602/A101040] wat verskillende lêers benodig.

Vir beide hersienings is daar 'n koplose weergawe (geen grafiese gebruikersinterface nie) en 'n weergawe wat HDMI -ondersteuning en 'n grafiese gebruikerskoppelvlak bied)

As u die HDMI-uitset wil gebruik, moet u 'n mini-HDMI-kabel kry.

U kan via die netwerk met die koplose weergawe koppel.

Meer inligting en gedetailleerde verduideliking kan hier gevind word op die amptelike webwerf.

Hier is die stappe om die bedryfstelsel te installeer met 'n Linux-gebaseerde verspreiding. U kan opdragte in die terminale gebruik (sonder die $ -simbool) vir die volgende stappe of ander prosedures op die webwerf nagaan.

2. Installeer

- Plaas die mikro-SD-kaart in u gewone rekenaar- Pak die Ubuntu-prent uit. Verander [hernaam] vir die prentnaam.

$ gunzip -d [hernoem naam].img.gz

3. Verifieer die toestelpad van u SD -kaart

Die presiese apparaatpad na u SD -kaart hang af van u Linux -verspreiding en rekenaaropstelling. Gebruik die onderstaande opdrag om die regte pad te kry. As uit die uitvoer nie duidelik is watter pad die regte pad is nie, probeer die opdrag met en sonder die SD -kaart ingevoeg. In Ubuntu kan die teruggekeerde pad iets wees soos '/dev/mmcblk0p1'.

$ df -h

4. Ontkoppel die SD -kaart U moet alle partisies op die SD -kaarte ontkoppel voordat u die kaart verbrand. Die [sd-partition-path] kom van die 'df' opdrag in stap 3.

$ umount [sd-partition-path]

5. Brand die Ubuntu-skyfbeeld op die mikro-SD-kaart

Brand die prentjie op die SD -kaart met behulp van die 'dd' nut wat in die onderstaande opdragvoorbeeld verskyn. Wees versigtig en maak seker dat u die pad korrek spesifiseer, aangesien hierdie opdrag onomkeerbaar is en alles in die pad sal oorskryf! 'N Voorbeeldopdrag in Ubuntu sou wees:' sudo dd bs = 4M as = my_release.img van =/dev/mmcblk0 '. Wees geduldig, dit kan 'n rukkie neem (baie minute), afhangende van die rekenaar en die SD -kaart wat gebruik word.

$ sudo dd bs = 4M if = [hernoem naam].img van = [sd-partisie-pad]

6. Maak seker dat alle skryfstukke op die SD -kaart voltooi is

$ sync

7. Steek die SD -kaart in die SD -kaartgleuf in die bord

Stap 12: Koppel die kaart aan die kragtoevoer

Gebruik die miniUSB na USB-A-kabel om een van die borde aan die USB-hub te koppel. U kan die poorte en kabels benoem of 'n volgorde vir die verbindings definieer as u later 'n bord moet ontkoppel.

Stap 13: Die opstel van 'n router

Stel router op
Stel router op

As u die hooflose bedryfstelsel installeer terwyl u op 'n groot netwerk is, moet u 'n router gebruik en dit aan die internet, die Parallella -borde en u persoonlike rekenaar koppel.

As u nie aan die router kan koppel nie, kan u die kaart ook direk aan u rekenaar koppel via die Ethernet -kabel; hierdie prosedure kan 'n bietjie moeiliker wees en sal nie in hierdie instruksie behandel word nie.

Sodra alles verbind is, maak die koppelvlak van u router oop om uit te vind watter IP -adres u standaard aan u Parallella gegee word. Soek 'n oortjie wat sê Netwerk. Soek dan 'n afdeling met die naam DHCP -kliëntelys. Daar moet u u Parallella -bord en sy IP -adres sien.

Met hierdie IP -adres kan u SSH in die Parallella inskakel en 'n statiese IP -adres opstel.

Stap 14: Koppel aan Parallella Board met SSH

Nota: Vir hierdie afdeling is [default_IP] die dinamiese IP -adres wat u in die DHCP -kliëntelys gevind het.

Kontroleer die verbinding met die bord

$ ping [default_IP]

SSH vir die eerste keer in die bord (standaard wagwoord is parallella)

$ ssh parallella@[default_IP]

Stap 15: Die opstel van 'n netwerk

- Verander gasheernaam: wysig /etc /hostname

Hier kan u enige naam toewys wat u wil. Ons beveel aan dat u NOPA ## gebruik

Waar ## die bordnommer identifiseer (dws 01, 02, …)

- Stel ander borde se IP -adresse in: edit /etc /hosts

Stel 'n statiese IP -adres in: voeg die onderstaande teks by vir /etc/network/interfaces.d/eth0

#Die primêre netwerk -koppelvlak auto eth0

iface eth0 inet staties

adres 192.168.10.101 #IP moet binne die router se omvang wees

netmasker 255.255.255.0

gateway 192.168.10.1 #Dit moet die adres van die router wees

naambediener 8.8.8.8

naambediener 8.8.4.4

Nadat u die IP aan die bord toegewys het, kan u die verbinding met die opdrag weer begin

$ ifdown eth0; ifup eth0

of herlaai die bord

Stap 16: Stel Keygen en wagwoordlose toegang op borde op

Stel 'n privaat openbare sleutelpaar op elke knoop (insluitend die kopknoop). Maak 'n tydelike gids, genereer 'n nuwe sleutel en maak dit 'n gemagtigde sleutel, en voeg alle NOPA's by die bekende gashere soos hieronder getoon.

mkdir tmp_sshcd tmp_ssh ssh -keygen -f./id_rsa

#Druk twee keer op enter om 'n leë wagwoord in te stel en te bevestig

cp id_rsa.pub gemagtigde sleutels

vir i in 'seq 0 24'; doen j = $ (echo $ i | awk '{printf "%02d / n", $ 0}');

ssh-keyscan NOPA $ J >> bekende_gaste; gedoen

Stap 17: Installeer Sshfs

- Met behulp van sshfs kan lêers gedeel word tussen die borde op die groep. Voer die volgende opdrag uit:

$ sudo apt -get install -y sshfs

- Kontroleer vir / skep siklusgroep

Kontroleer of die lontgroep bestaan:

$ kat /ens /groep | grep 'lont'

As die groep bestaan, voer die volgende opdrag uit

$ bash sudo usermod -a -G fuse parallella

- As die groep nie bestaan nie, skep dit en voeg die gebruiker daarby

$ sudo groep voeg lont by

$ sudo usermod -a -G fuse parallella

- Los die reël user_allow_other op in die lêer fuse.config

$ sudo vim /etc/fuse.conf

Stap 18: Stel die NFS -lêergids op

- Verander die lêer /etc /fstab

$ sudo vim /etc /fstab

- Vervang die inhoud deur die onderstaande teks

# [lêerstelsel] [monteerpunt] [tipe] [opsies]

sshfs#parallella@NOPA01:/home/parallella/DEMAC_nfs/home/parallella/DEMAC_nfs fuse comment = sshfs, noauto, users, exec, rw, uid = 1000, gid = 1000, allow_other, reconnect, transform_symlinks, BatchMode = yes, nonempty, _netdev, identityfile =/home/parallella/.ssh/id_rsa, default_permissions 0 0

Stap 19: Koppel die bord aan die skakelaar

Plaas die skakelaar onder die groep of êrens naby, gebruik Ethernet -kabels om die kaart wat u reeds gekonfigureer het, aan te sluit op die skakelaar. U kan ook die skakelaar en u rekenaar aan die router koppel om toegang tot die groep te kry.

U moet 'n statiese IP kan ping en inskakel op die bord wat nou aan die skakelaar gekoppel is.

U kan ook die IP en gasheernaam by u /etc /hosts -lêer voeg. U kan die gasheernaam gebruik om aan te sluit in plaas van die hele IP -adres in te tik.

Stap 20: Herhaal stappe 11 tot 19 vir elke bord

Volg die prosedure om die bedryfstelsel en netwerk vir elke bord op te stel.

>> Belangrike opmerking: gebruik verskillende gasheername en IP vir elke bord! Hulle moet uniek wees deur die netwerk! <<<

Stap 21: Koppel randapparatuur

Koppel randapparatuur!
Koppel randapparatuur!

Maak seker dat die waaier werk:

Maak seker dat die waaier krag kry en die lugvloei na binne in die boordomhulsel gaan. Die verbinding moet stabiel en onafhanklik van ander elemente wees. Onthou dat die planke oorverhit kan word as dit nie korrek afgekoel word nie.

Maak seker dat die borde aan die skakelaar gekoppel is:

Op hierdie punt moes u elke bord onafhanklik gekonfigureer het. Die borde moet ook aan die skakelaar gekoppel word. Die handleiding van die skakelaar moet inligting bevat wat gebruik kan word om te kontroleer of die opstartproses korrek afgehandel is; daar kan LED's wees wat die status aandui.

Koppel die borde aan die kragtoevoer:

Gebruik die mikro-USB na USB-A-kabel om elk van die borde aan die USB-hub te koppel. U kan die poorte benoem of 'n bestelling definieer as u 'n enkele bord moet ontkoppel.

Stap 22: Pas krag toe

1. Die waaier moet werk.

2. Die borde moet aan die Ethernet -skakelaar gekoppel word.

3. Kontroleer of die borde aan die USB -hub gekoppel is.

4. Verskaf krag aan die USB -hub.

5. Aktiveer DEMAC!

6. Wins!

Stap 23: Sagtewarehulpbronne

MPI (Message Passing Interface)

MPI is 'n kommunikasieprotokol vir die programmering van parallelle rekenaars. Beide punt-tot-punt en kollektiewe kommunikasie word ondersteun.

www.open-mpi.org/

OpenMP (Open Multi-Processing)

Die toepassingsprogrammeerkoppelvlak (API) OpenMP (Open Multi-Processing) ondersteun multi-platform gedeelde geheue veelverwerkingsprogrammering in C, C ++ en Fortran, op baie platforms. Dit bestaan uit 'n stel samestellerriglyne, biblioteekroetines en omgewingsveranderlikes wat die tydsgedrag beïnvloed.

www.openmp.org/

Parallella sagteware

Die ontwikkelaars bied 'n oopbron sagteware stapel, insluitend 'n SDK om met die versneller te koppel.

www.parallella.org/software/

U kan ook handleidings en meer gedetailleerde inligting vind.

Hulle het ook GitHub -bewaarplekke:

github.com/parallella

Laai gerus 'n paar voorbeelde af, en een van my gunstelinge is 'n lewensspel wat gebaseer is op die beroemde Conway's Game of Life.

Disclaimer: definisies kan van wikipedia gekopieer word

Aanbeveel: