Torna indietro   Hardware Upgrade Forum > Componenti Hardware > Processori

 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
OPPO ha appena lanciato sul mercato la nuova serie Find X10, che ha come smartphone premium il Find X10 Pro Max, uno smartphone completo, che fa del comparto fotografico il suo vero punto di forza. Ma sono tante le novità, tra cui l'AI che adesso diventa agentica. Ma andiamo a vedere nel dettaglio questo nuovo smartphone.
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato
Abbiamo provato la beta di World of Warcraft: Forever, il Classic+ di Blizzard in arrivo il 4 novembre: la nuova razza Skyborne restituisce la sensazione di un gioco nuovo, ma le zone storiche conservano la noia divertita di Classic. Classi ribilanciate, sciamani anche nell'Alleanza e un motore grafico che in 4K gira bene anche su una RTX 3070. Cosa cambia in Forever? La risposta nell'articolo
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita
TCL P80 Ultra abbina per la prima volta un pannello AMOLED alla tecnologia NXTPAPER con finitura opaca, affiancandoci una fotocamera periscopica da 50 MP con zoom ottico 3x, il SoC Dimensity 7400 Elite e una batteria da 5.800 mAh. Nella prova sul campo emergono luminosità di picco molto elevata, comparto fotografico solido per la fascia di prezzo e autonomia nella media, a fronte di velocità di scrittura dello storage piuttosto contenute
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-08-2010, 15:09   #1
Walkingcontradiction
Member
 
Iscritto dal: Oct 2007
Messaggi: 84
multi-core = multi-thread != multi-task giusto?

A chi sostiene che gli esacore (o i prossimi 8 core) purtroppo non vengono sfruttati come si deve dagli applicativi attuali, viene risposto spesso con frasi del tipo: "ma con tutti i processi aperti in windows più core si hanno meglio è", "se hai tanti processi aperti riesci a sfruttare meglio tutti i core", ecc.
Io nel mio piccolo penso che queste affermazioni siano assolutamente erronee.
Sbaglio?
Mi spiego (scusate la terminologia non proprio forbita):
Un processo in esecuzione ha un proprio spazio di memoria (una propria tabella delle pagine, ecc), oltre ad una serie di altre informazioni/risorse associate/allocate. Per brevità si dice che un processo è associato ad un proprio contesto. Quando lo scheduler (anzi più precisamente il dispatcher) mette in esecuzione un altro processo (sospendendo temporaneamente il prcedente) effettua un cambio di contesto. In particolare associa una nuova tabella delle pagine con conseguente cambio dello spazio di memoria (sto parlando di memoria virtuale non è il caso di addentrarmi troppo). Ora, secondo me, ad ogni istante può esserci un solo processo in esecuzione in quanto il sistema operativo, ma anche l'hw, non sono predisposti a gestire più contesti contemporaneamente. Come si suol dire, ad ogni istante un solo processo ha il possesso del processore. I multi-core diventano utili nel momento in cui tali processi possiedono più di un flusso di esecuzione (threads). In questo caso i flussi eseguiti in maniera concorente vengono eseguiti in maniera realmente parallela e non a divisione di tempo come avviene nel caso di un normale single-core. Questo è senza dubbio un vantaggio in termini di tempo di esecuzione, ma sempre nell'ambito dell'esecuzione di un singolo processo. Da qui discende la mia obiezione a chi pensa che i vari processi attivi sulla macchina vengano assegnati ai vari core disponibili. Non mi pare proprio possibile.
Che ne pensate?
Walkingcontradiction è offline   Rispondi citando il messaggio o parte di esso
Old 15-08-2010, 16:22   #2
Jo3
Senior Member
 
L'Avatar di Jo3
 
Iscritto dal: Jun 2001
Messaggi: 1300
Quote:
Ora, secondo me, ad ogni istante può esserci un solo processo in esecuzione in quanto il sistema operativo, ma anche l'hw, non sono predisposti a gestire più contesti contemporaneamente.
Non fare l'errore di pensare che tutti i processi siano sempre in stato di pronto per essere eseguiti dalla CPU.

E' vero : alla fin fine, la cpu (single core) esegue un processo fisico per volta : PERO' :

I processi in esecuzione a volte rimangono in attesa (coda processi in attesa) proprio perche' la CPU e' molto piu veloce rispetto ai tempi di attesa delle periferiche (prova ad immaginare il tempo-uomo paragonato al tempo-macchina : una persona impega SECONDI per premere un solo tasto e nel frattempo la cpu e' andata avanti di miliardi di istruzioni).
Quel tempo che la cpu spreca per attendere che il processo si svegli e' un tempo morto per la cpu : per questo motivo alla fine la resa su un sistema multi processo e' molto piu elevata

Molto meglio mandare il processo "a nanna" (nella coda dei processi in attesa

Pertanto il fatto che in un singolo processore ci sia un solo processo "REALE" non vuol dire che sia un collo di bottiglia : anzi : molti processi rimangono nella coda dei processi in attesa proprio perche' stanno attendendo l'input da periferiche esterne.

Pertanto avere piu cpu significa avere piu' possibilità nel momento in cui alcuni processi che erano in attesa vengono spostati nella coda dei processi pronti dallo scheduler.

INOLTRE

Un processo non e' detto che quando va in esecuzione debba per forza interessare le periferiche "piu lente" : ovvero quelle che hanno un solo controller e non puo essere virtualizzato. (es : il disco fisso e' unico, pertanto il controller viene utilizzato da uno e un solo processo).

A volte il processo esegue solo delle operazioni in memoria, pertanto non esiste collo di bottiglia.


P.S :
Non a caso, i multi core aumentano la frequenza quando capita una situazione simile, consentendo nei "Burst" di processi pronti di smaltire prima i processi.
__________________

Referenti in Compravendite Ognuno sceglie le cause per cui combattere in base alla propria statura.

Ultima modifica di Jo3 : 15-08-2010 alle 16:29.
Jo3 è offline   Rispondi citando il messaggio o parte di esso
Old 15-08-2010, 16:29   #3
calabar
Senior Member
 
L'Avatar di calabar
 
Iscritto dal: Oct 2001
Messaggi: 14739
Mi chiedo su quale base tu affermi questo:
Quote:
Originariamente inviato da Walkingcontradiction Guarda i messaggi
Ora, secondo me, ad ogni istante può esserci un solo processo in esecuzione in quanto il sistema operativo, ma anche l'hw, non sono predisposti a gestire più contesti contemporaneamente.
Sinceramente credo che i sistemi operativi attuali siano perfettamente in gradi di gestire, su core differenti, più processi in contemporanea.
Certamente alcune risorse hardware rimarranno condivise, ma se il loro accesso non è limitante, questo non dovrebbe creare problemi.

Del resto il passaggio tra "thread" e "processi" non è così definito.
Per semplicità diciamo che possiamo definire thread le varie istanze fino a quando esse hanno delle risorse in comune. Insomma, a seconda degli elementi in comune, potremmo avere un'entità che più si avvicina al concetto di thread o di processo ""puro".
Oltretutto la gestione dei thread da parte dei sistemi operativi può essere molto differente: linux per esempio non distingue tra thread e processi (i thread vengono gestiti da funzioni di libreria), quindi in che modo potrebe esserci una differenza sostanziale?

Rifletti su questa prova:
prendiamo per esempio un programma assolutamente monocore come il SuperPI.
Cosa succede se su una macchina dotata di processore quadcore esegui 4 istanze del programma?
Se il sistema o l'hardware non fossero in grado gestire simultaneamente più processi su più core, allora avresti un netto rallentamento nell'esecuzione delle istanze di SuperPI rispetto all'esecuzione di un'istanza singola.
In caso contrario, invece, la velocità di esecuzione di ogni istanza dovrebbe essere abbastanza simile all'esecuzione di una sola istanza sulla macchina.
calabar è offline   Rispondi citando il messaggio o parte di esso
Old 15-08-2010, 16:35   #4
Jo3
Senior Member
 
L'Avatar di Jo3
 
Iscritto dal: Jun 2001
Messaggi: 1300
Ti faccio un esempio molto piu pratico : prova ad immaginare un cuoco che sta curando n cibi in cottura in n pentole : ogni cibo viene posto a cuocere e quando e' pronto la pentola in cui e' viene tolta dal fuoco e il suo posto viene preso da un'altro cibo (e un'altra pentola).

