sistemi di elaborazione

Transcript

sistemi di elaborazione
I.T.I. INFORMATICA
SISTEMI DI ELABORAZIONE E TRASMISSIONE DELL’ INFORMAZIONE
INDICE :
Il multiprocessore
Array processor
Le comunicazioni satellitari
Data link
La posta elettronica
Jhon Von Neumann
Il multiprocessore
Con il termine multiprocessore si intende un sistema (computer,
workstation, server) equipaggiato con più di 2 processori operanti in
parallelo in cui le elaborazioni di un processore vengono replicate e
controllate da un processore gemello, per garantire l'integrità e l'esattezza
dei dati. Inizialmente questo avveniva solo sui sistemi che chiedevano
un'elevata potenza di calcolo, come quelli che dovevano operare su
database di grandi dimensioni o eseguire calcoli molto complessi di
simulazione o in ambienti dove le informazioni sono di importanza vitale.
Non a caso gli unici processori che supportano tale modalità sono quelli
espressamente progettati per il settore server, come gli Intel Xeon MP
(multi processor), o Itanium 2 MP e gli AMD Athlon MP e Opteron. Per
sfruttare i vantaggi di un sistema multiprocessore, al pari di uno
biprocessore, è necessario che anche il sistema operativo e i programmi
siano realizzati in maniera da utilizzare le maggiori risorse offerte. In
pratica, in fase di programmazione è necessario "parallelizzare" il codice
in modo che non si abbiano situazioni in cui l'applicazione "vede" solo
uno dei processori saturandolo, lasciando inutilizzati tutti gli altri. Spesso
è necessario utilizzare più processori, gruppi di processori e cluster. Nel
caso di basi di utenti molto ampie e diffuse, i gruppi di più processori e le
varie istanze del database possono anche essere geograficamente dispersi.
Nei multiprocessori diverse CPU condividono una memoria comune:
•
le CPU devono coordinarsi per accedere alla memoria
•
esistono diversi schemi di collegamento tra CPU e memoria; quello
più semplice prevede un bus condiviso.
Nel corso del 2005 sia Intel che AMD sono giunti ad un punto in cui non
riescono più ad aumentare il clock dei propri processori e quindi, dato che
ormai i processi di miniaturizzazione lo consentono, hanno cominciato ad
intraprendere la nuova strada del processore dual core che è una sorta di
sistema biprocessore un po' particolare. Il socket sulla motherboard
rimane uno solo, ma sul package vengono montati due core identici, che
vengono visti dal sistema operativo come due core "fisici", quindi quasi
come se fosse un sistema biprocessore tradizionale. In realtà questo non è
propriamente un sistema biprocessore, considerando che un sistema dual
core condivide lo stesso BUS tra i due core. Combinando processori dual
core con motherboard dotate di due socket si avranno in pratica 4 core
fisici di elaborazione; questo, secondo le definizioni iniziali rimane un
sistema biprocessore, anche se all'atto pratico è come se fosse un
"quadriprocessore". Intel ha già dimostrato un sistema Itanium 2
Montecito
(processore
dual
core)
composto
da
4
processori.
Moltiplicando il numero di CPU per il numero di core di ciascuna, e
considerando che ogni core implementa la tecnologia Hyper-Threading, il
sistema operativo vedeva ben 16 processori "logici".
Array processor
Un processore vettoriale o array processor è una CPU progettata per
svolgere
operazioni
matematiche
su
più
dati
elementari
contemporaneamente. Questo in contrasto con l'architettura classica di un
processore scalare che prevede l'elaborazione di un singolo dato per volta.
La maggior parte dei processori sono scalari (o esternamente lo
sembrano). I processori vettoriali sono comuni nelle applicazioni
scientifiche e sono spesso alla base dei supercomputer fin dagli anni 80.
Con la fine degli anni 90 i microprocessori sono cresciuti di prestazioni e
molti processori per applicazioni generiche si sono dotati di unità
vettoriali o sono diventati vettoriali al loro interno. Nel 2000 IBM,
Toshiba e Sony hanno iniziato lo sviluppo del processore Cell, un
microprocessore ad elevate prestazioni dotato di svariate unità vettoriali e
rivolto ad applicazioni che spaziano dalle console al supercalcolo.
Attualmente praticamente ogni CPU moderna include istruzioni vettoriali
tipicamente conosciute come istruzioni SIMD. Le console per i
videogiochi e le schede grafiche fanno un ampio uso di processori
vettoriali dato che l'elaborazione di flussi audio e video in tempo reale è
un campo che ben si presta all'elaborazione vettoriale. in genere le CPU
sono capaci di manipolare uno o due frazioni di dati alla volta. Per
esempio la maggior parte delle CPU hanno un'istruzione che
essenzialmente dice “somma A a B e memorizza il risultato in C” mentre
altre come il MOS 6502 necessitano di due o tre istruzioni per eseguire
questo genere di operazioni. I dati per A, B e C possono teoricamente
essere contenuti nell'istruzione stessa; tuttavia le cose sono raramente
così semplici. In genere il dato non viene inviato in forma grezza, ma è
invece “puntato” passando un indirizzo alla locazione di memoria che
contiene il dato. Decodificare questo indirizzo e tirare fuori il dato dalla
memoria, occupa del tempo. Con l'incremento della velocità delle CPU,
questa latenza di memoria è diventata un impedimento sempre più grande
per le prestazioni finali. Per ottimizzare i tempi, le più moderne CPU
utilizzano una tecnica conosciuta come pipeline di istruzioni, nella quale
l'istruzione passa attraverso differenti sotto-unità a turno. La prima sottounità legge l'indirizzo e lo decodifica, la successiva reperisce i valori
situati a quell'indirizzo e la successiva ancora elabora l'effettivo calcolo
matematico. Il “trucco” della pipeline consiste nel cominciare la
decodifica della successiva istruzione persino prima che la precedente sia
stata effettivamente elaborata dalla CPU, nello stile di una catena di
montaggio, cosicché la decodifica degli indirizzi sia costante. Ogni
particolare istruzione necessita la stessa quantità di tempo per essere
completata, ma la CPU può processare un'intera serie di operazioni molto
più velocemente rispetto a quanto farebbe calcolandone una alla volta. I
processori vettoriali portano questo concetto un passo più avanti. Anziché
utilizzare la tecnica di pipeline solo con le istruzioni, la utilizzano anche
sui dati stessi; sono quindi capaci di applicare una medesima istruzione
ad un grosso lotto di dati in parallelo, senza decodificare ogni singola
istruzione dalla memoria. Questo spesso, come ad esempio nelle
applicazioni multimediali, consente di risparmiare grosse quantità di
tempo. Un processore vettoriale contiene al suo interno una memoria
condivisa, varie unità di calcolo, e un'unità di controllo che gestisce il
parallelismo tra le unità di calcolo. Il parallelismo è gestito a livello
hardware e non è visibile a livello di programmazione. Per illustrare che
differenza comporta l'elaborazione vettoriale, consideriamo il semplice
compito di sommare due gruppi di dieci numeri. In un normale
linguaggio di programmazione si scriverebbe un “ciclo” che prende per
ogni coppia il primo numero e lo somma al secondo.
Le comunicazioni staellitari
l famoso scrittore di fantascienza Arthur C. Clarke (autore di 2001:
Odissea nello spazio) viene notoriamente indicato come l'ideatore dei
sistemi satellitari cosiddetti geostazionari; infatti, nel 1945 Clarke scrisse
che un satellite in orbita equatoriale circolare con un raggio di circa
42424 km (dal centro della Terra) avrebbe una velocità angolare
esattamente pari a quella del pianeta, rimanendo quindi relativamente
immobile nel cielo rispetto al suolo e divenendo così un possibile ponte
radio tra due punti dell'emisfero visibili dal satellite. Inoltre, tre satelliti
spaziati di 120° potrebbero (con qualche sovrapposizione) coprire l'intera
circonferenza del pianeta; in questo caso i messaggi potrebbero essere
anche scambiati tra i satelliti, o attraverso un doppio hop a terra,
rendendo possibile una comunicazione diretta tra due punti qualsiasi del
globo.
L'idea di Clarke è incredibilmente innovativa se si pensa che il lancio
dello Sputnik da parte dell'Unione Sovietica avvenne solo nel 1957; in
quel caso inoltre si disponeva di una tecnologia missilistica sufficiente
solamente per portare il satellite in un'orbita bassa. Non si riuscirà a
raggiungere un'orbita sincrona primadel 1963. La serie Syncom fu il
primo sistema di comunicazione satellitare geostazionario ed iniziò nel
1963, poco meno di 20 anni dopo la concezione dell'idea da parte di
Clarke. Syncom I fallì nella fase di lancio, ma Syncom II e III vennero
messi in orbita con successo il 26 luglio 1963 e il 19 luglio 1964
rispettivamente (con lo sforzo della NASA e del Dipartimento della
Difesa).
Il primo satellite geostazionario commerciale fu Intelsat I, sviluppato da
Comsat per Intelsat (1965-1969). Le prime comunicazioni regolari tra
Stati Uniti ed Europa iniziarono il 28 giugno 1965, data di nascita delle
comunicazioni satellitari commerciali. Tramite i satelliti verrà gestita
l'intera difesa militare secondo quanto previsti dai protocolli di Internet 2,
che per questi usi hanno dovuto risolvere ai problemi di robustezza e
sicurezza del TCP attuale. Tramite il mezzo satellitare già passano
criptate gran parte delle transazioni commerciali statunitensi. Negli anni
'90, l'uso commerciale e il futuro militare dei satelliti hanno portato gli
esperti di telecomunicazioni a sopravvalutarne le potenzialità e a ritenerlo
il mezzo del futuro a discapito della fibra ottica. Negli anni '90, invece, è
stata posta nel mondo una quantità di fibra ottica pari a 10000 volte il
diametro della Terra, mentre il satellite è stato rilasciato a TV satellitari
minori e a costi di connessione scesi verticalmente. Si è pensato di
utilizzare il satellite come servizio a banda larga. La qualità è
improponibile per l'elevato tempo di latenza di centinaia di millisecondi
(per satelliti di tipo GEO). I satelliti INTELSAT già avevano una latenza
per il traffico voce (a 4 KHz) molto alta, per cui si preferirono i molto più
costosi
cavi
sottomarini
come
collegamento
per
le
chiamate
intercontinentali. Per frequenze superiori, come quelle utilizzate da
ADSL, la latenza diviene ancora più alta. La qualità del servizio Internet
via satellite è notevolmente peggiore di una connessione ADSL; talvolta
più lenta di una connessione analogica (per via del tempo di latenza, di
attesa perché inizi un download di megabit al sec.) e rende insensato
parlare di "ADSL satellitare". Il satellite rimane però imbattibile in tutte
le applicazioni di tipo broadcast, cioè tutte quelle applicazioni per le quali
occorre inviare gli stessi dati a molti ricevitori. La sua scalabilità, rispetto
alla rete terrestre, è semplicemente non paragonabile. Sia che si tratti di
inviare lo stesso flusso audio/video (es. per applicazioni di formazione a
distanza in tempo reale) o lo stesso file a un gran numero di stazioni
riceventi, il satellite è in grado, a costi praticamente indipendenti dal
numero di postazioni, di servire tutti i destinatari con la stessa qualità.
Questo enorme vantaggio è anche dovuto alla pratica assenza del
cosiddetto peering multicast nelle reti terrestri. Se le reti terrestri si
scambiassero il traffico multicast, in effetti, la scalabilità di soluzioni
terrestri aumenterebbe notevolmente. Al momento però, i fornitori
preferiscono tenere il multicast confinato all'interno delle loro reti, con la
speranza di ottenerne un vantaggio competitivo legato alla diffusione di
contenuti esclusivi (es. eventi sportivi o spettacoli).
datalink
l livello datalink è il secondo livello dei protocolli del modello ISO/OSI
per l'interconnessione di sistemi aperti. Questo livello riceve pacchetti dal
livello di rete e forma i frame che vengono passati al successivo livello
fisico.
Il Livello di Datalink deve svolgere diverse funzioni specifiche:
•
Raggruppare i bit del livello fisico in pacchetti chiamati frame
(framing);
•
Controllare e gestire gli errori di trasmissione;
•
Regolare il flusso della trasmissione fra sorgente e destinatario
(controllo di flusso).
Al fine di fornire servizi al livello di rete, il livello data link deve
usufruire dei servizi fornitigli dal livello fisico. L'approccio consueto del
livello data link è quello di dividere il flusso dei bit in pacchetti e
calcolarne la Checksum. Quando un pacchetto arriva a destinazione la
Checksum viene ricalcolata. Se il nuovo risultato è diverso da quello
contenuto nel pacchetto, il livello data link riconosce che deve essere
stato commesso un errore e prende adeguati provvedimenti( come ad
esempio scartare il pacchetto e spedire in risposta un messaggio di
errore).
Vengono utilizzati vari metodi per la suddivisione dei bit in pacchetti:
•
Conteggio dei caratteri.
•
Caratteri di inizio e fine.
•
Indicatori (flag) di inizio e fine.
Il metodo del conteggio di caratteri (specificando in un campo
dell’intestazione il numero di caratteri del frame) è raramente utilizzabile
perché, se il campo che contiene il conteggio si rovina durante la
trasmissione, non si può più individuare dove comincia il frame
successivo; vengo quindi utilizzate le altre tecniche. Nella trasmissione
orientata al byte (il frame mantiene la suddivisione in byte) il frame viene
preceduto dalla sequenza di caratteri ASCII DLE STX (Data Link Escape
Start of TeXt) e finisce con la sequenza DLE ETX (Data Link Escape
End of TeXt). Se un frame si rovina e la destinazione perde la
sincronizzazione basta trovare il successivo DLE STX o DLE ETX. Il
carattere DLE però può comparire casualmente dentro al frame quando
vengono trasmessi dati binari come programmi oggetto o numeri in
virgola mobile; perché questi caratteri non interferiscano viene aggiunto
un ulteriore DLE (che viene rimosso a destinazione prima di passare al
frame al livello di rete) in modo che solo i DLE singoli vengano
interpretati come delimitatori; questa tecnica si chiama character stuffing.
Nella trasmissione orientata al bit (il frame può contenere un numero
qualsiasi di byte) ogni frame inizia e finisce con la sequenza 01111110
chiamata flag: questa sequenza può comparire casualmente nei dati,
perciò in trasmissione dopo cinque 1 consecutivi viene sempre inserito
uno 0 nel flusso di bit, indipendentemente dal fatto che il bit successivo
sia 1 o 0, mentre in ricezione bisogna provvedere ad eliminare i bit
inseriti, rimuovendo sempre uno 0 dopo cinque; questa tecnica è chiamata
bit stuffing.
La posta elettronica
La e-mail o email (abbreviazione dell'inglese «electronic mail», in
italiano posta elettronica) è un servizio Internet grazie al quale ogni
utente può inviare o ricevere dei messaggi. È l'applicazione Internet più
conosciuta e più utilizzata attualmente. La sua nascita risale al 1972,
quando Ray Tomlinson installò su ARPANET un sistema in grado di
scambiare messaggi fra le varie università, ma chi ne ha realmente
definito il funzionamento fu Jon Postel. È la controparte digitale ed
elettronica della posta ordinaria e cartacea. A differenza di quest'ultima, il
ritardo con cui arriva dal mittente al destinatario è normalmente di pochi
secondi/minuti.
o scopo del servizio di e-mail è il trasferimento di messaggi da un utente
ad un altro. Ciascun utente può possedere una o più caselle e-mail, su cui
può ricevere messaggi, che vengono conservati per lui. Quando lo
desidera, l'utente può consultare il contenuto della sua casella,
organizzarlo, inviare messaggi a uno o più utenti. L'accesso alla casella di
posta elettronica è normalmente controllato da una password o da altre
forme di autenticazione. La modalità di accesso al servizio è quindi
asincrona, ovvero per la trasmissione di un messaggio non è necessario
che mittente e destinatario siano contemporaneamente attivi o collegati.
La consegna al destinatario dei messaggi inviati non è garantita. Nel caso
un server SMTP non riesca a consegnare un messaggio che ha ricevuto,
tenta normalmente di inviare una notifica al mittente per avvisarlo della
mancata consegna, ma anche questa notifica è a sua volta un messaggio
di e-mail (generato automaticamente dal server), e quindi la sua consegna
non è garantita. Il mittente può anche richiedere una conferma di
consegna o di lettura dei messaggi inviati, ma il destinatario è
normalmente in grado di decidere se vuole inviare o meno tale conferma.
Il significato della conferma di lettura può essere ambiguo, in quanto aver
visualizzato un messaggio per pochi secondi in un client non significa
averlo letto, compreso o averne condiviso il contenuto. A ciascuna casella
sono associati uno o più indirizzi di e-mail. Questi hanno la forma
nomeutente@dominio, dove nomeutente è un nome scelto dall'utente o
dall'amministratore del server, che identifica in maniera univoca un
utente (o un gruppo di utenti), e dominio è un nome DNS. L'indirizzo email può contenere qualsiasi carattere alfabetico e numerico (escluse le
accentate) e alcuni simboli come l'underscore (_) ed il punto (.). Molto
spesso può tornare utile agli utenti servirsi dei servizi di reindirizzamento,
utilizzati per inoltrare automaticamente tutti i messaggi che arrivano sulla
casella e-mail, verso un'altra di loro scelta, in modo che al momento della
consultazione l'utente non debba accedere a tutte le caselle e-mail di cui
dispone, ma gli sia sufficiente controllarne una.
John von Neumann,
John von Neumann, nato János Neumann (Budapest, 28 dicembre
1903 – Washington, 8 febbraio 1957), è stato un matematico e
informatico ungherese naturalizzato statunitense. Fu una delle personalità
scientifiche preminenti del XX secolo cui si devono fondamentali
contributi in campi come teoria degli insiemi, analisi funzionale,
topologia, fisica quantistica, economia, informatica, teoria dei giochi,
fluidodinamica e in molti altri settori della matematica. John von
Neumann è stato una delle menti più brillanti e straordinarie del secolo
appena passato. Insieme a Leo Szilard, Edward Teller ed Eugene Wigner,
i quattro facevano parte del "clan degli ungheresi" ai tempi di Los
Alamos e del Progetto Manhattan. Oltre ad essere ungheresi, tutti e
quattro erano di origini ebraiche ed erano stati costretti a rifugiarsi negli
USA per sfuggire alle persecuzioni naziste. Le sue capacità hanno
permesso a Neumann di apportare contributi significativi e spesso
assolutamente innovativi in molti campi della ricerca, dalla matematica
alla meccanica statistica, dalla meccanica quantistica alla cibernetica,
dall'economia
all'evoluzione
biologica,
dalla
teoria
dei
giochi
all'intelligenza artificiale. Quello di von Neumann con i militari è stato un
rapporto piuttosto stretto, alimentato dalle sue convinzioni anti-naziste
prima e anti-comuniste poi, sfociate in un vero e proprio odio che lo
porterà ai vertici delle istituzioni politico militari degli Stati Uniti.
Johnny, come lo chiamavano i suoi colleghi americani, era anche un
grande amante della vita, e accanto alla personalità geniale ma cinica e
spietata conviveva, apparentemente senza contraddizione alcuna, l'altro
volto dello scienziato ungherese, quello affabile, mai presuntuoso,
simpatico, goliardico e donnaiolo.
Attorno alla sua figura sono state scritte molte storie che hanno
caratterizzato nell'eccesso questo personaggio, gran parte della quali,
però, dettate da ostilità e avversione nei confronti del suo pensiero
politico e sociale.Era il 1930 e il 1933 viene invitato a Princeton, dove
mette in luce una vena didattica non proprio esemplare; la sua grande
fluidità di pensiero mette in difficoltà molti degli studenti, che sono
costretti a seguire i calcoli su una piccola porzione di lavagna che lo
scienziato cancella poi velocemente impedendo agli allievi di copiare le
equazioni. Nel 1933 apre i battenti l'Institute for Advanced Study, sempre
a Princeton, e von Neumann è uno dei sei professori originari di
matematica insieme a Albert Einstein, Hermann Weyl, Morse, Alexander
e Thorstein Veblen.Poco dopo, con l'arrivo dei nazisti al potere,
abbandona la sua posizione accademica in Germania, considerando
l'avventura americana ben più promettente. Terrà la cattedra di Princeton
fino alla fine dei suoi giorni.Negli anni successivi, von Neumann dà
sfoggio del suo enorme talento nel campo della ricerca e si interessa dei
problemi legati alla turbolenza idrodinamica e quindi alla risoluzione
delle equazioni differenziali non lineari, che gli serviranno come stimolo
per studiare nuove possibilità legate alla computazione elettronica. Ma a
rendere famoso e amato Johnny è anche l'altro lato della sua personalità,
quello allegro e gioviale, che lo
rende particolarmente abile
nell'organizzare e animare le feste. I suoi party sono famosi, numerosi e
piuttosto lunghi e sa intrattenere amabilmente gli ospiti con un repertorio
vastissimo di barzellette e storielle, naturalmente in molte lingue. Durante
la Seconda Guerra Mondiale approfondisce la conoscenza della teoria dei
giochi dimostrando il teorema minimax e pubblicando nel 1944, insieme
a Oskar Morgenstern, un testo che diverrà un classico, Theory of Games
and Economic Behavior. Secondo questo modello in molti giochi, ad
esempio gli scacchi, esiste un algoritmo, il minimax, che permette di
scegliere qual è la mossa migliore. Alcuni anni più tardi Shannon, uno dei
padri fondatori della teoria dell'informazione, si baserà sui lavori di von
Neumann per pubblicare il suo articolo Una macchina giocatrice di
scacchi.
Sempre nel 1944, von Neumann viene a conoscenza da un suo collega,
Herman Goldstine, impegnato anch'esso nel Progetto Manhattan, dei
tentativi effettuati presso il laboratorio balistico di costruire una macchina
capace di trecento operazioni al secondo. Von Neumann rimane
profondamente colpito da questa cosa e dentro alla sua mente si aprono
nuovi e affascinanti scenari. Il primo incontro con un calcolatore risale a
poco tempo dopo, con la macchina Harvard Mark I (ASCC) di Howard
Aiken, costruita in collaborazione con l'IBM; poi conosce ENIAC
(Electronic Numerical Integrator And Computer), un ammasso enorme di
valvole, condensatori e interruttori da trenta tonnellate di peso, costruita
da Prosper Eckert e John Mauchly. Questo primordiale computer è utile
per eseguire calcoli balistici, meteorologici o sulle reazioni nucleari, ma è
una macchina limitata, quasi del tutto priva di memoria e di elasticità; in
altre parole, una macchina stupida. Per migliorare un simile
marchingegno c'è bisogno di quell'intuizione che una decina d'anni prima
aveva avuto Alan Turing nel suo articolo sui numeri computabili, e cioè
permettere al computer di modificare il proprio comportamento, o, in
altre parole, imparare un software. Nel 1945 esce così First Draft of a
Report on the Edvac. L'EDVAC (Electronic Discrete Variables
Automatic Computer) è la prima macchina digitale programmabile
tramite un software basata su quella che sarà poi definita l'architettura di
von Neumann. Il merito dell'invenzione, oltre che allo scienziato
ungherese, va a Alan Turing (per l'idea: l'EDVAC, a dispetto della
propria memoria finita, è la realizzazione della macchina universale
inventata da Turing nel 1936, ovvero, un computer programmabile nel
senso moderno del termine) e ad Eckert e Mauchly (per la realizzazione).
Gli anni della guerra vedono von Neumann coinvolto nel progetto
Manhattan per la costruzione della bomba atomica; è un coinvolgimento
alimentato da un profondo odio verso i nazisti, i giapponesi e
successivamente verso i sovietici. Già nel 1937, dopo aver ottenuto la
cittadinanza statunitense, gli viene proposto di collaborare con le forze
armate e da quel momento la sua escalation ai vertici delle istituzioni
politico-militari non conoscerà più soste. È lui a suggerire come deve
essere lanciata la bomba atomica per creare il maggior numero di danni e
di morti, è lui che interviene nella costruzione della bomba al plutonio
realizzando la cosiddetta "lente al plutonio", ed è ancora lui a incentivare
la costruzione di ordigni nucleari sempre più potenti. Ma si spinge oltre,
proponendo alle autorità militari di bombardare preventivamente l'Unione
Sovietica per scongiurare il pericolo rosso. La sua teoria dei giochi viene
utilizzata in questo contesto per studiare e ipotizzare tutti i possibili
scenari bellici che si possono sviluppare in seguito a certe decisioni. Il
fervore con cui appoggia lo sviluppo degli ordigni atomici lo spinge a
seguire di persona alcuni test sulle armi nucleari nella seconda metà degli
anni quaranta, che raggiungeranno l'apice con l'esplosione della bomba H
nelle Isole Marshall nel 1952. Probabilmente saranno proprio le
radiazioni sprigionate da questi test a condannarlo a morte, da lì a poco.
Nello stesso anno dell'esplosione della bomba H, viene nominato membro
del General Advisory Committee della potente AEC (Atomic Energy
Commission) e consigliere della CIA (Central Intelligence Agency,
l'agenzia statunitense per lo spionaggio all'estero). Tre anni più tardi
diventa membro effettivo dell'AEC. Nel pieno della Guerra Fredda, a
metà degli anni Cinquanta, si impegna al massimo per appoggiare la
costruzione del missile balistico intercontinentale (ICBM) Atlas che,
successivamente, servirà a scopi più nobili della guerra; un Atlas
modificato, infatti, porterà John Glenn nello spazio nel 1962. Un tumore
alle ossa lo costringe sulla sedia a rotelle, anche se la malattia non gli
impedisce di seguire di persona le riunioni strategiche con i militari,
mentre si dedica a nuovi studi che riguardano programmi capaci di
autoriprodursi e che lui chiama automi cellulari.