Blog: Profilo: https://mvp.support.microsoft.com/profile/raffaele.

Slides:



Advertisements
Presentazioni simili
Recovery e Troubleshooting di Active Directory Renato Francesco Giorgini
Advertisements

Comprendere Workflow Foundation In Windows e in 2007 Microsoft Office system Paolo Pialorsi Roberto Brunetti.
Marco Russo DevLeap 27/03/2017 2:27 AM Il processo di Logon e la sicurezza per l’utente interattivo e per.
Sviluppare workflow per il nuovo 2007 Microsoft Office system e Windows SharePoint Services 3.0 Paolo Pialorsi
Sharepoint Gabriele Castellani
1 Teaching Cloud Computing and Windows Azure in Academia Domenico Talia UNIVERSITA DELLA CALABRIA & ICAR-CNR Italy Faculty Days 2010.
Microsoft Visual Studio 2005: come è cambiata lofferta degli strumenti di sviluppo Giada Scarafiotti – Developer.
Vincenzo Campanale PM Security & Management System Center, DSI e la Roadmap.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Sequential Statements. – Il VHDL simula lo svolgersi in parallelo di varie operazioni – Loggetto fondamentale e il PROCESS – Un PROCESS contiene una serie.
Microsoft Robotics Studio Marco Petrucco Microsoft Student Partner - Udine.
Model – View - Controller
J0 1 Marco Ronchetti Java Threads & Sincronizzazione.
Richiami di Java Multithreading. Threads (subclassing) public class A { public void a_method { C t = new C(); //C t = new C(String name); t.start(); …
Citrix Metaframe. Metaframe è la soluzione client-server prodotta dalla Citrix in grado di rendere disponibili applicazioni e desktop a qualsiasi dispositivo.
Università La Sapienza Ingegneria del Software I 1 Ingegneria del software I Seminario 2: Microsoft.NET.
FONDAMENTI DI INFORMATICA III WfMC-1. FONDAMENTI DI INFORMATICA III WfMC-2 WFMC Cose WfMC Workflow Management Coalition (WfMC), Brussels, è unorganizzazione.
New Features + Improvements Miglioramenti alle Situazioni contabili Distribuzione costi Intragruppo in registrazione fatture di acqusti Varie.
Componenti dell’architettura Oracle
University of Pisa Computer Science Department System Administration Processi, task periodici, stampa Stefano Bistarelli University of Pisa Computer Science.
SQL Server 2012 LocalDB.
UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.
Blog: Profilo:
Articoli e codice: Blog: Profilo MVP:
Un esempio: Registrazione e lettura di dati in un file
Il sistema operativo Sistema operativo (in breve) –È costituito dai programmi di gestione delle operazioni più elementari del computer –… gestione di vari.
1 Università degli Studi di Messina Facoltà di Ingegneria Visilab – Computer Vision and Image Processing Lab Nanodesktop Software development kit per sistemi.
Muoversi tra le finestre
7 cose da sapere su Volume Activation con Windows 7 © 2009 Microsoft Corporation. Tutti i diritti riservati. Come professionista IT, devi sapere che l'attivazione.
JavaScript Lezione 5 Tipizzazione ed operazioni tra tipi diversi Istruzioni di input.
Filtered Index and Statistics Filtered Indexes Sergio Govoni
DISPOSITIVI ASIC Application Specific Integrated Circuit De Faveri Martina Classe 3 BET.
Primi passi con Windows: Gestione del Desktop Barra Applicazioni Menu Avvio ISTITUTO COMPRENSIVO N.7 - VIA VIVALDI - IMOLA Via Vivaldi, Imola.
Sito IntergruppoParma.it Nuovo Intergruppo Parma.
I social commerce [Carpe diem]. I club dacquisto online I social coupon Gli e-tailer tradizionali I facebook shops Esempi di social commerce.
1 Web Design Internet Agency. 2 Web Design Internet Agency Qual è il valore aggiunto che può portare allimpresa ? Perché è fondamentale oggi avere un.
Previsione quantità di vendita SAP Best Practices.
Cosa vuol dire «Embedded»? Valter
Architettura delle GPU e
SQL Server 2008 R2: Licensing
INTERNET Internet è una rete a livello mondiale che permette alle persone di comunicare ed ad accedere a banca dati da qualunque parte del mondo e su qualunque.
Gruppo 4: Gelmi Martina, Morelato Francesca, Parisi Elisa La mia scuola ha un sito Web: modelli per la qualità dei siti (Ingegneria del Web)
INTERNET Antonio Papa Classe 2^ beat I.S.I.S. G. Meroni a.s. 2007/2008.
LAVORO ED ENERGIA L’energia è la capacità di un sistema di compiere lavoro In natura esistono diverse forme di energia e ognuna di esse si trasforma continuamente.
SQL SERVER 2008 RESOURCE GOVERNOR Francesco Diaz Partner Technical Consultant.
Attività Formativa Sviluppo di un WORKFLOW ENGINE di Dott. Riccardo Gasperoni Alessandro Caricato Gabriele Trabucco in collaborazione con Progesi S.p.A.
WPF per il client Desktop
14° Workshop – DotNetMarche :: Castelfidardo, 16 Aprile 2010 Introduzione ai framework per IoC / DI e AOP.
Fabio Cozzolino Vito Arconzo
Attribution-NonCommercial-ShareAlike SQL Server.
Attribution-NonCommercial-ShareAlike Le novità
Renato Francesco Giorgini Evangelist IT Pro
(1) Sistemi Operativi Prof. P. Cattaneo ufficio: L Ricevimento: Martedì14.00 –
Scoprirete che su Office non si può solo contare ma anche sviluppare.
| piergiorgio malusardi | | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia
IIS7 Media Services Piergiorgio Malusardi IT Pro Evangelist
Visual Studio Tools for Office: Developer Solutions Platform Fulvio Giaccari MCSD.NET / MCT Responsabile Usergroup ShareOffice Blog:
SQL Server 2005 Sicurezza Davide Mauri Factory Software
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Visual Studio Team System User Group.NET delle Marche 10° Workshop DotNetMarche Mercoledì 13 maggio 2009.
Giovedì 17 Aprile 2008 Heroes {Community} Launch Giovedì 17 Aprile 2008.
SUBQUERY Chi ha un salario maggiore di quello di Abel? Occorre scomporre la query in due sotto problemi: MAIN : quali impiegati hanno un salario maggiore.
Corso di Web Services A A Domenico Rosaci Patterns di E-Business D. RosaciPatterns per l'e-Business.
Display list e scene graph Daniele Marini Dipartimento di Informatica e Comunicazione.
Azure: Mobile Services e Notification Hub ANDREA GIUNTA.
JDBC Java DataBase Connectivity SISTEMI ITIS B. CASTELLI Anno Scolastico
Processi e Thread Meccanismi di IPC (1).
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
Scheduling in Linux (Kernel 2.4 e 2.6)
Transcript della presentazione:

Blog: Profilo:

Blog

Su singolo processore il multithreading è stato prevalentemente usato per rendere più fluide le operazioni per simulare la contemporaneità di più processi Tipicamente le architetture di oggi ci offrono due, massimo 4 processori fisici/logici Problemi a due/tre variabili dominabili dalla mente umana Hyperthreading non forniva sufficienti vantaggi da indurre i developer a modificare i sorgenti

Blog Autore dellarticolo: Herb Sutter Secretary, ISO/ANSI C++ Standards Committee Architect, C++ language design group Free Lunch = performance gratis Fino ad ora le applicazioni sono andate sempre più veloci senza cambiare una riga di codice I produttori hardware dicono che: non è più possibile produrre CPU con velocità superiori come è avvenuto finora. è possibile aumentare invece il numero di core di una CPU. Per sfruttarle le applicazioni dovranno essere scritte con tecniche multithreading

Blog Perché un algoritmo parallelo e ben scritto non è ancora abbastanza performante

Blog Avviene fondalmentalmente in tre casi Quando il codice eseguito nel thread chiede di sospendersi chiamando Thread.Sleep oppure chiamando WaitOne, WaitAny, WaitAll Win32 ==> (WaitForSingle/MultipleObject/s, MsgWaitForxxx) Quando dal thread viene chiamata Win32 SwitchToThread() oppure Thread.Sleep(0) (identico) Quando il quantum a disposizione del thread è terminato. Processo Thread Processo Thread Processo Thread

Blog Ogni context switch richiede circa 5000 istruzioni. Gli step tipici sono: 1. Entrare in Kernel Mode 2. Salvare i registri relativi al thread precedente 3. Acquisire il dispatch spinlock oggetto kernel che permette di gestire la concorrenza tra più CPU 4. Determinare il thread successivo da eseguire (se appartiene ad un altro processo, può essere ancora più costoso) 5. Lasciare il dispatch spinlock. 6. Scambiare in kernel mode lo stato dei thread precedente e successivo 7. Riprisitnare i registri relativi al nuovo thread 8. Uscire dal Kernel Mode Azioni non eseguite in caso di Fibers

Blog Problema: lo scheduler di Windows gestisce due stati stati (running / waiting) nell'accedere agli oggetti. A questo scopo acquisisce un lock globale: il dispatcher lock In presenza di un alto numero di CPU logiche ci sono molti più thread che contemporaneamente girano nel sistema Con molti thread il dispatcher lock diventa l'imbuto più importante del sistema Soluzione: in Windows 7 è stata di introdurre un nuovo stato nel modo in cui lo Scheduler accede agli oggetti kernel: pre-waiting, waiting, running. Nello stato di pre-waiting il lock viene acquisito solo sullo specifico oggetto su cui si vuole operare e non più il dispatcher lock globale

Blog Problema: quando il memory manager assegna una pagina fisica di memoria al working set di un processo esegue un lock al PFN Database PFN = Page Frame Number PFN Database = la lista di pagine fisiche di memoria In presenza di un alto numero di CPU logiche, questo è il secondo lock globale per impatto sulle performance Soluzione: Windows 7 ha introdotto una serie di lock minori che permettono di non tenere bloccato tutto il database

Blog Problema: un alto numero di thread implica un grande numero di transizioni user/kernel mode Le transizioni in kernel mode sono necessarie perché lo Scheduler di Windows gira Soluzione: Windows 7 introduce il nuovo User Mode Scheduler che evita le transizioni in kernel mode per distribuire un carico di lavoro su più thread Lo User Mode Scheduler (UMS) gestisce in una sorta di loop infinito le richieste di gestione del carico Diminuisce le extra transizioni in kernel mode dovute al fatto che il carico di lavoro in user mode è tipicamente inferiore al quantum dedicato al thread dallo scheduler di Windows

Blog In Windows erano già presente i Fibers Una sorta di "thread leggeri" che non coinvolgono il kernel mode Perché i fibers non sono una soluzione ottimale? I fibers non hanno garanzia di tornare ad essere eseguiti nello stesso thread I fibers non sono gestiti dallo scheduler di Windows che è in kernel mode ma l'applicazione ne deve provvedere uno È altamente probabile che lo stesso SQL Server (che attualmente usa i fibers) passi a UMS.

Blog Problema: la gestione diretta di Thread, ThreadPool, Event, Mutex, Semaphore è sempre più complessa al crescere delle CPU logiche Soluzione: il Parallel Computing Team usa lo UMS in Windows 7 per le nuove librerie in Visual Studio 2010: Developer di codice nativo C++ Parallel Pattern Library (PPL) che è basato su: Concurrency Runtime (Concurs) Developer di codice managed Task Parallel Library (TPL) che fa parte della: Parallel Extensions al Framework.NET (PFX) In Windows XP/2003 queste librerie hanno un loro scheduler User Mode Per ovvi motivi le performance di UMS sono migliori

Blog Informazioni su Windows 7 Provate Windows 7 beta 1 Windows Developer Center Windows 7 Developer Guide Download di Windows SDK 7.0 beta 1 C12A-FC B67E-46BAB7C5226C&displaylang=en Parallel Development Libraries (parte di VS2010)

©2009 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.