Abstract

1. Introducere

Ultimul deceniu a asistat la o creștere dramatică a industriei spațiale; Din 2010 până în 2015, piața nano/microsatelit a crescut la o medie anuală de 39% și se așteaptă ca, din 2016 până în 2022, să crească în continuare la o creștere anuală de 13% [1]. În special, cererea de sateliți mici a crescut semnificativ pe măsură ce industria spațială a trecut de la guvern la piața privată. În conformitate cu o astfel de nevoie crescândă de sateliți mici sau misiuni spațiale, standardul CubeSat a fost inițiat [2] pentru sateliții mici care cântăresc aproximativ câteva kilograme (În standard, 1 unitate este un cub de 10 cm (10 × 10 × 10 cm) ) 3) cu o masă de cel mult 1,33 kg. Un satelit poate consta dintr-un singur (1U) sau mai multe cuburi (3U, 6U, 12U și 27U).). În timp ce CubeSats au fost inițial dezvoltate în scopuri educaționale sau demonstrative, utilizările lor au fost extinse la misiuni mai generale și mai avansate, inclusiv aplicații științifice, explorarea spațiului profund și așa mai departe [3].

În timp ce sistemele de satelit sunt expuse la condiții extreme în termeni de radiații și temperatură, se așteaptă să funcționeze mult timp fără întreținere. Mai mult, misiunile impuse unor sateliți atât de mici devin din ce în ce mai serioși în timp. Cu alte cuvinte, cerințele de performanță sau fiabilitate ale computerului de bord ale sistemelor de satelit continuă să crească. Astfel, este tipic să proiectăm sistemul de satelit cu procesoare întărite la radiații [4] care, în general, au performanțe mai slabe decât cele normale. Pentru a îndeplini cerințele de fiabilitate și performanță în același timp, a fost propusă abordarea de calcul reconfigurabilă cu tablouri de poartă programabile în câmp (FPGA), unde pot fi încorporate diverse tehnici de toleranță la erori [5,6,7].

Deoarece CubeSats sunt supuse multor constrângeri fizice, inclusiv volumul și greutatea, este dificil să se utilizeze baterii mari sau panouri solare. CubeSats-urile tipice cu panouri solare montate pe corp generează mai puțin de 10 W, iar panourile solare implementabile de ultimă generație produc 20-30 W. Bateriile care sunt utilizate în CubeSats depozitează de obicei doar 14-30 W · h [8]. În SwissCube [9], de exemplu, puterea medie generată de panourile solare pe orbită este de doar 1,5 W. Un astfel de buget energetic limitat poate restrânge performanța computerului la bord. Modul de satisfacere a cererii crescânde de performanță și fiabilitate în cadrul bugetului de putere dat este o provocare.

Fiabilitatea este una dintre preocupările cheie de proiectare ale unui satelit. Majoritatea misiunilor spațiale necesită o durată lungă de viață. În general, sateliții cu orbită terestră joasă (LEO) tind să aibă o durată de viață așteptată mai scurtă (5-10 ani) decât cea a sateliților cu orbită geostaționară (GEO) (15 ani sau mai mult). Întrucât întreținerea este imposibilă din punct de vedere fizic în sistemele de satelit, este esențial să le proiectăm pentru a funcționa pe o durată lungă de viață, fără niciun defect. Efectul ciclului termic (TC) pe care îl experimentează satelitul în schimbări extreme de temperatură este una dintre amenințările majore de fiabilitate. Într-un LEO CubeSat (SwissCube), de exemplu, se raportează că temperatura externă se schimbă de la 30 ∘ C la -30 ∘ C așa cum este ilustrat în Figura 1 [10]. Pentru a menține sistemul intact în schimbări severe de temperatură externă, multe protecții fizice, inclusiv controlul termic, izolația multistrat, ecranele solare, radiatoarele, conductele de căldură și așa mai departe, sunt aplicate în sateliții high-end. Cu toate acestea, pentru sateliții mici, cum ar fi CubeSats, este dificil să aveți pe deplin astfel de protecții fizice datorită costurilor și constrângerilor fizice.

îmbunătățirea

Măsurători de temperatură în SwissCube [10] (BAT: baterie, EXT: externă, PCB: placă cu circuite imprimate și MB: placă de bază).

