Erevos Smart Miner – laaja tekninen kehityspäivitys

Erevos Smart Miner eli ESM on ottanut jälleen merkittävän askeleen eteenpäin. Tämän kehityskierroksen tavoitteena ei ollut ainoastaan lisätä uusia ominaisuuksia, vaan vahvistaa koko ohjelmiston roolia louhintaympäristön keskitettynä hallinta-, valvonta- ja turvallisuusjärjestelmänä.

ESM:n alkuperäinen tehtävä oli helpottaa CPU- ja GPU-louhinnan hallintaa. Kehityksen edetessä ohjelmistosta on kuitenkin muodostumassa järjestelmä, joka ei ainoastaan käynnistä louhintaprosesseja, vaan seuraa tietokoneen toimintaa, kerää telemetriatietoa ja pystyy käyttämään tätä tietoa laitteiston suojaamiseen.

Tämän päivän kehitystyössä erityistä huomiota kiinnitettiin lämpötilavalvontaan, lämpöturvaan, historiatietojen keräämiseen ja siihen, että valvontatietoa voidaan hyödyntää myös tilanteissa, joissa käyttäjä ei ole jatkuvasti koneen ääressä.

Lämpötilavalvonta osaksi ESM:n turvallisuuskerrosta

Louhinta muodostaa tietokoneelle pitkäkestoisen kuormituksen. Tavallisessa työpöytäkäytössä CPU:n ja GPU:n kuormitus vaihtelee jatkuvasti, mutta louhinnassa komponentti voi toimia korkealla käyttöasteella tuntikausia tai jopa vuorokausia yhtäjaksoisesti.

Tämän vuoksi lämpötilan seuraaminen ei ole ESM:ssä pelkkä käyttöliittymän lisätieto. Se on osa ohjelmiston turvallisuusarkkitehtuuria.

ESM seuraa CPU:n ja GPU:n lämpötiloja ja tarjoaa käyttäjälle keskitetyn näkymän louhintakoneen tilanteeseen. Tarkoituksena on, että käyttäjän ei tarvitse pitää erillisiä laitteistovalvontaohjelmia jatkuvasti avoinna vain nähdäkseen, mitä louhintakoneessa tapahtuu.

Pelkkä nykyisen lämpötilan näyttäminen ei kuitenkaan riitä.

Esimerkiksi GPU voi käydä hetkellisesti erittäin korkeassa lämpötilassa yön aikana ja palautua myöhemmin normaaliksi. Kun käyttäjä seuraavana aamuna tarkistaa koneen, nykyinen lämpötila saattaa näyttää täysin normaalilta.

Ilman historiatietoa tällainen tapahtuma jäisi helposti kokonaan huomaamatta.

Tästä syntyi yksi tämän kehitysvaiheen tärkeimmistä ominaisuuksista: 24 tunnin lämpöhistoria.

24 tunnin lämpöhistoria

ESM:n lämpötilaseurantaa kehitettiin siten, että ohjelmisto pystyy muodostamaan aikajanan CPU:n ja GPU:n lämpötiloista edellisen 24 tunnin ajalta.

Tarkoituksena on näyttää historiatieto visuaalisena käyränä.

Käyttäjä pystyy tällöin näkemään esimerkiksi:

CPU:n lämpötilan kehityksen edellisen 24 tunnin aikana

GPU:n lämpötilan kehityksen edellisen 24 tunnin aikana

lämpötilapiikit

ajankohdan, jolloin lämpötilapiikki tapahtui

pitkäkestoiset korkean lämpötilan jaksot

louhinnan käynnistymiseen ja pysähtymiseen liittyvät lämpötilamuutokset

jäähdytyksen käyttäytymisen pitkällä aikavälillä

Tämä muuttaa lämpötilavalvonnan hetkellisestä mittarista diagnostiseksi työkaluksi.

Jos GPU esimerkiksi toimii normaalisti noin 70 asteessa mutta lämpöhistoria näyttää lämpötilan nousseen yön aikana 100 asteeseen, käyttäjä tietää välittömästi, että järjestelmässä on tapahtunut jotakin poikkeavaa.

Syy voi olla esimerkiksi tuulettimen toimintahäiriö, ilmanvaihdon estyminen, louhintaprofiilin muuttuminen, huoneen lämpötilan nousu tai muu jäähdytysjärjestelmään liittyvä ongelma.

Tiedon pysyvyys ohjelman tai tietokoneen sammuttamisen jälkeen

