Passa ai contenuti principali

PARALLEL (IT.5.2)

Tateo’s Interdisciplinary Lifelong Learning Project
T I L L L
LEARNING - SHARING - NETWORKING
Learning, knowledge sharing and Communities engagement about:
Artificial Intelligence, Extended / Augmented / Virtual / Mixed Reality (XR/AR/VR/MR), Automation, Electronics, Computer Science and Information Technology, Mobile Technologies, Problem Solving & Innovation, Readings, Social Media, Digital Modeling and Simulation, Computer Vision, Work and Soft Skills, Railway.
by Tateo Giovanni Battista
_____________________________
LEARNING
EXTENDED REALITIES

Parallel Computing.
Il Calcolo Parallelo.


We are talking about: #computerScience #informationTechnology #superComputing #hpc #parallelComputing #GPU #GPGPU #TILLL #TateoBlog 

SummaryTraditionally, electronic computers use a sequential approach to program execution. The advent of recent electronic computing technologies is favoring the new paradigm that goes by the name of parallel computing

Tradizionalmente i calcolatori elettronici utilizzano un approccio sequenziale per l’esecuzione dei programmi. L’avvento delle recenti tecnologie di calcolo elettronico sta favorendo il nuovo paradigma che va sotto il nome di calcolo parallelo.

~ o ~

You are >>> HERE <<< within the TILLL project.
Ti trovi >>> HERE <<< all'interno del progetto TILLL.

Tateo Blog > Informatica  >   Il super-calcolo  >  Calcolo Parallelo


~ o ~

§1. The Sequential calculation.
Il calcolo Sequenziale.

Traditionally, programs have been written for a sequential computation model (Von Neumann), ie to run on a computer with a single CPU. The problem is broken up into (discrete) sequences of instructions that are executed in sequence, that is, one after the other. According to this calculation paradigm, in a given instant of time only one instruction is running. But why don't we proceed as we have always done by proceeding with the evolution of sequential computers? There are several reasons that limit the construction of ever faster sequential computers. The main constraint is the data transfer speed which, depending on the medium, can reach a maximum of 9 cm / nanosecond if the transmission medium is copper and 30 cm / nanosecond if light is used. There are also limits on the miniaturization of circuits and economic limits for the realization of sophisticated technologies.
Tradizionalmente i programmi sono stati scritti per un modello di computazione sequenziale (Von Neumann), ossia per essere eseguiti su un computer con una singola CPU. Il problema viene spezzato in sequenze (discrete) di istruzioni che sono eseguite in sequenza, ossia una dopo l’altra. Secondo questo paradigma di calcolo, in un dato istante di tempo solo un’istruzione è in esecuzione. Ma perché non si procede come lo si è sempre fatto procedendo con l’evoluzione dei calcolatori sequenziali? Ci sono diverse ragioni che limitano la costruzione di calcolatori sequenziali sempre più veloci. Il vincolo principale è costituito dalla velocità di trasferimento dei dati che a seconda del mezzo può raggiungere al massimo i 9 cm/nanosecondo se il mezzo trasmissivo è il rame e 30 cm/nanosecondo se si utilizza la luce. Esistono poi limiti sulla miniaturizzazione dei circuiti e limiti economici per la realizzazione di tecnologie sofisticate.


~ o ~

§2. Parallel Computing.
Calcolo parallelo.

The advent of recent electronic computing technologies, and in particular multi-core technology, is favoring a new computing paradigm that consists in the decomposition of a complex task into a set of simpler and parallelizable tasks, that is to say that can be performed simultaneously on several microprocessors. , or on multiple cores of the same processor. By appropriately dividing and distributing the source code of one or more programs on a battery of processing units and making the obtained results converge, an evident improvement in computational performance is obtained in obtaining the final result compared to sequential execution.
A parallel computing system composed of N processors is obviously less efficient than a system with a single processor of N times higher speed. However, most recent supercomputers use parallel technology because it is cheaper. The only condition for the application of this technology is that the application is divisible into distinct threads.
L'avvento delle recenti tecnologie di calcolo elettronico, ed in particolare la tecnologia multi-core, sta favorendo un nuovo paradigma di calcolo che consiste nella scomposizione di un compito complesso in un insieme di compiti più semplici e parallelizzabili, ossia eseguibili simultaneamente su più microprocessori, oppure su più core dello stesso processore. Dividendo opportunamente e distribuendo il codice sorgente di uno o più programmi su una batteria di unità di elaborazione e facendo convergere i risultati ottenuti si ottiene un evidente miglioramento delle prestazioni di calcolo nell'ottenimento del risultato finale rispetto alla esecuzione sequenziale.
Un sistema di calcolo parallelo composto da N processori è ovviamente meno efficiente di un sistema con un unico processore di velocità N volte superiore. Tuttavia la maggior parte dei supercomputer recenti utilizza la tecnologia parallela perché è più economica. L’unica condizione per l’applicazione di questa tecnologia è che l’applicazione sia divisibile in thread distinti.


~ o ~

§3. General-Purpose computing on Graphics Processing Units (GPGPU).
Calcolo a scopo generale su unità di elaborazione grafica.

GPGPU (acronym for general-purpose computing on graphics processing units indicates in computer science the use of a graphics processing unit (GPU) for purposes other than the traditional use in computer graphics.
GPGPU (acronimo di general-purpose computing on graphics processing units, letteralmente in italiano "calcolo a scopo generale su unità di elaborazione grafica") indica nell'informatica l'uso di un'unità di elaborazione grafica (GPU) per scopi diversi dal tradizionale utilizzo nella grafica computerizzata.

The GPGPU is used for processing that is extremely demanding in terms of processing power, and for which traditional CPU architectures do not have sufficient processing capacity. By their nature, these processes are highly parallel and therefore able to greatly benefit from the typical architecture of GPUs.
Il GPGPU viene impiegato per elaborazioni estremamente esigenti in termini di potenza di elaborazione, e per le quali le tradizionali architetture di CPU non hanno una capacità di elaborazione sufficiente. Per loro natura tali elaborazioni sono di tipo altamente parallelo e in grado quindi di beneficiare ampiamente dell'architettura tipica delle GPU.

Modern engineering design software have realized that for their products that need to integrate Computer Aided Design (CAD), Finite Element Analysis (FEA) and Computational Fluid Dynamics (CFD) tools, they need computing power that classic CPUs, even if of the latest generation, are no longer able to guarantee. For this reason they are moving towards solutions based on graphics processing units (GPUs).
I moderni software di progettazione ingegneristica, si sono resi conto che per i loro prodotti che devono integrare strumenti di Computer Aided Design (CAD), analisi agli elementi finiti (FEA) e fluidodinamica computazionale (CFD) hanno bisogno di una potenza di calcolo che le classiche CPU, anche se di ultima generazione, non riescono più a garantire. Per questo motivo si stanno orientando su soluzioni basate su unità di elaborazione grafica (GPU).

The technological evolution of electronic processors according to Moore's law is no longer able to meet the needs of new computing systems. The algorithms, by means of the support of GPUs, are able to benefit from a speed even 1000 times higher than what modern CPUs can guarantee.
L'evoluzione tecnologica dei processori elettronici retta legge di Moore non riesce più a soddisfare le esigenze dei nuovi sistemi di calcolo. Gli algoritmi, per mezzo del supporto delle GPU riescono a beneficiare di una velocità anche 1000 volte superiore rispetto a quello che possono garantire le moderne CPU.

And this possibility of accelerating the calculations is changing the approach and the design methods, which increasingly integrate real-time simulation tools with the design tools, which, allowing instant verification of the performance of what has been designed, make the process, which traditionally it is rigid and unidirectional, iterative, in which real-time verification induces new solutions and variants, which in the past it would not have been possible to evaluate in such a short time. The more computing power available to an engineer, the less need to simplify or remove elements of a model from the simulation.
E questa possibilità di accelerare i calcoli sta modificando l'approccio e le modalità di progettazione, che sempre più integra agli strumenti di design anche strumenti di simulazione in tempo reale, che permettendo la verifica istantanea delle performance di quanto progettato, rendono il processo, che tradizionalmente è rigido e unidirezionale, iterativo, in cui la verifica in tempo reale induce nuove soluzioni e varianti, che in passato non sarebbe stato possibile vagliare in così poco tempo. Maggiore è la potenza di calcolo a disposizione di un ingegnere, minore è la necessità di semplificare o rimuovere elementi di un modello dalla simulazione.

We are talking about: #computerScience #informationTechnology #superComputing #hpc #parallelComputing #GPU #GPGPU #CAD #FEA #CFD


References to useful sources for further information:
Riferimenti a fonti utili per approfondimenti.
1. GPUs Give Simulation and Analysis a Turbo Boost
Randall S. Newton, Digital Engineering 247, December 2020, page 43.
2. General-purpose computing on graphics processing units, Wikipedia

-----------------------------------------

Originally published  August 6, 2022



~ o ~

§4. Parallel Computing applications.
Applicazioni del Calcolo Parallelo.

Parallel computing has historically been viewed as an expensive and high-level paradigm. It was therefore mainly used to solve high-level scientific and engineering problems, such as atmospheric and environmental problems, chemistry, geology (seismic phenomena), mechanical and electronic engineering. Today, in addition to these conventional applications, parallel computing is applied to more modern sectors such as the analysis of encrypted texts with the "brute force" method, thus verifying all the theoretically possible solutions until the actually correct one is found. Parallel computing is also successfully applied to data analysis, data mining, web search engines, medical image processing, pharmaceutical design, financial and economic models, advanced graphics and virtual reality.
Storicamente il calcolo parallelo è stato visto come un paradigma costoso e di alto livello. È stato quindi utilizzato principalmente per risolvere problemi scientifici e ingegneristici di alto livello, come per esempio problemi atmosferici e ambientali, di chimica, di geologia (fenomeni sismici), di ingegneria meccanica ed elettronica. Oggi, oltre a queste applicazioni convenzionali, il calcolo parallelo viene applicato a settori più moderni come per esempio l’analisi dei testi crittografati con il metodo della "forza bruta”, ossi verificando tutte le soluzioni teoricamente possibili fino a che si trova quella effettivamente corretta. Il calcolo parallelo è applicato con successo anche all’analisi dei dati, al data mining, ai motori di ricerca Web, alla elaborazione di immagini medicali, al design farmaceutico, ai modelli finanziari ed economici, alla grafica avanzata ed alla realtà virtuale.


~ o ~

§5. References to useful sources for further information.
Riferimenti a fonti utili per approfondimenti.

Listed below are some references to sources (websites, videos and book) that I have consulted during the writing of this article, and that you could also use to learn more about the topics covered in this article. 
Di seguito sono elencati alcuni riferimenti a fonti (siti web, video e libri) che ho consultato durante la stesura di questo articolo e che potresti utilizzare anche tu per approfondire gli argomenti trattati in questo articolo.

( 1 ) Il calcolo parallelo su wikipedia
( 2 ) Introduzione al calcolo parallelo. Politecnico di Milano
( 3 ) Introduction to Parallel Computing. Blaise Barney, Lawrence Livermore National Laboratory 
( 4 )Designing and Building Parallel Programs. Ian Foster. 
( 5 ) Introduction to Parallel Computing. Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar. 
( 6 ) Overview of Recent Supercomputers. A.J. van der Steen, Jack Dongarra. 


~ o ~


§6. More generally about High-Performance Computing.
Più in generale a proposito di Super-Calcolo.

Parallel computing is only one of the techniques for implementing computer supercomputer. If you also want to know all the other super-computation methodologies and technologies, then continue the consultation of the Learning section of TILLL by reading the following article.
Il calcolo parallelo è solo una delle tecniche per la implementazione del super-calcolo informatico. Se vuoi conoscere anche tutte le altre metodologie e tecnologie del super-calcolo, allora prosegui la consultazione della sezione Learning di TILLL con la lettura dell'articolo seguente.

The High-Performance Computing
Il super-calcolo.
>>> IT.5 <<<


~ o ~

§7. Stay up to date.
Rimani aggiornato.

If you are interested in the topics covered in the current article and want to be informed about my most recent updates dealing with them, then I invite you to register on the following Facebook page and Pinterest dashboard which I dedicated specifically for sharing the most recent changes made to the corresponding thematic area of TILLL~Learning (>).
Se sei interessato agli argomenti trattati nell'articolo corrente e vuoi essere informato sui miei aggiornamenti più recenti che trattano di essi, allora ti invito a registrarti sulla seguente pagina Facebook e bacheca Pinterest che ho dedicato appositamente per la condivisione delle modifiche più recenti apportate all'area tematica corrispondente di TILLL~Learning (>).

"Computer Science and Information Technology by TILLL" on Facebook (link)
"Computer Science and Information Technology by TILLL" on Pinterest (link)

-----------------------------------------

updated August 4, 2022



~ o ~

§8. Let's keep in touch.
Teniamoci in contatto.

I hope you enjoyed this article, belonging to the Learning (>) section of the Tateo's Interdisciplinary Lifelong Learning (TILLL) project (>), and that the notes and observations I gathered within it meets your interests. If you want stay tuned with the TILLL project evolution, then I invite you to follow the next upgrades that are published on the TILLL's Blog and on the social media pages dedicated to the TILLL community.
Spero che questo articolo, appartenente alla sezione Learning (>) del progetto Tateo's Interdisciplinary Lifelong Learning (TILLL) (>), ti sia piaciuto e che le note e le osservazioni che ho raccolto al suo interno soddisfino i tuoi interessi.  Se vuoi rimanere aggiornato sull'evoluzione del progetto TILLL, allora ti invito a seguire i prossimi aggiornamenti che vengono pubblicati sul Blog di TILLL e sulle pagine social dedicate alla community TILLL.


  (>Tateo-Blogofficial blog of TILLL project

  (>LinkedIn page dedicated to TILLL project

  (>Facebook page dedicated to TILLL project

  (>Twitter account dedicated to TILLL project

  (>Pinterest account dedicated to TILLL project

  (>Instagram account dedicated to TILLL project



~ o ~ 


§9. Something about me, the founder and author of Tateo~Blog Project.

Qualcosa su di me, il fondatore e sull'autore del progetto Tateo~Blog.


First of all, thank you for visiting one of the pages of my project for Interdisciplinary Continuous Learning (TILLL which stands for Tateo's Interdisciplinary LifeLong Learning), of which I am the founder and author.

My name is Giovanni Battista Tateo (shortly Bat).

Innanzitutto ti ringrazio per aver visitato una delle pagine del mio progetto per l'Apprendimento Continuo Interdisciplinare (TILLL che sta per Tateo's Interdisciplinary LifeLong Learning), di cui io sono lil fondatore e l'autore.

Mi chiamo Giovanni Battista Tateo (brevemente Bat).


The Tateo~Blog (link) is an integral part of the project constitutes the means of sharing all updates. 

I was initially an Information Technology expert, and later I became an electronic engineer, specializing in industrial Automation. I'm passionate about Artificial intelligenceVirtual RealitySimulation, and I'm an expert in Artificial Vision applied to industrial Automation. Currently, and starting four years ago, I am employed as a Proposal Engineer at Mer Mec S.p.A. (:::) company. Previously, starting in 2004, I was employed, always at the same company, as a Designer of Artificial Vision Systems and Image Processing Algorithms, applied in particular to Railway Diagnostics. I am a supporter and promoter of Lifelong LearningSocial Networking and Knowledge Sharing by means of the web. If you want more details about me, visit the About Me (:::) page.

Il blog Tateo~Blog (link) è parte integrante del progetto costituisce il mezzo di condivisione di tutti gli aggiornamenti. 

Sono stato in principio un esperto di Informatica, e in seguito sono diventato un Ingegnere Elettronico, specializzato in Automazione Industriale. Sono un appassionato di Intelligenza ArtificialeRealtà VirtualeSimulazione, e sono un esperto di Visione Artificiale applicata all'Automazione Industriale. Attualmente, ed a partire dall'anno 2016, sono impiegato come Proposal Engineer presso la società Mer Mec S.p.A. (:::). Precedentemente, a partire dal 2004, sono stato impiegato, sempre presso la stessa società, come Progettista di Sistemi di Visione Artificiale e di Algoritmi di Elaborazione delle Immagini, applicati in particolare alla Diagnostica Ferroviaria. Sono un sostenitore e promotore dell'apprendimento permanente, dei social network e della condivisione delle conoscenze tramite il web. Se vuoi ulteriori dettagli su di me, visita la pagine About Me (:::).


  Contact me. Following you can find my personal references that you can use if you want to contact me directly, and the links to my social accounts that you can use to follow me or to keep in touch with me by means of social media networks.

  ContattamiPer chi scrive non c’è soddisfazione maggiore di quella che si prova sapendo di essere stato letto e di aver ispirato e fornito esperienze e pratiche utili. Per cui, chiunque contattarmi utilizzando uno dei riferimenti seguenti. Sarò felice di poterti leggere e di confrontarmi con te, di poter leggere le tue critiche, i tuoi suggerimenti, le tue riflessioni e, spreto anche i tuoi complimenti.


Giovanni Battista Tateo (aka Bat)

    - e-mail: tateogb@libero.it (send e-mail)

    - phone / WhatsApp : (+39) 388 8419726

    - LinkedIn account (link)

    - Facebook account (link)

    - Twitter account (link)

    - Instagram account (link)

    - Pinterest account (link)

    - Skype (link)


-----------------------------------------

Originally published September 17, 2018.

Updated August 6, 2022.

into the Learning section of

TILLL

the Lifelong and Interdisciplinary Learning project of Giovanni Battista Tateo

Commenti