În această lucrare, inspirată de faptul că majoritatea sateliților mici sunt echipați cu senzori de temperatură, încercăm să îmbunătățim durata de viață a sistemelor mici de satelit proiectate cu procesoare multi-core fără protecții fizice prin ajustarea configurației multi-core într-o temperatură - mod conștient. Până în prezent, majoritatea tehnicilor de îmbunătățire a fiabilității au încercat să mențină temperatura de funcționare cât mai scăzută posibil [11,12,13], deoarece se știe că temperaturile ridicate au ca rezultat o fiabilitate redusă. Cu toate acestea, în sistemele de satelit, acest lucru nu poate fi cazul, deoarece temperatura externă variază foarte mult așa cum se arată în Figura 1. Adică, în unele cazuri, eforturile artificiale de reducere a temperaturii cipului pot avea mai degrabă un efect advers al creșterii amplitudinii TC.

Pentru a îmbunătăți fiabilitatea pe durata de viață, având în vedere acest efect TC, ne propunem să reglați cu prudență maparea volumului de lucru al software-ului pe mai multe nuclee și frecvența de operare a nucleelor ​​într-un mod care să minimizeze amplitudinea TC. În plus, injectăm o sarcină de lucru virtuală în sistem dacă este necesar să disipăm mai multă putere pentru a îmbunătăți fiabilitatea. Procedând astfel, programabilitatea în timp real a misiunii sateliților și constrângerile de putere ar trebui să fie încă satisfăcute.

Contribuțiile noastre pot fi rezumate după cum urmează:

identificăm anomalia vieții, în care temperaturile mai scăzute duc la o viață așteptată și mai proastă în sistemele de satelit;

apoi, pentru a atenua efectele TC, identificate mai sus, propunem o tehnică de cartografiere/atribuire a frecvenței pentru sistemele de satelit multi-core.

În tehnica propusă, vizăm sistemele de satelit implementate deasupra unui sistem omogen multi-core, unde fiecare nucleu poate avea o configurație independentă de frecvență/tensiune (în timp ce multe platforme multi-core disponibile comercial acceptă doar modularea frecvenței și tensiunii la nivel de cluster, există astfel de sisteme flexibile [14] și alte tehnici de îmbunătățire a fiabilității, inclusiv [15] vizează, de asemenea, aceeași arhitectură.). Ca sarcini de lucru, presupunem că software-ul sateliților este implementat ca un set de sarcini invocate periodic în timp real. Pentru a permite evaluarea rapidă, dar precisă a temperaturii, presupunem că timpul de executare a sarcinii este suficient de lung pentru a atinge temperatura la starea de echilibru. Credem că această ipoteză este rezonabilă datorită consumului redus de energie al sistemelor de satelit. Inexactitatea care poate fi cauzată de aceasta este analizată în secțiunea 4.4. Pentru a cuantifica fiabilitatea sistemului, adoptăm modelul propus de Xiang și colab. [16], unde durata de viață este determinată pe baza profilului de temperatură temporală. Luând în considerare impactul gradienților de temperatură spațială asupra fiabilității rămân ca o lucrare viitoare.

Restul acestei lucrări este organizat după cum urmează: În secțiunea următoare, vom discuta despre lucrările aferente și de ce tehnicile existente sunt ineficiente în sistemele de satelit. Secțiunea 3 definește cantitativ problema propusă cu modele de sarcini, arhitectură, putere/temperatură și fiabilitate. Secțiunea 4 descrie metoda noastră pentru a maximiza fiabilitatea pe viață a sistemelor încorporate multi-core prin satelit LEO în trei pași. Evaluările sunt efectuate în simulare în secțiunea 5 pentru a arăta cum tehnica propusă îmbunătățește fiabilitatea pe durata vieții, urmată de observații finale și lucrări viitoare în secțiunea 6.

2. Lucrări conexe

