Strumenti Utente

Strumenti Sito


magistraleinformaticanetworking:spm:sdpm12program

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Prossima revisione Entrambe le parti successive la revisione
magistraleinformaticanetworking:spm:sdpm12program [20/02/2012 alle 10:51 (12 anni fa)]
Marco Danelutto creata
magistraleinformaticanetworking:spm:sdpm12program [20/02/2012 alle 11:14 (12 anni fa)]
Marco Danelutto
Linea 1: Linea 1:
 ===== Program ===== ===== Program =====
  
-The course covers the programming models and the paradigms used with distributed and parallel systems, for both the application and support tool software. Taking into account structured programming models (algorithmical skeletons, parallel design patterns) as well as those models based on components and services, all the problems related to the functional (expressive powermodularity and reuse) and non functional (performancefault toleranceadaptivityconcerns will be consideredThe lab module will be used to experiment different approaches and solutions on the most common distributed architecturessuch as workstation networksgrids and clouds.+The course covers the programming models and the paradigms used with distributed and parallel systems, for both the application and support tool software.  
 +The main focus of the course is on structured programming models (parallel design pattern, algorithimc skeletons) as the main API provided to the application programmers to develop parallel applications.  
 +The implementation of structured parallel programming models will be detailed in terms of models and support mechanisms.  
 +The models and mechanisms considered include classical models (client/servermaster/worker, map/reduce) and mechanisms (POSIX TCP/IPOpenMPMPI, etc).  
 +While presenting models and paradigms, special emphasis will be given to different aspects related to either the programming model presented to the final user or the particular implementation mechanism chosennamely 
 +  * separation of concerns (application vs. system programmersfunctional vs. non functional concerns) 
 +  * program refactoring techniques 
 +  * modularity, software reuse, incremental design 
 +  * performance modelling and portability 
 +  * fault tolerance and adaptivity 
 +  * targeting of different, possibly heterogeneous, architectures, including co-processor exploitation.
  
-The course will be logically split into several distinct parts:+The course will be logically split into distinct parts:
  
-  * **Introduction** Evolution of parallel and distributed architectures, Urgency of parallel/distributed programming models and tools, "Parallel" vs. "distributed" dichotomy revised+  * **Introduction** Evolution of parallel and distributed architectures, Urgency of parallel/distributed programming models and tools, "Parallel" vs. "distributed" dichotomy revised.
  
-  * **Part I**: Parallel and distributed programming paradigms. Structured programming, Components, Workflows+  * **Part I**: Parallel and distributed programming paradigms. Structured programming, Parallel design patterns and algorithmic skeletons.
  
-  * **Part II**: Implementation models.  Posix-TCP/IP-SSH/SCP, RPC/RMI, “Middleware” systems+  * **Part II**: Implementation models. High level models (e.g. client/server or master/worker) and low level mechanisms (e.g. POSIX TCP/IP or Pthreads)
  
   * **Part III**: Networks in distributed systems. Wireless, multimedia and peer-to-peer networks: features, peculiarities and exploitation in distributed systems   * **Part III**: Networks in distributed systems. Wireless, multimedia and peer-to-peer networks: features, peculiarities and exploitation in distributed systems
magistraleinformaticanetworking/spm/sdpm12program.txt · Ultima modifica: 20/02/2012 alle 11:15 (12 anni fa) da Marco Danelutto