Mi è stato assegnato il compito di scrivere un servizio ad alta prestazione e alta disponibilità che verrà eseguito su una scatola multicore.Supporto .NET Framework per hardware multicore
Devo utilizzare Task Parellel Library per in realtà sfruttare un server multicore o il servizio verrà eseguito automaticamente più rapidamente se lancio più hardware (core) su di esso? Il framework .NET fornisce la magia per me sotto le coperte?
Come corollario, ci saranno miglioramenti delle prestazioni aggiornando il server con più core (mantenendo le specifiche di ogni singolo core lo stesso) per le applicazioni .NET che non usano TPL?
Come ho capito (leggendo il libro di Joe Duffy e i suoi blog), è davvero necessario programmare per il multicore. La mia conclusione è esatta?
Grazie Paul. La mia applicazione avrà sicuramente una certa quantità di parallelismo e l'applicazione sarà multithread. La creazione di thread farà leva sull'hardware multicore? Il framework (o il sistema operativo?) Decide se può (o dovrebbe) eseguire un thread su un core differente o devo programmarlo esplicitamente? – Sprash
Basta usare i thread. Il sistema operativo si occuperà di sfruttare i core. ** questa è una risposta troppo semplificata. Se stai per affrontare un grande progetto come questo, vale la pena leggere "Concurrent Programming on Windows" http://www.amazon.com/Concurrent-Programming-Windows-Microsoft-Development/dp/032143482X/ref=sr_1_1?ie = UTF8 & s = books & qid = 1246579844 & sr = 8-1 –