Vai al contenuto

Robin Rotondo – Distribuzione della Ricchezza e Gestione della CPU

Cosa diavolo c’entra la distribuzione della ricchezza e delle risorse con l’organizzazione degli accessi al processore da parte delle varie applicazioni di un computer? E che cavolo è un Robin Rotondo? Ma soprattutto perchè mi ritrovo sempre a parlare più di informatica e di etica che di giochi di ruolo? Ma soprattutto perchè mi sto facendo tutte queste domande da solo? Ma soprattutto Bart!

Round Robin…in ambito informatico mi sa che non vuol dire questo…

Le Risorse Sono Limitate

Lo so, spoiler. Magari avete studiato economia e quindi non lo sapevate (dai, si scherza, ho molti amici che hanno studiato economia, alcuni di questi non sono nemmeno cattive persone). 

Comunque non stavo pensando tanto alle risorse materiali (il petrolio, il silicio e via dicendo), quanto alla possibilità di ottenere vantaggi sociali: lavoro ben retribuito, accesso a percorsi di studio prestigiosi, possibilità di fruire di prestiti e finanziamenti, occasione di ricoprire incarichi di potere o comunque di rilievo e via dicendo.

Lo so, i meritocratici oltranzisti e i leccastivali degli “uomini di successo” a questo punto staranno pensando “no, non è vero: basta impegnarsi e si può raggiungere qualsiasi risultato. Se tu non hai ottenuto nulla è solo colpa tua!”.
Ora, questo è chiaramente così sbagliato che per confutarlo nel dettaglio mi servirebbe un terabyte in txt. Tralasciamo la lotteria della nascita, per cui se nasci già coi debiti, oppure con 5 ville intestate è un po’ diverso. Tralasciamo pure le disabilità o la possibilità di far parte di una categoria emarginata e discriminata. Tralasciamo perfino tutti l “magna-magna” di favori, corruzioncine, amicizie altolocate ecc. 

Quello che mi preme sottolineare è che (al netto di tutte le cose tralasciate poc’anzi) il nostro sistema attuale non premia “tutti quelli che son bravi”, ma premia i primi N. Siamo in una gara podistica in cui non diciamo “se corri abbastanza veloce e ottieni il tempo X allora bravo, hai raggiunto un buon risultato” (che sarebbe pure sbagliato, eh, ma come dicevo, non ho un TB di spazio). No. Noi premiamo i primi N

Quindi se ti impegni, se migliori il tuo tempo, puoi arrivare a far parte dei primi N. Però così facendo qualcuno (magari anche veloce) smette di farne parte. Peccato. 

Non siete convinti? Pensate alle università a numero chiuso, o ai bandi di concorso. Se io ho un posto a disposizione e devo scegliere tra Turing, Goedel e Hilbert (tralasciando il dettaglio che sono morti), devo scartare letteralmente due geni. 

In situazioni più fluide, come il mercato del lavoro, la questione non è così netta. Però non possiamo inventarci tutti un nuovo lavoro o formarci tutti per raggiungere un lavoro stimolante ed appagante. La storiella del “puoi impegnarti per raggiungere un lavoro adatto alla tua vocazione” è una scemenza. Poiché per quanto ci impegniamo tutti, ci sarà sempre “bisogno” di qualcuno che porti le pizze, che chiami a casa delle persone per vendere offerte di telefonia o che si metta i nostri mobili in spalla per farci traslocare. Sia chiaro, non ho nulla contro queste professioni, ma tra esperienze dirette e indirette mi sento di affermare che la maggior parte delle persone che le svolge vorrebbe fare altro (certo, l’esperienza personale non fa statistica, se avete dati discordanti li accetto volentieri). 

Stesso discorso per i mutui. Se anche tutti avessimo un ottimo punteggio di affidabilità, senza mai aver tardato una rata e via dicendo (poi tralasciamo sull’etica sottostante al sistema, per favore), se tutti chiedessimo un mutuo, non potremmo essere tutti soddisfatti. Non c’è tutta questa liquidità. Invece che erogare i mutui solo a chi ha (numeri a caso) punteggi sopra il 500, si passerebbe a concederli solo a chi ha punteggi sopra il 1000.