Il cuoco si aggira tra i fornelli controllando ciclicamente tutte le pentole : quelle pronte, le tira giu dal fuoco, le processa (nel senso che valuta se il cibo e' mangiabile) e poi le manda alla mensa.

Prova ora ad immaginare lo stesso cuoco che rimane in attesa sulla prima pentola, fino a che il cibo al suo interno e' cotto, e poi passa alla seconda pentola, fino a che il cibo è cotto .

Mi pare ovvio che il primo sistema (multi task) e' molto piu efficace.

Prova ora ad immaginare di avere non un cuoco, ma4 4/6 cuochi : mi sembra che il processo di valutare quale cibo è pronto e processarlo, sia molto piu veloce.


la cpu in realtà non fa nient'altro che aspettare che i "cibi" siano Pronti, (pescandoli dalla coda dei processi pronti) per poi processarli

avere piu cpu (piu cuochi) significa processare molto piu velocemente i cibi.


Ovviamente la porta d'uscita alla mensa e' unica : ma visto che i cibi impiegano dai 10 ai 20 minuti per essere cotti, contro i 2/3 secondi di processo, il rischio di imbottigliamento sulla porta che da alla mensa (= le risorse quali il disco fisso) e' molto basso (statisticamente).
__________________

Referenti in Compravendite Ognuno sceglie le cause per cui combattere in base alla propria statura.
Jo3 è offline   Rispondi citando il messaggio o parte di esso
Old 15-08-2010, 16:43   #5
Jo3
Senior Member
 
L'Avatar di Jo3
 
Iscritto dal: Jun 2001
Messaggi: 1300
Quote:
I multi-core diventano utili nel momento in cui tali processi possiedono più di un flusso di esecuzione (threads). In questo caso i flussi eseguiti in maniera concorente vengono eseguiti in maniera realmente parallela e non a divisione di tempo come avviene nel caso di un normale single-core.
P.S : questa affermazione e' errata : i processi MONO-CORE sfruttano al meglio il multi threading (se il programma e' stato studiato pre sfruttare le caratteristiche multi threading della macchina), poiche sfruttano al meglio l'unica CPU.

I sistemi multi core invece hanno piu cpu pertanto il sistema multi thread non e' piu efficiente, visto che il multi thread e' stato pensato per sfruttare in parallelo e al meglio l'unica CPU : una volta che hai piu core, questo sistema decade.

http://it.wikipedia.org/wiki/Multithreading

Io direi che l'equazione a titolo di questa discussione vada riscritta cosi :

Multi Core = Multi Task != Multi Thread.
Mono Core = Multi Task = Multi Thread
__________________

Referenti in Compravendite Ognuno sceglie le cause per cui combattere in base alla propria statura.

Ultima modifica di Jo3 : 15-08-2010 alle 16:47.
Jo3 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato WoW Forever provato: il MMORPG che la community ...
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita TCL P80 Ultra: con un display AMOLED opaco &egra...
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio HUAWEI MatePad Air recensione: OLED opaco e tast...
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
L'Air Force Research Laboratory ha utili...
L'ONU esprime preoccupazione per le oper...
OpenAI: GPT-6.1 Sol migra il COBOL all'8...
Cyberpunk 2077 porta le mod su console e...
Agenti di IA, per Akamai la sicurezza pa...
Non solo in Europa: Apple dovrà a...
iPhone Duo, il compromesso del display p...
Reolink OMVI 2i Ultra, la videocamera ib...
PowerToys 0.102: con un nuovo tool il mo...
Bose acquisisce Skullcandy per raggiunge...
I videogiochi di Star Wars dovranno sorp...
Cos'è Flint: l'AI locale per la programm...
Perplexity Computer ora gira offline sul...
LG lancia in Italia i nuovi laptop gram ...
Spotify dice addio ai vincoli di Android...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:01.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v