Lämpöhistorian suunnittelussa yksi tärkeä vaatimus oli, ettei historiatieto saa olla riippuvainen pelkästään ohjelman RAM-muistissa olevasta datasta.

Jos lämpötilanäytteet säilytettäisiin ainoastaan ohjelman muistissa, kaikki historiatieto katoaisi ESM:n tai tietokoneen sammuessa.

Tämä olisi erityisen ongelmallista juuri niissä tilanteissa, joissa historiatietoa tarvitaan eniten.

Jos tietokone esimerkiksi sammuu lämpöongelman seurauksena, käyttäjän pitäisi pystyä seuraavan käynnistyksen jälkeen tutkimaan, mitä ennen sammumista tapahtui.

Tämän vuoksi lämpöhistorian toteutuksessa lähtökohtana on paikallisesti säilytettävä telemetriadata.

Jokainen lämpötilanäyte voidaan käsitellä esimerkiksi seuraavan kaltaisena tietueena:

timestamp
CPU temperature
GPU temperature
system state
mining state

Aikaleima mahdollistaa tapahtumien sijoittamisen tarkasti aikajanalle.

Kun ESM käynnistetään uudelleen, historiatiedot voidaan lukea takaisin paikallisesta tallennuksesta ja muodostaa niistä lämpökäyrä.

Näin esimerkiksi ennen tietokoneen sammumista tapahtunut lämpötilapiikki ei katoa pelkästään siksi, että Windows tai ESM käynnistettiin uudelleen.

24 tunnin liukuva tietomalli

ESM:n tarkoituksena ei ole rakentaa loputtomasti kasvavaa lämpötilatietokantaa.

Käyttötarkoituksen kannalta olennaisin tieto löytyy lähimenneisyydestä.

Tämän vuoksi lämpöhistoria suunniteltiin 24 tunnin liukuvaksi historiaksi.

Periaate on yksinkertainen.

ESM kerää uusia lämpötilanäytteitä jatkuvasti ja samalla järjestelmä poistaa sellaiset näytteet, jotka ovat vanhempia kuin 24 tuntia.

Logiikka voidaan kuvata yksinkertaistettuna seuraavasti:

current_time = nykyinen aika

history_limit = current_time - 24 tuntia

säilytä kaikki näytteet, joiden timestamp >= history_limit

poista tätä vanhemmat näytteet

Näin historiatiedoston tai paikallisen tietokannan koko pysyy hallinnassa riippumatta siitä, kuinka pitkään ESM on käytössä.

Tämä on tärkeä suunnitteluperiaate etenkin ohjelmistossa, jonka tarkoituksena on pystyä toimimaan jatkuvasti taustalla.

Näytteenottoväli ja datan määrä

Lämpötilahistorian toteutuksessa täytyy huomioida myös näytteenottoväli.

Lämpötilaa ei ole tarkoituksenmukaista kirjoittaa levylle esimerkiksi useita kertoja sekunnissa. Se tuottaisi valtavan määrän tietoa ilman merkittävää hyötyä tavallisessa louhintavalvonnassa.

Jos lämpötila tallennetaan esimerkiksi kerran minuutissa, yhden komponentin osalta syntyy vuorokaudessa:

60 näytettä tunnissa

1440 näytettä vuorokaudessa

CPU:n ja GPU:n osalta tämä tarkoittaa edelleen erittäin pientä datamäärää.

Näytteenottoväli voidaan toteutuksessa optimoida niin, että lämpökäyrä pysyy riittävän tarkkana mutta järjestelmän levy- ja prosessorikuormitus pysyy käytännössä merkityksettömänä.

Lämpöturva

Toinen keskeinen kehityskohde on lämpöturva.

ESM:n tavoitteena ei ole ainoastaan kertoa käyttäjälle, että komponentti käy liian kuumana. Järjestelmän pitää pystyä tunnistamaan vaarallinen lämpötila automaattisesti.

GPU:n kriittiseksi turvarajaksi määriteltiin 105 °C.

Kun GPU saavuttaa tämän lämpötilan, kyse ei enää ole normaalista pitkäkestoisesta louhintalämpötilasta. ESM:n turvallisuuslogiikan näkökulmasta tällainen tilanne pitää käsitellä poikkeamana.

Lämpöturvan peruslogiikka voidaan kuvata seuraavasti:

1. ESM lukee GPU:n lämpötilan.

2. Mittaustulos tallennetaan lämpöhistoriaan.

3. Lämpötilaa verrataan määriteltyyn turvarajaan.