Insomma, smetto con gli esempi, però mi pare sufficientemente condivisibile che se la società attuale fosse un compito in classe avremmo una griglia di valutazione tipo: il più bravo prende 10, il secondo prende 9,i due successivi 8, i 6 successivi prendono 7, i 6 successivi prendono 6, i 5 successivi prendono 5 e gli ultimi 3 prendono insufficienze gravi (possiamo dibattere un po’ sui numeri nello specifico, ma il senso è quello).

La Gestione degli Accessi al Processore

La faccio breve, dopo che vi siete beccati il mio pippone etico a tradimento, non vi ammazzerò con una lezione dettagliata di informatica. Gli informatici non me ne vogliano, ma semplificherò un briciolo la questione.
Il punto fondamentale è che un processore fa un’operazione alla volta, quindi bisogna stabilire un metodo per gestire gli accessi dei vari programmi che devono essere eseguiti (che di norma nei PC attuali sono svariati in contemporanea). Esistono ovviamente varie strategie.

First Come First Served

Il primo che arriva è il primo che viene servito. Un po’ come la coda FIFO (first in first out). Appena un programma è pronto per dare qualcosa in input al processore, si mette in fila e si va in ordine e poi si rimane a occupare il processore finché non si ha finito. Problema: magari uno rimane lì per secoli e gli altri programmi soffrono di “starvation”. Cioè non riescono mai ad accedere al processore. 

Shortest Job First

Il job più veloce va per primo. Avete presente quando siete in coda e quello dietro di voi dice “le passo davanti che tanto faccio in un attimo” e poi sta dentro un’ora? Ecco. Visto che tecnicamente non c’è un modo esatto per sapere quale sarà l’operazione più veloce, non sempre funziona. Poi abbiamo sempre un problema potenziale di “starvation”: i processi più lunghi potrebbero non arrivare mai al processore perchè “sorpassati” sempre da quelli più veloci (un po’ come quando siete in cassa con un carrello pieno e continuano ad arrivare quelli che “tanto hanno solo una cosa” e voi non riuscite mai a conquistare la cassa…ok, sono ufficialmente boomer). 

Priorità

Ogni processo ha una priorità. Chi ha priorità maggiore entra per primo. Un po’ come in Pronto Soccorso: se dovete farvi medicare il ginocchio sbucciato, anche se siete lì da ore, il tizio con le viscere di fuori passerà per primo. 

Anche qui come avrete notato c’è un problema di “starvation“. I processi meno importanti rischiano di essere superati sempre da quelli prioritari.
Per contrastare questo problema viene usato il sistema di “aging”: ogni tot tempo di attesa la priorità di un processo viene aumentata. 

Round Robin

Ecco il Robin Rotondo del titolo. In realtà (com’era ovvio) non si parla del pupillo di Batman ingrassato. Robin è una corruzione del francese Ruban (Nastro). Il riferimento è alla pratica diffusa nel diciannovesimo secolo di firmare petizioni o simili documenti disponendo le firme in cerchio per evitare di rendere evidente la gerarchia dei protestatari. #sapevatelo

In informatica Round Robin si riferisce alla pratica di far accedere al processore a turno ogni processo per un determinato tempo prefissato X. Ogni X si passa al processo successivo e via dicendo. In questo modo si riesce a dare l’illusione di star facendo girare più cose alla volta su un singolo processore, ma solo con tempi dilatati. 

Qui non abbiamo “starvation”, come si può vedere.

Parallelismi tra gli Accessi alla CPU e la Distribuzione delle Ricchezze

Bene, direi che ora i miei intenti sono chiari. Visto che le risorse nella nostra società sono limitate, dovremmo evitare il più possibile situazioni di “starvation” in cui le risorse sono allocate sempre e solo presso gli stessi individui. 

Cosa succede invece? 

Se un soggetto ha un patrimonio elevato è più facile che abbia successivamente accesso a percorsi di studi esclusivi, possibilità di esperienze particolari, linee di credito, contatti con soggetti influenti e, di conseguenza, maggiori possibilità di ottenere incarichi prestigiosi o di potere e retribuzioni più alte. 

Sì, potete sbattere i piedi e dire che non siete d’accordo, ma a conti fatti le statistiche dicono il contrario, quindi statece: chi ha di più è più probabile che in futuro ottenga di più.

