Intel spinge il Pentium M sui server

Il chipmaker intende far leva sulle potenzialità dell'architettura alla base del Pentium M per spingere i propri chip mobili anche sui server, un mercato dove le soluzioni a basso consumo sono sempre più gettonate


Santa Clara (USA) – I processori a basso consumo stanno guadagnando spazi di mercato sempre più ampi, accomunando ormai una gamma di sistemi che va dai notebook ai server blade passando per i PC small-form factor e i thin client. In attesa di migrare il suo intero parco di CPU verso l’architettura dei Pentium M, Intel si sta muovendo per spingere già ora i suoi processori mobili verso il mercato dei server x86.

Il chipmaker ha infatti annunciato di aver certificato i suoi giovani chipset E7520 ed E7320 per supportare, oltre agli Xeon, i Pentium M e i Celeron M. Questo semplifica la progettazione, da parte dei produttori, di server a singolo processore basati sui chip a basso consumo di Intel.

I chipset E7520 ed E7320 sono stati specificamente progettati per i server dual-Xeon con bus di sistema a 800 MHz e tecnologia a 64 bit EM64T. I chipset supportano le memorie DDR2-400 dual-channel con ECC, schede PCI Express x4 e x8 e controller RAID. I due modelli si differenziano unicamente per il numero di link PCIe x8 supportati: uno nel caso dell’E7320, tre nel caso dell’E7520.

C’è da notare che Intel ha a catalogo Xeon low e ultra-low voltage capaci di consumare rispettivamente un massimo di 55 e di 30 watt: quest’ultimo valore non è molto distante dai circa 25 watt dei Pentium M più veloci, tuttavia questi ultimi, grazie alla loro architettura di nuova generazione, forniscono un rapporto performance/watt inarrivabile per gli Xeon. Questo del resto spiega perché Intel abbia già pianificato la convergenza di tutte le sue CPU, incluse quelle server e desktop, verso la propria tecnologia mobile: ciò decreterà il definitivo abbandono della vecchia architettura NetBurst introdotta 5 anni or sono con il Pentium 4.

La tua email sarà utilizzata per comunicarti se qualcuno risponde al tuo commento e non sarà pubblicato. Dichiari di avere preso visione e di accettare quanto previsto dalla informativa privacy

  • Anonimo scrive:
    Non esiste niente del genere...
    E' falso. Fumo negli occhi. Non esiste e non esisterà mai alcun compilatore capace di tradurre un linguaggio in istruzioni ottimizzate per più cpu che funzionano in parallelo. Non solo la maggior parte degli algoritmi sono inerentemente NON parallelizzabili, ma anche quei pochi che lo sono devono essere appositamente strutturati già dal programmatore per evitare dipendenze, cosa che un compilatore semplicemente non può sapere in anticipo quando va a generare il codice. In sostanza, quella di Intel è una bufala per chi non capisce nulla di informatica. Ormai sono talmente disperati dal fatto che AMD li sta surclassando in tutto, che non sanno più a che inventarsi...
    • Anonimo scrive:
      Re: Non esiste niente del genere...
      "Quelli di Intel includono una funzione, detta auto-parallelization, che analizza il codice alla ricerca di opportunità per creare più thread di esecuzione: il chipmaker ammette che questa funzione non può sostituirsi alla perizia e all'abilità del programmatore ma, in molti casi, aiuta a generare binari più efficienti e ottimizzati per le moderne architetture multi-threading."Prima di parlare di informatica, impara a capire l'italiano.
    • eg scrive:
      Re: Non esiste niente del genere...
      infatti dice: "sono state studiate per aiutare gli sviluppatori a scrivere codice ottimizzato per il multi-threading"non dice: "faccio miracoli" :)
    • Anonimo scrive:
      Re: Non esiste niente del genere...

      quella di Intel è una bufala
      per chi non capisce nulla di informatica.e secondo te come fanno i processori ad eseguire in parallelo 2 o più threads? Usando un algorimo, che quindi esiste ed è possibile utilizzare per ottimizzare in partenza i programmi.
      • Anonimo scrive:
        Re: Non esiste niente del genere...
        - Scritto da: Anonimo

        quella di Intel è una bufala

        per chi non capisce nulla di informatica.

        e secondo te come fanno i processori ad eseguire
        in parallelo 2 o più threads? Usando un algorimo,
        che quindi esiste ed è possibile utilizzare per
        ottimizzare in partenza i programmi.??? Ma che hai fumato?
      • Anonimo scrive:
        Re: Non esiste niente del genere...

        e secondo te come fanno i processori ad eseguire
        in parallelo 2 o più threads? Usando un algorimo,
        che quindi esiste ed è possibile utilizzare per
        ottimizzare in partenza i programmi.sbagliato.una unità di calcolo fa necessariamente una cosa alla volta.un core ne ha diverse di unità di calcolo, ma queste possono fare più cose contemporaneamente solo se:1) le risorse richieste (specifici circuiti) sono liberi;2) ciascuna cosa non influisce sull'altra es se viene testa fai x se viene croce fai y, prima di avere il risultato di testa o croce non posso eseguire x o y, a volte (come nell'esempio) posso speculativamente eseguirli tutte le ramificazioni e scegliere la strada giusta (sarebbe più difficile se fosse "dammi in intero casuale", avrei 4 mld di ramificazioni :| ) ma sempre se ci sono, tra le molte risorse, unità adatte libere. Se le varie parti in esecuzione non si influenzano (multiprocesso, multitask, multithread tra di loro indipendenti... a seconda della granularità del sistema, dove una maggiore granularità in genre aiuta) si tratta sempre di aspettare di avere le necessarie risorse libere.Da qui la non perfetta scalabilità empiricamente rilevabile delle prestazioni "sui generis" del calcolo parallelo.Poi ci sono algoritmi che non si prestano per nulla alla parallelizzazione (quindi più subunità, più core o più cpu servono "solo" a smalitire altri task/thread/processi e la macchina rimane più responsiva anche se la specifica elaborazione di quel calcolo non si avvantaggia) ed altre che ne traggono enormi benefici, fermo restando che la scalabilità di risorse/prestazioni non sarà mai 1:1 se non in condizioni teoriche praticamente mai raggiungibili (il famoso teorema degli n uomini che non possono scavare una buca nel tempo/n impiegato da un uomo solo)==================================Modificato dall'autore il 16/06/2005 10.23.32
        • Anonimo scrive:
          Re: Non esiste niente del genere...

          1) le risorse richieste (specifici circuiti) sono
          liberi;
          2) ciascuna cosa non influisce sull'altra es se
          viene testa fai x se viene croce fai y, prima di
          avere il risultato di testa o croce non posso
          eseguire x o y, a volte (come nell'esempio) posso
          speculativamente eseguirli tutte le ramificazioni
          e scegliere la strada giusta appunto tutte quelle cose possono essere fatte oltre che via software anche via hardware analizzando le istruzioni del programma che stanno dentro alla cache della cpu
          • Anonimo scrive:
            Re: Non esiste niente del genere...

            appunto tutte quelle cose possono essere fatte
            oltre che via software anche via hardware
            analizzando le istruzioni del programma che
            stanno dentro alla cache della cpunon hai capito. se una risorsa per l'esecuzione non è libera non è liberase non ci sono altre risorse (subunità adatte) non può essere eseguito il compitose ci sono condizioni logiche per cui il compito non possa essere eseguito prima o insieme ad un altro (cioè, non ci sono i presupposti per ooe o parallelismo) dovrà logicamente essere eseguito sequenzialmente.in altre parole, se un uomo scava una buca in 10 minuti cento uomini non scaveranno mai una buca in 0,1minuti.
          • Anonimo scrive:
            Re: Non esiste niente del genere...

            non hai capito.
            se una risorsa per l'esecuzione non è libera non
            è libera
            se non ci sono altre risorse (subunità adatte)
            non può essere eseguito il compito
            se ci sono condizioni logiche per cui il compito
            non possa essere eseguito prima o insieme ad un
            altro (cioè, non ci sono i presupposti per ooe o
            parallelismo) dovrà logicamente essere eseguito
            sequenzialmente.
            in altre parole, se un uomo scava una buca in 10
            minuti cento uomini non scaveranno mai una buca
            in 0,1minuti.si ma se ci sono l'esecuzione parallela andrà a buon fine, mentre se non ci sono l'esecuzione normalmente, è questa la differenza! Mentre con i compilatori normali viene dato per scontato che la condizione di esecuzione parallela non sia mai verificata.
          • Anonimo scrive:
            Re: Non esiste niente del genere...

            non hai capito.
            se una risorsa per l'esecuzione non è libera non
            è libera
            se non ci sono altre risorse (subunità adatte)
            non può essere eseguito il compito
            se ci sono condizioni logiche per cui il compito
            non possa essere eseguito prima o insieme ad un
            altro (cioè, non ci sono i presupposti per ooe o
            parallelismo) dovrà logicamente essere eseguito
            sequenzialmente.
            in altre parole, se un uomo scava una buca in 10
            minuti cento uomini non scaveranno mai una buca
            in 0,1minuti.si ma se ci sono l'esecuzione parallela andrà a buon fine, mentre se non ci sono l'esecuzione procede normalmente, è questa la differenza! Mentre con i compilatori normali viene dato per scontato che la condizione di esecuzione parallela non sia mai verificata.
          • Anonimo scrive:
            Re: Non esiste niente del genere...

            Mentre con i compilatori normali viene dato per
            scontato che la condizione di esecuzione
            parallela non sia mai verificata.No, il parallelismo c'è in molti modi diversi: - a livello di istruzioni simd/mimd- internamente al core tra le varie risorse di calcolo disponibili tramite una gestione intelligente delle istruzioni (traduzione in istruzioni più semplici parallelizzabili ed eseguibili in più stadi) e/o tramite un supporto intelligente ai thread/task/processi (in soldoni per capire quando due cose possono essere eseguite insieme, se l erisorse ci sono, senza avere influenza l'una sull'altra)- tra più core sullo stesso integrato- tra più cpu sulla stessa piastra madre- tra più macchine in un cluster o gridecc eccintrenamente ad un processore non è che c'è una unica unità di calcolo che fa tutto ma più tante risorse granulari che, genericamente, servono a fare determinate cose e che per essere utilizzate devono ovviamente essere libere. ad es sui vecchi pentium1 esiste già una pipeline che esegue quello che può in modo parallelo e facendo speculativo traducendo le istruzioni cisc in più semplici istruzioni risc che sono eseguite in diversi stadi, più istruzioni alla volta per ciclo, sui pentium mmx venne aggiunto un ulteriore tipo di parallelismo, quello a livello di uistruzioni, mmx appunto dove una m sta per multiplo (8 byte alla volta possono essere elaborati in una unica istruzione, simd, single instruction multiple data).Insomma, il parallelismo esiste da moltissimo tempo ed in moltissimi modi a tutti i livelli di calcolo e anche i compilatori più datati in circolazione ne tengono conto.Questo ha il vantaggio di avere in più un possibile targhet specifico che tiene nel dovuto conto:l'architettura netburst dei p4 l'hyperthreading del P4lo specifico funzionamento dei P4 multicorema non è che prima i compilatori (anche limitandoci a quelli rilasciati da Intel) non consentissero di copilare applicazioni parallelizzate in almeno qualche livello, da un bel po di anni abbiamo applicazioni parallelizzate dove si può parallelizzare che fanno uso di mimd/simd, che ottimizzano per processori che hanno una esecuzione su pipeline fortemente speculativa e parallelizzata, che usano più core o più cpu (banalmente basta che scrivi una applicazione che crea due tread e vedrai che se uno impegna il primo core o la prima cpu l'altro non farà finta di niente come suggerisci ma passerà autonomamente sulla seconda unità)
          • LinoX scrive:
            Re: Non esiste niente del genere...

            se un uomo scava una buca in 10 minuti cento uomini
            non scaveranno mai una buca in 0,1minutiSi..Ma 2 la scavano in 5 e te lo posso provare!! :P..e poi.. dipende da quanto è larga la buca..Se è più larga che profonda, sono sicuro che si riesce anche a scavarla in un minuto essendo in 10...==================================Modificato dall'autore il 16/06/2005 17.42.59
    • Anonimo scrive:
      Re: Non esiste niente del genere...
      - Scritto da: Anonimo

      E' falso. Fumo negli occhi.

      Non esiste e non esisterà mai alcun
      compilatore capace di tradurre un
      linguaggio in istruzioni ottimizzate
      per più cpu che funzionano in parallelo.Esiste e il principio è banale....Se tu hai due blocchi di istruzioni (macchina) successivi privi di dipendenza puoi eseguirli in parallelo avendo cura di proseguire l'esecuzione quando entrambi i thread hanno completato il calcolo.L'algoritmo non fa altro che cercare questi blocchi, spezzarli in dimensioni simili e assegnarne uno ad un core e uno ad un altro e quindi inserire un punto di sincronizzazione alla fine.E' una ottimizzazione che i processori come Pentium, ad esempio, fanno su piccoli blocchi di codice (quelli presenti nelle pipeline) da molto tempo. A livello di pipeline si chiama out-of-order execution. Mai sentito dire?
Chiudi i commenti