4. Jos lämpötila on normaalialueella, louhinta jatkuu normaalisti.

5. Jos lämpötila ylittää kriittisen rajan, ESM tunnistaa lämpötilapoikkeaman.

Tulevaisuudessa sama turvallisuuskerros mahdollistaa myös automaattisten suojatoimenpiteiden laajentamisen.

Esimerkiksi louhintaprosessi voidaan pysäyttää ennen kuin pitkäkestoinen ylikuumeneminen pääsee aiheuttamaan ongelmia laitteistolle.

CPU-lämpötilan valvonta

Myös CPU kuuluu samaan valvontajärjestelmään.

CPU-louhinnassa prosessori voi toimia erittäin korkealla käyttöasteella pitkiä aikoja, joten myös prosessorin lämpötilan kehityksen seuraaminen on tärkeää.

ESM:n näkökulmasta CPU ja GPU muodostavat kaksi erillistä valvontakohdetta.

Tämä mahdollistaa myöhemmin komponenttikohtaisen turvallisuuslogiikan.

CPU:n turvallinen lämpötila riippuu muun muassa prosessorimallista, valmistajan määrittelemistä lämpörajoista ja jäähdytyksestä. Tästä syystä CPU:n valvontaa ei ole tarkoituksenmukaista rakentaa täysin saman kiinteän lämpörajan varaan kaikkien prosessorien kohdalla.

Pitkän aikavälin tavoitteena on, että ESM:n turvallisuuslogiikka pystyy huomioimaan paremmin valvottavan laitteiston ominaisuudet.

Lämpötilakäyrä diagnostisena työkaluna

24 tunnin lämpökäyrä tarjoaa myös uuden tavan analysoida louhintakoneen jäähdytystä.

Esimerkiksi seuraavanlainen tilanne voidaan havaita:

00:00 GPU 67 °C

02:00 GPU 69 °C

04:00 GPU 74 °C

05:30 GPU 86 °C

06:00 GPU 94 °C

06:20 GPU 102 °C

Tällaisesta käyrästä nähdään välittömästi, ettei kyseessä ole yksittäinen satunnainen mittauspiikki. Lämpötila on noussut asteittain useiden tuntien aikana.

Tämä voi viitata esimerkiksi jäähdytyksen heikkenemiseen tai ympäristön lämpötilan muutokseen.

Toisenlaisessa tilanteessa käyrässä saattaa näkyä:

03:14 GPU 70 °C

03:15 GPU 101 °C

03:16 GPU 71 °C

Tällöin kyseessä voi olla hyvin erilainen tapahtuma, kuten hetkellinen kuormituspiikki tai mittauspoikkeama.

Pelkkä maksimiarvo ei pysty kertomaan näiden tilanteiden välistä eroa.

Aikasarjadata pystyy.

ESM:n rooli muuttuu

Tämän kehityksen myötä Erevos Smart Minerin perusajatus laajenee.

Kyse ei ole enää vain siitä, että käyttäjä painaa nappia ja ESM käynnistää louhintaohjelman.

Järjestelmän arkkitehtuuri voidaan nähdä useampana kerroksena:

Mining Control Layer

Vastaa CPU- ja GPU-louhintaprosessien käynnistämisestä, pysäyttämisestä ja hallinnasta.

Hardware Monitoring Layer

Kerää laitteistosta CPU- ja GPU-lämpötilat sekä tulevaisuudessa mahdollisesti muita telemetriatietoja.

Telemetry Layer

Tallentaa mittaustiedot aikaleimoineen ja ylläpitää 24 tunnin historiaa.

Safety Layer

Vertaa kerättyä dataa määriteltyihin turvallisuusrajoihin ja tunnistaa poikkeavat tilanteet.

Visualization Layer

Muuttaa kerätyn telemetrian käyttäjälle ymmärrettäväksi tiedoksi, kuten reaaliaikaisiksi mittareiksi ja historiakäyriksi.

Tämä kerrosmalli mahdollistaa ohjelmiston jatkokehittämisen ilman, että kaikkia ominaisuuksia tarvitsee rakentaa yhden suuren toimintolohkon sisälle.

Pohja ennakoivalle valvonnalle

Lämpöhistorian kerääminen avaa tulevaisuudessa myös huomattavasti kehittyneempiä mahdollisuuksia.

Kun ESM:llä on käytössään aikaisempaa telemetriadataa, ohjelmisto voi tulevaisuudessa analysoida muutoksia eikä pelkästään yksittäisiä mittausarvoja.

Esimerkiksi järjestelmä voisi havaita, että samalla louhintakuormalla GPU:n normaali lämpötila on noussut viikon aikana useita asteita.

Tällainen kehitys voisi viitata esimerkiksi:

jäähdytysripojen pölyyntymiseen

tuulettimen heikkenemiseen

lämpötahnan suorituskyvyn heikkenemiseen

koteloilmankierron muuttumiseen

ympäristön lämpötilan nousuun

louhintaprofiilin muuttumiseen

Tällöin ESM voisi tulevaisuudessa ilmoittaa käyttäjälle mahdollisesta jäähdytysongelmasta jo ennen kriittisen lämpötilan saavuttamista.

Kyse olisi silloin reaktiivisen valvonnan sijasta ennakoivasta valvonnasta.

Paikallinen ja itsenäinen toiminta

ESM:n suunnittelussa tärkeä lähtökohta on myös se, ettei tietokoneen perusvalvonta saa olla täysin riippuvainen ulkopuolisesta palvelusta.

Lämpötilahistorian paikallinen säilyttäminen tarkoittaa, että valvonta voi jatkua ilman pilvipalvelua.

Tämä tekee ratkaisusta yksinkertaisemman ja samalla vähentää riippuvuutta verkkoyhteydestä.

Paikallinen telemetria tarjoaa lisäksi hyvän perustan sille, että ESM:n ympärille voidaan myöhemmin rakentaa erillinen etähallintakerros.

Tällöin paikallinen ESM toimii varsinaisena agenttina, joka kerää tiedot ja hallitsee louhintaa, kun taas toinen käyttöliittymä voisi näyttää nämä tiedot verkon yli.

Kehitys kohti kokonaisvaltaista louhinnan hallintajärjestelmää

Erevos Smart Minerin kehityksessä tavoite on alusta asti ollut automatisoida sellaisia asioita, joita louhinnassa joudutaan muuten tekemään useiden eri ohjelmien ja komentojen kautta.

Tämän päivän kehitys vahvistaa tätä suuntaa merkittävästi.

ESM yhdistää samaan järjestelmään louhintaprosessien hallinnan, laitteiston seurannan, turvallisuuslogiikan ja historiatiedon.

Kun nämä järjestelmät keskustelevat keskenään, voidaan rakentaa huomattavasti älykkäämpää automaatiota.

Esimerkiksi tulevaisuuden toimintaketju voisi olla:

GPU-louhinta käynnistyy.

ESM aloittaa lämpötilaseurannan.

GPU:n lämpötila nousee normaalisti.

ESM tallentaa lämpötilakehityksen.

Lämpötila alkaa nousta poikkeuksellisen nopeasti.

Turvallisuuskerros tunnistaa tilanteen.

ESM pysäyttää louhintaprosessin.

Tapahtuma tallennetaan historiaan.

Käyttäjä pystyy myöhemmin näkemään tarkasti, mitä tapahtui ja milloin.

Tällainen toimintamalli tekee ESM:stä huomattavasti enemmän kuin graafisen käyttöliittymän louhintaohjelmien päälle.

Se tekee siitä louhintakoneen valvontajärjestelmän.

Seuraava kehityssuunta

Tämän päivän muutokset muodostavat teknisen perustan, jonka päälle ESM:n valvontaa voidaan kehittää edelleen.

Mahdollisia jatkokehityskohteita ovat muun muassa komponenttikohtaiset lämpörajat, automaattinen louhinnan pysäytys, varoitukset, lämpötilan nousunopeuden analysointi, tuuletintietojen seuranta, GPU Hotspot -lämpötilan seuranta, virrankulutuksen seuranta sekä louhintaprosessin tapahtumien yhdistäminen samaan aikajanaan lämpötiladatan kanssa.

Pitkällä aikavälillä tavoitteena on, että ESM pystyy vastaamaan kolmeen kysymykseen yhdestä näkymästä:

Mitä kone tekee juuri nyt?

Mitä koneelle on tapahtunut viimeisen 24 tunnin aikana?

Onko järjestelmän toiminnassa jotakin, johon käyttäjän pitäisi reagoida?

Kun nämä tiedot yhdistetään louhinnan automaattiseen hallintaan, Erevos Smart Minerista rakentuu vaiheittain järjestelmä, joka ei ainoastaan suorita louhintaa vaan myös valvoo sitä.

Erevos Systems
Erevos Smart Miner
Louhinnan hallinta, automaatio ja laitteistovalvonta yhdessä järjestelmässä.