Trasportando l’attuale situazione sociale in ambito informatico, sarebbe come se il processo che è arrivato in un buon momento e quindi ha girato velocemente, poi ottiene la precedenza per l’accesso al processore. Quindi, quando tornerà a usare il processore, i suoi tempi saranno sempre migliori rispetto agli altri e questo lo porterà ad aumentare sempre la sua priorità. 

Ecco, se questo metodo di gestione risorse vi sembra insensato allora vuol dire che sono riuscito a spiegare bene ciò che avevo in testa. Se invece vi sembra insensato solo il mio discorso, allora probabilmente non mi sono spiegato bene.

Se a questo punto vi aspettavate una soluzione, vi devo deludere: non la posseggo.
Sono piuttosto certo che, come minimo, andrebbe scardinata questa tendenza secondo cui chi ottiene una situazione vantaggiosa poi riesce a con più facilità a ottenere altri benefici, mentre all’opposto chi si ritrova in una situazione sfortunata poi avrà maggiori difficoltà a raggiungere altri traguardi. 

Insomma, avrei voluto usare il termine snowballing (che mi pare sia usato nei giochi per definire le situazioni in cui chi vince qualcosa poi ha ottime possibilità di continuare a vincere), poi però ho googlato il termine e mi sono venute fuori pratiche a me non affini, quindi anche no. 

Quindi (volendo proprio mantenere a grandi linee il sistema economico-sociale così com’è) non so se a questo punto converrebbe usare una sorta di “aging” per dare a chi si trova in situazioni svantaggiose più possibilità di recuperare una posizione stabile, oppure richiamare un Robin Rotondo (Hood, questa volta) per porre un freno ai vantaggi che si possono accumulare, di modo che si evitino accumuli insensati.

Round Robin Hood. Immagine rubata da qui.


Ho concluso, vostro onore. A breve credo che metterò una nuova sezione nel blog, tipo “informatica”, che tanto è una roba da “nerd”, no?  
Nel frattempo se vi piace questa roba, qui si parla di intelligenza artificiale applicata a D&D.
Qui invece di etica.
Altrimenti in teoria il blog è nato per parlare di GdR.

Iscriviti alla newsletter

Se ti va puoi iscriverti così da non perderti le novità e restare in contatto.

Non inviamo spam! Leggi la nostra Informativa sulla privacy per avere maggiori informazioni.