În plus față de efectul TC pe care îl luăm în considerare în principal în această lucrare, există alte trei cauze cunoscute ale defecțiunilor în circuitele integrate CMOS (IC): electromigrarea (EM), defecțiunea dielectrică dependentă de timp (TDDB) și migrarea stresului (SM) [17]. Fiecare dintre aceste mecanisme de eșec este cuantificat prin Timpul mediu până la eșec (MTTF), care este durata de viață așteptată privind sursa de eșec [18]. Majoritatea lucrărilor existente s-au concentrat pe fiecare dintre cauzele menționate mai sus în mod individual, de exemplu, EM [18,19,20], TDDB [18,21], SM [18] și TC [18,22]. Deoarece aceste cauze coexistă fizic în funcționarea IC-urilor, este important să le luăm în considerare în același timp. Srinvasan și colab. [23] a propus modelul de fiabilitate a microprocesorului conștient (RAMP) cu instabilitate negativă a temperaturii de polarizare (NBTI), în plus față de cele patru cauze menționate mai sus. Cele cinci cauze diferite ale eșecului sunt cuantificate în termeni de fiabilitate utilizând modelul sumelor ratelor de eșec (SOFR), în care se presupune că fiecare mecanism de eșec este asociat cu o rată de eșec constantă. Xiang și colab. [16] a propus un model de fiabilitate la nivel de sistem cu EM, TDDB, SM și TC bazat pe simulările Monte Carlo.

Este bine cunoscut faptul că temperaturile ridicate duc la degradări pe durata de viață a IC [18,24,25]. Deci, pe baza unei simple ipoteze că IC-urile mai reci ar duce întotdeauna la o fiabilitate mai bună, s-au propus multe tehnici de îmbunătățire a fiabilității pentru a reduce temperatura de vârf fără a cuantifica de fapt fiabilitatea așteptată [11,12,13]. În aceste lucrări, fiabilitatea reală nu a fost analizată cantitativ, ci indirect îmbunătățită prin reducerea temperaturii.

În această lucrare, ne propunem să maximizăm durata de viață așteptată (MTTF) a sistemelor încorporate prin satelit care funcționează în mediul spațial unde temperatura se schimbă dinamic cu o cantitate excesivă așa cum se arată în Figura 1. Luăm acest lucru ca o provocare tehnică cheie și propunem o cartografiere a sarcinilor cu mai multe nuclee și o tehnică de scalare dinamică a tensiunii și frecvenței (DVFS) care se potrivește cu astfel de condiții variabile de temperatură ambientală folosind senzori de temperatură.

3. Modelul sistemului

În această secțiune, vom descrie sarcina, arhitectura, puterea/temperatura și modelele de fiabilitate, urmate de definiția problemei.

3.1. Task-Model de arhitectură

Considerăm un sistem multi-core omogen care constă din M nuclee, adică P E = < p e 1, p e 2, ⋯, p e M >, ca arhitectură țintă. Fiecare nucleu poate fi operat la unul dintre L niveluri de frecvență diferite, adică F = < f 1, f 2, ⋯, f L >iar acest nivel de frecvență poate fi modulat în timpul rulării. Rețineți că presupunem că F este sortat în ordine crescătoare de frecvență, adică ∀ i j, f i f j. Selecția frecvenței unui nucleu este definită ca o funcție a lui a: P E → F. De exemplu, atunci când p e m este decis să fie operat la f l, f a (p e m) = f l. De asemenea, se presupune că un senzor de temperatură este plasat pe fiecare miez, astfel, se poate urmări profilul profilului de temperatură al fiecărui miez.

Pentru încărcările de lucru pe sistemul multi-core țintă, considerăm un set independent multi-task care este definit ca W = < τ 1, τ 2, ⋯, τ N >. Fiecare sarcină este invocată periodic cu un termen limită. Adică, τ n este specificat cu un tuplu (e x n, p n), unde e x n și p n denotă numărul ciclurilor de execuție în cel mai rău caz și, respectiv, perioada de invocare. Sarcinile au termene implicite, adică termenul relativ al fiecărei invocații a lui τ n este egal cu p n. În plus față de volumul de lucru dat W, ne propunem să injectăm un set de sarcini virtuale V dacă este necesar să disipăm în mod intenționat mai multă căldură în sistem. În mod similar, o sarcină virtuală v i ∈ V este, de asemenea, caracterizată printr-un tuplu al numărului de cicluri de execuție în cel mai rău caz și al perioadei de invocare, adică (v _ e x i, v _ p i) .

3.2. Model putere-temperatură

Consumul de energie la momentul t poate fi caracterizat după cum urmează:

Rețineți că ținem evidența temperaturii nucleelor ​​M, astfel, P (t) este vectorul M × 1 și la fel sunt P a c t (f), P o t h (f) și P l e a k (T (t)). f este vectorul de frecvență M × 1 care indică alocarea curentă a frecvenței fiecărui nucleu, adică f = [f a (p e 1), f a (p e 2), ⋯, f a (p e M)] ′. De asemenea, U este vectorul de utilizare a nucleelor ​​M, adică U = [u 1, u 2, ⋯, u M] ′. P act (f) este vectorul consumului de energie activ atunci când toate nucleele sunt utilizate cu 100% la atribuirea frecvenței lui f, deci multiplicarea elementară U ∘ P act (f) reprezintă consumul de energie activ al sistemului în sarcina curentă. P o t h (f) este vectorii de consum dinamic independenți de utilizare, în timp ce P l e a k (T (t)) este vectorii de consum de energie de scurgere dependenți de temperatură.

În timp ce consumul de energie CMOS este de obicei modelat ca o simplă însumare a consumului de energie activă și statică, elaborăm modelarea puterii statice dependente de temperatură, folosind P l e a k, întrucât vizăm sistemul satelit unde scurgerile dependente de temperatură ar putea fi cruciale. De fapt, puterea de scurgere devine din ce în ce mai semnificativă în CMOS IC datorită tehnologiei de scalare și s-a raportat că reprezintă până la 40% din consumul de energie al microprocesoarelor actuale [30]. Folosim modelul de scurgere liniară (PWL) care este cunoscut a fi rapid și extrem de precis [30,31] după cum urmează:

unde α și β sunt M × M și M × 1 coeficient de potrivire matrice diagonală/vector, respectiv.

Pentru evaluarea temperaturii, ne bazăm pe modelul circuitului termic RC pentru sistemele multi-core [32], care se bazează pe dualitatea dintre transferul de căldură și fenomenele electrice. În acel model de circuit RC, curentul electric și capacitatea corespund fluxului de căldură prin rezistența (termică) și respectiv capacitatea de absorbție a căldurii a componentei, respectiv [33]. În acel model, temperatura unei anumite poziții poate fi ușor obținută prin evaluarea tensiunii din circuit. Pentru a fi mai specific, folosim următoarea ecuație pentru evaluarea vectorului de temperatură M × 1 T (t):

În ecuația de mai sus, C denotă capacitatea termică a nucleelor ​​M, reprezentate ca matrice diagonală M × M. Transferul de căldură între nuclee este luat în considerare de G, în timp ce disiparea căldurii de la nuclee către exterior este realizată de K. Rețineți că atât G, cât și K sunt matrici de conductanță termică M × M, iar K este o matrice diagonală. T a m b este vectorul de temperatură M × 1 care denotă temperatura ambientală (mediu) și P (t) este vectorul de consum de energie formulat în ecuația (1).

Ecuația (3) poate fi simplificată după cum urmează, folosind A = C - 1 · (G + K - α), B = C - 1 · (β ′ + K · T amb) și β ′ = U ∘ P act ( f) + P oth (f) + β:

Când sistemul păstrează aceeași configurație, adică mapare și atribuire de frecvență, pentru o perioadă suficient de lungă de timp, va ajunge în cele din urmă la o stare stabilă. Temperatura stării de echilibru poate fi ușor obținută având d T (t) d t = 0 în ecuația (4). Adică, vectorul de temperatură la starea de echilibru T s s poate fi formulat după cum urmează

Rezolvând ecuația diferențială (4), avem vectorul de temperatură

unde T (t 0) este vectorul de temperatură inițială.

3.3. Model de fiabilitate

Printre cele patru mecanisme de eșec pe care le luăm în considerare în această lucrare, EM, TDDB și SM pot fi modelate după cum urmează în ecuațiile (7) - (9) [16]:

Aceste trei modele au în comun faptul că sunt puternic dependente de gradul absolut al temperaturii. Adică, pur și simplu, cu cât au T mai mare, cu atât sunt mai mici valorile MTTF. Pe de altă parte, TC prezintă un comportament diferit, deoarece uzura în TC se datorează în principal diferenței dintre coeficienții de expansiune termică dintre materialul adiacent. Aceste daune acumulate cauzează defecțiuni permanente în pachet, lipire, interconectare și materiale dielectrice. Astfel, în TC, este important cât gradientul de temperatură temporală are un sistem. MTTF datorat TC poate fi modelat după cum urmează [16]:

cu p egal cu perioada istoriei temperaturii. N C i este efectul ciclului i și poate fi cuantificat prin ecuația Coffin-Manson modificată cu termenul Arrhenius [16] după cum urmează:

unde ATC se potrivește constant, Δ T este amplitudinea ciclului, Δ T 0 este porțiunea din intervalul de temperatură din regiunea elastică, E a, TC este energie de activare, k este constanta lui Boltzmann, T max este temperatura maximă în timpul ciclului, și q este constanta exponentului Coffin-Manson care depinde de caracteristica materială. De obicei, q este setat la 6-9 pentru fracturile fragile (Si și dielectrice), la 3-5 pentru aliajele metalice dure/intermetalice (Al-Au) și la 1-3 pentru metalul ductil (lipit) [18]. Merită să menționăm că în mecanismul TC, spre deosebire de toate celelalte, este considerat în mod explicit impactul negativ al gradientului de temperatură Δ T, ceea ce motivează munca noastră.

3.4. Definirea problemei

Problema pe care ne propunem să o rezolvăm în această lucrare poate fi rezumată după cum urmează:

Intrare: Având în vedere istoricul temperaturii PCB LEO CubeSat după cum este exemplificat în Figura 1, adică temperatura ambiantă (Ta mb), setul periodic de sarcini W ca sarcini de lucru și modelele putere-temperatură prezentate în Secțiunea 3.2,

Constrângeri: respectând în același timp constrângerile de sincronizare ale seturilor de sarcini date (p i pentru fiecare τ i ∈ W) și fără a încălca bugetul de putere dat P m a x, adică ∀ t, ∑ i = 0 M P (t) [i] ≤ P m a x,

Ieșire: determinați decizia de mapare m a p și alocarea frecvenței f a și impuneți o sarcină de lucru virtuală suplimentară V și determinați maparea acesteia dacă este necesar,

Obiectiv: pentru a maximiza MTTF.

4. Propunere de cartografiere/tehnică DVFS

În această secțiune, propunem o tehnică de cartografiere/DVFS pentru sistemele încorporate multi-core, prezentată în secțiunea 3, adaptată la optimizarea fiabilității sateliților LEO. Cea mai vizibilă proprietate a sistemului țintă este că acestea sunt expuse la medii de temperatură foarte variate, așa cum se arată în Figura 1. Rețineți că majoritatea abordărilor convenționale încearcă de obicei fie să minimizeze consumul de energie, fie să mențină temperatura cât mai scăzută posibil. Cu toate acestea, în condiții de temperatură foarte variate, astfel de abordări pot duce la fluctuații considerabile de temperatură în timp, care, la rândul lor, pot afecta negativ sistemul ca o amenințare de fiabilitate.

Susținem că decizia de gestionare a temperaturii ar trebui luată în mod judicios, având în vedere temperatura exterioară obținută printr-un senzor de temperatură. De exemplu, atunci când temperatura ambiantă este foarte scăzută, ar fi chiar mai bine să ai frecvențe de ceas mai mari decât este necesar pentru a încălzi intenționat nucleele. Această decizie de overclocking este utilă pentru a reduce amplitudinea TC. Pe de altă parte, acest lucru nu este întotdeauna fezabil sau de dorit. În primul rând, bugetul de energie ar putea permite acum o supraînregistrare irositoare în unele cazuri. Sau, dacă temperatura exterioară este relativ ridicată, acest lucru poate provoca gradienți termici și mai mari. De asemenea, este important să se ia în considerare celelalte trei mecanisme de eșec, precum și TC. Prin urmare, nu este banal să se ia o decizie optimă de cartografiere/DVFS pentru starea dată.

În timp ce ciclul de revoluție al sateliților LEO este consistent, temperaturile maxime și minime din ciclu variază în funcție de sezon. Prin urmare, este calculat intratabil să precomputați soluțiile de cartografiere/DVFS pentru toate condițiile posibile. Vă propunem o soluție hibridă, care constă din doi pași offline, urmați de un pas online, așa cum este subliniat în Figura 2. În primul rând, la cea mai înaltă temperatură a ciclului de revoluție, se ia o decizie inițială de cartografiere/DVFS într-un mod care minimizează temperatura de vârf (T t o p). Modul de obținere a acestei mapări inițiale este prezentat în secțiunea 4.1. Apoi, din această condiție inițială, temperatura minimă a TC care determină cea mai mare valoare MTTF este derivată ca prag de temperatură (T t h). Această procedură este descrisă în secțiunea 4.2. În timpul rulării, ori de câte ori acest prag este încălcat, adică temperatura scade sub minimul derivat, se ia o nouă decizie DVFS și, dacă este necesar, se injectează un set de sarcini virtuale (secțiunea 4.3).