Kailangan mo ng isang makina na maaaring magsagawa ng trilyun-milyong mga kalkulasyong lumulutang-point sa isang segundo? O kailangan mo ba ng isang cool na kuwento tungkol sa iyong personal na supercomputer na pinatay ang mga ilaw sa iyong nayon? Ang pagbuo ng isang supercomputer ay isang nakawiwiling hamon kung ikaw ay isang mayamang henyo na may ilang ekstrang oras. Teknikal, ang isang multiprocessor supercomputer ay isang network ng mga computer na nagtutulungan upang malutas ang isang problema. Tatalakayin sa artikulong ito ang bawat yugto ng paglikha nito, na nakatuon sa hardware at software.
Hakbang
Hakbang 1. Una, alamin kung anong mga sangkap ng hardware ang kakailanganin mo
Isang pangunahing node, hindi bababa sa isang dosenang magkaparehong mga node ng compute, isang switch ng Ethernet, isang yunit ng pamamahagi ng kuryente (PDU), at isang server rack. Alamin din ang tungkol sa mga pangangailangan sa kuryente, paglamig, at puwang. Tukuyin ang IP address para sa pribadong network, ang mga pangalan ng mga node, mga software package na nais mong i-install, at kung anong teknolohiya ang nais mong gamitin upang magtrabaho silang lahat upang magsagawa ng parallel computing (higit pa sa ibaba).
- Bagaman mahal ang hardware na kakailanganin mo, ang software sa patnubay na ito ay libre lahat, at ang karamihan dito ay bukas na mapagkukunan.
- Kung nais mong makita kung gaano kabilis ang iyong supercomputer (sa teorya), gamitin ito:
Hakbang 2. Bumuo ng mga compute node
Maaari mong tipunin ang mga node ng compute na kailangan mo mismo o gumamit ng isang handa nang server.
- Pumili ng isang balangkas ng server ng computer na nag-maximize ng espasyo, paglamig, at kahusayan sa kuryente.
- O maaari mong gamitin ang humigit-kumulang isang dosenang lipas na mga server. Kapag ginamit nang magkasama, ang mga ito ay higit na kapaki-pakinabang kaysa sa ginagamit nang paisa-isa, at makaka-save ka ng kaunti. Lahat ng mga processor, network adapter, at motherboard ay dapat na pareho upang matiyak na maayos ang pagpapatakbo ng system. Siyempre, huwag kalimutan ang RAM at kapasidad sa pag-iimbak para sa bawat node at kahit isang optikal na drive para sa pangunahing node.
Hakbang 3. I-mount ang server na iyong naitayo sa server rack
Magsimula sa ibaba upang maiwasan ang mga pagtutol sa itaas. Anyayahan ang isang kaibigan na tulungan ka, dahil ang masikip na mga set ng server ay maaaring maging napakabigat na nagpapahirap na magkasya ang mga ito sa mga drawer.
Hakbang 4. I-mount ang switch ng Ethernet sa tuktok ng frame ng server
Dalhin ang opurtunidad na ito upang mai-configure ito: bigyan ito ng laki ng frame ng 9000 bytes, itakda ang IP address sa static address na tinukoy mo sa hakbang 1, at patayin ang mga hindi kinakailangang mga router sa pagruruta tulad ng SMTP Snooping.
Hakbang 5. I-install ang yunit ng pamamahagi ng kuryente
Maaaring mangailangan ka ng 220 volts para sa mataas na pagganap na computing, depende sa kung gaano karaming kasalukuyang nangangailangan ang node sa maximum na pagkarga.
Hakbang 6. Kapag na-install na ang lahat, maaari mong simulan ang proseso ng pagsasaayos
Ang Linux ay isang kinakailangang operating system para sa mga kumpol ng computing na may mahusay na pagganap, dahil bukod sa pagiging perpekto para sa pang-agham na pag-compute, 100% din itong libre. Sa mga node na umaabot sa daan-daang o kahit libu-libo, tiyak na napakamahal nito kung gumagamit ka ng Windows!
- Magsimula sa pamamagitan ng pag-install ng pinakabagong bersyon ng motherboard BIOS at firmware. Ang naka-install na bersyon ay dapat na pareho para sa lahat ng mga node. Magsimula sa pag-install ng pinakabagong bersyon ng motherboard BIOS at firmware, na dapat pareho sa lahat ng mga node.
- I-install ang distro ng Linux na gusto mo sa bawat node, na may isang graphic na interface sa pangunahing node. Ang mga tanyag na pagpipilian ay ang CentOS, OpenSuse, Scientific Linux, RedHat, at SLES.
- Masidhing inirekomenda ng may-akda na gamitin ang Pamamahagi ng Rocks Cluster. Agad na mai-install ng mga Rocks ang lahat ng mga programa na kailangang gumana ng iyong supercomputer, at gagamit ng isang madaling paraan upang 'ibahagi' ang sarili nito sa lahat ng mga umiiral na mga node gamit ang Red Hat's PXE boot at 'Kick Start' na pamamaraan.
Hakbang 7. I-install ang interface ng pagmemensahe, pamamahala ng mapagkukunan, at iba pang mahahalagang aklatan ng software
Kung hindi mo na-install ang Rocks sa nakaraang hakbang, ihahanda mo ang software na kinakailangan upang paandarin ang iyong mekanismo ng parallel computing.
- Una, kakailanganin mo ang isang portable bash management system tulad ng Torque Resource Manager, na gagawa ng pagbabahagi ng trabaho sa mga machine.
- Ipares ang Torque sa Maui Cluster scheduler upang makumpleto ang pag-set up.
- Susunod, kailangan mong i-install ang interface ng pagmemensahe, na kinakailangan upang makagawa ng magkakahiwalay na mga node ng compute na magbahagi ng parehong data. Ang OpenMP ay isang tiyak na pagpipilian.
- Huwag kalimutan ang mga multi-threading library ng matematika at tagatala upang mabuo ang mga parallel na programa ng computing kailangan mo. O, i-install lamang ang Rocks upang mas madali ito.
Hakbang 8. Pagsamahin ang lahat ng mga compute node sa isang network
Ang pangunahing node ay magpapadala ng mga gawain sa computational sa compute node, na kung saan ay dapat na ibalik ang mga resulta habang nagpapalitan ng mga mensahe sa bawat isa. Mas maaga mas mabuti.
- Gumamit ng isang pribadong network ng ethernet upang ikonekta ang lahat ng mga node sa iyong supercomputer cluster.
- Ang pangunahing node ay maaaring isang NFS, PXE, DHCP, TFTP, at NTP server sa ethernet network.
- Dapat mong paghiwalayin ang network na ito mula sa pampublikong network upang matiyak na ang mga pakete na ipinadala ay hindi makagambala sa iba pang mga network sa iyong lokal na network.
Hakbang 9. Subukan ang supercomputer na iyong nilikha
Bago gamitin ng iba, inirerekumenda namin na subukan mo muna ang pagganap ng iyong supercomputer. Ang HPL (High Performance Linpack) ay isang tanyag na benchmark para sa pagsukat ng bilis ng computing ng mga supercomputer. Kakailanganin mong mag-ipon mula sa mapagkukunan, kasama ang lahat ng mga pagpipilian sa pag-optimize na inaalok ng tagatala na iyong ginagamit para sa arkitekturang napili mo.
- Siyempre, kailangan mong mag-ipon mula sa mapagkukunan kasama ang lahat ng posibleng mga pagpipilian sa pag-optimize para sa iyong platform. Halimbawa, kung gumagamit ng isang AMD CPU, ipunin ito gamit ang Open64 na may antas ng pag-optimize -0fast.
- Ihambing ang iyong mga resulta sa pagsubok sa TOP500.org upang ihambing ang iyong supercomputer sa 500 pinakamabilis na supercomputer sa buong mundo!
Mga Tip
- Para sa mataas na bilis ng network, tingnan ang interface ng network ng InfiniBand. Siyempre, kailangan mong maging handa na magbayad ng isang premium na presyo.
- Maaaring gawing simple ng IPMI ang pangangasiwa ng malalaking mga kumpol ng supercomputer sa pamamagitan ng pagbibigay ng KVM-over-IP, remote control cycle ng kuryente, at iba pang mga tampok.
- Gumamit ng Ganglia upang subaybayan ang pag-compute ng pag-load sa mga node.