7 commenti su “Robin Rotondo – Distribuzione della Ricchezza e Gestione della CPU”

  1. Ciao! Quando andavo all’università si diceva E=MC^2: la valutazione dell’Esame era pari a quanto avevi studiato (Mente) moltiplicato per il quadrato della fortuna nelle domande che ti capitavano (Cu.lo). In altre parole, se non avevi studiato, il rendimento era zero ma la fortuna contava di più dello studio.
    Credo che questo in realtà si possa applicare praticamente a tutto: tutti quelli che “si sono costruiti da sé”, in realtà hanno avuto fortuna e poi ci hanno costruito sopra (a partire da Paperon de Paperoni, che è stato fortunato a trovare la Pepita Uovo d’Anatra e da lì ha costruito tutta la sua fortuna – giusto per rimanere Nerd).
    Il tutto, ovviamente, escludendo le varie storture che possono avvenire.

    Ciao 🙂

    1. Sì, io sono d’accordo che c’entri la fortuna.
      Nei miei piccoli successi personali ho l’onestà intellettuale di riconoscere il ruolo del fattore C.

      Comunque il fatto di riuscire a ottenere un qualche risultato (che sia per fortuna o merito, non è questo il punto centrale della mia argomentazione) ti mette in una situazione di vantaggio per poi riuscire a raggiungerne altri.
      Un po’ come se facessimo vari scontri in arena a D&D e chi vince ottiene oggetti bonus.
      Quindi che vince i primi scontri avrà un vantaggio quando compete con chi ha perso i primi.

  2. Oh, ora mi è un po’ più chiaro come la pensi su queste materie. Tema interessante, e apprezzo l’onestà intellettuale di ammettere che non hai una soluzione.

    È anche interessante che, a quanto mi sembra di capire, la tua principale critica non sia tanto al principio astratto “scelgo i primi N anziché tutti coloro che stanno sopra il punteggio X”, bensì all’iniquità e ingiustizia dei criteri con cui si stila la classifica prima di applicare quel principio. Interessante perché sono d’accordo con te e mi definisco un sostenitore della meritocrazia. Mentre ho l’impressione che molti anti-meritocratici tendano ad attaccare proprio quel principio, come se non si rendessero conto che, come hai giustamente detto tu, le risorse non sono illimitate.

    1. Mah, in realtà ho puntato il dito su questi fatti perchè avevo voglia di fare un parallelismo con gli accessi alla CPU da parte dei thread.
      Io non sono un fan della meritocrazia, comunque. Cioè, meglio di tante altre cose, intendiamoci, ma se dovessi proprio scegliere non sarebbe il mio sistema preferito.

      Per la questione dei premi ai primi N, sì, non possiamo dare 100 milioni a tutti quelli “abbastanza bravi”.
      Però invece che dare 100 milioni al primo e niente agli altri, potremmo dare 10.000 a tutti (o 20.000 ai primi M e 5.000 agli altri). [chiaramente i numeri che ho messo sono a casaccio, giusto per rendere l’idea]

      Per le cariche e i ruoli, la questione è un po’ più complessa, ma credo che l’obiettivo a cui tendere sia (come per la ricchezza) quello di ridurre la forbice.
      Piuttosto che un solo posto da comandante assoluto, preferisco 10 posti da sommo consigliere, 100 da consigliere e 1000 da aiutante consigliere [anche qui, nomi e numeri a caso, si intende. Facciamo a capirci].
      In questo modo anche se col fatto che premi solo i primi N escludi dei “potenzialmente bravi” almeno non butti totalmente il loro talento.

      Diciamo che in queste situazioni io provo a usare il cosiddetto “velo di ignoranza” (di Rawls) e questo è il risultato.

      1. Il discorso è complesso. Naturalmente dubito che qualcuno sano di mente vorrebbe sostituire, a parità di budget, 1110 persone con una sola persona pagata 1110 volte tanto, anche perché per quanto sia brava non può certo lavorare per mille. Ma ci sono molte sfumature intermedie. Io credo che sia giusto che il governo tenda a ridurre la forbice attraverso strumenti di redistribuzione (aka tasse). Ma non sono sicuro che ridurre la forbice sia l’unico o il principale obiettivo a cui tendere quando si tratta di scegliere le persone.

        Poniamo che in un ospedale ci siano 8 cardiologi che lavorano a tempo pieno con uno stipendio di 1000 monete l’anno.

        Disclaimer: dico “monete” per far prima ma non sono per forza soldi, consideriamolo come un insieme di tutte le forme di ricompensa, inclusi anche benefici sociali e così via.

        Ovviamente possiamo decidere che 1000 monete l’anno sono troppe per un cardiologo. Riduciamo i loro stipendi a 500 monete l’anno, e possiamo passare a 16 cardiologi a tempo pieno, con sicuro beneficio per i pazienti (la sto facendo facile, in realtà dovremmo anche raddoppiare le infrastrutture, che non è gratis, ma sorvoliamo; il beneficio per i pazienti è comunque innegabile).
        Quindi, invece che prendere i primi N con N=8, abbiamo preso i primi N con N=16.

        Il punto è che applicando iterativamente questo ragionamento potremmo arrivare a 8000 cardiologi a tempo pieno pagati 1 moneta l’anno. Ovviamente non ha senso. Siamo tutti d’accordo, spero, che a un certo punto si arriva a una soglia sotto la quale non sono più lavoratori ma schiavi. Chiamiamo quella soglia lo “stipendio minimo di decenza” SMD del cardiologo.
        Quanto è? Complesso da valutare. Qualcuno potrebbe ritenere che sia uguale al reddito minimo di sussistenza di chiunque, cioè che sia indipendente dalla professione. Diciamo, uguale o quasi uguale al reddito di cittadinanza. Ci sono ideologie politiche che lo dicono esplicitamente.
        Io, francamente, non ne sono convinto. Un cardiologo studia per decenni e si assume enormi responsabilità. Chiunque dovrebbe poter provare a intraprendere questa carriera senza essere svantaggiato dalle condizioni socio-economiche di partenza; adesso non è così e questa è un’ingiustizia, siamo d’accordo. Ma, una volta rimossa questa ingiustizia, penso che un SMD da cardiologo debba essere sostanzialmente superiore al reddito minimo, o allo SMD di una professione che richiede minore studio e/o responsabilità.

        Poniamo comunque che, in base a un qualunque criterio che riteniamo giusto, abbiamo stabilito che SMD = 500 monete. A questo punto con quel budget possiamo assumere 16 cardiologi, i primi N con N=16.
        Ma in effetti non è l’unica opzione. Possiamo assumere i primi N=32 facendoli lavorare part time, a mezzo servizio, per 250 monete: nell’altra metà del proprio tempo ognuno sarà libero di fare altri lavori, o di accontentarsi di (mezzo) reddito minimo di sussistenza.
        Lavorare meno, lavorare tutti! (Principio che in generale approvo.)

        Anche qui, applicando iterativamente il ragionamento, possiamo dire che se ci sono 80 candidati cardiologi “abbastanza bravi” (sopra la sufficienza, diciamo) li prendiamo tutti, anziché i primi N. Ognuno svolgerà 1/5 di orario, e sarà pagato 100 monete; potendo poi fare altro (o fare niente, accontentandosi del reddito minimo) nei restanti 4/5.

        Siamo sicuri che sia una buona idea? Anche qui, io ne dubito.
        Non stiamo “buttando totalmente” il talento dei 64 (80-16) cardiologi “meno bravi” ma comunque “abbastanza bravi”, questo è vero. Però si potrebbe dire che stiamo “buttando parzialmente” il talento di tutti quanti, sia i più bravi che i meno bravi, visto che ognuno ne sfrutta solo un quinto.
        E potremmo chiederci: a parità di budget, cosa è meglio per i pazienti? Avere per il 100% del tempo i 16 “più bravi”, o avere in quote uguali tutti e 80 gli “abbastanza bravi”?
        Secondo me è diritto dei pazienti avere il servizio migliore possibile. Per cui, se fossi il decisore, avrei il preciso dovere di allocare il budget in modo da assicurarmi a tempo pieno i cardiologi migliori. E spiace per il diciassettesimo. Si tratta di interesse della comunità, non di profitto.

        1. Sono d’accordo con te.
          Presumo di aver spiegato male la mia posizione.

          Ho mischiato il discorso del comandante assoluto (o dei cardiologi) con quello della forbice.
          Mentre la forbice sono propenso a credere che sia nella posizione “ottimale” in un punto in un intorno della chiusura totale (cioè quando tutti prendono grosso modo le stesse “monete” (alla fine le responsabilità e i rischi (fisici o legali che siano) sono parte dei malus e quindi non vedo perchè non considerarli come monete negative). Non dico che devono essere identiche perchè tutto sommato non credo sia una questione prioritaria e per spostamenti minori credo che il benessere non cambierebbe particolarmente. Poi soprattutto se tutti hanno di che vivere dignitosamente (qualsiasi cosa voglia dire) io non sono più molto preoccupato: il resto è secondario), per la divisione delle cariche/ruoli è diverso.
          Sono d’accordo a grandi linee col tuo discorso dei cardiologi e anche se parlassimo di dividere il potere politico non sono sicuro che se ne avessimo tutti un sessantamilionesimo di potere politico, allora saremmo in uno stato migliore. Non sono un anarchico convinto.
          Per quel tipo di situazioni io stavo suggerendo una riduzione delle disparità. Magari un “lavorare meno – lavorare tutti”, magari una distribuzione diversa delle risorse, magari preoccuparsi di più di rendere meno gravi le condizioni di chi è in posizioni “peggiori” e meno di incentivare chi sta in posizioni “migliori”, ma sicuramente non possiamo portare all’estremo questo concetto altrimenti viene fuori che ognuno di noi deve fare 10 minuti di lavoro, poi cambiare mansione.

          Oh spero di essere stato chiaro, sto scrivendo un po’ nei ritagli di tempo in riunione…(dovrei lavorare meno per far lavorare tutti)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *