Pamatideja: paralēlismu kodā vajadzētu ieviest tikai, kad tas ir nepieciešams, jo paralēlisms: (1) palielina kļūdu skaitu, (2) palielina sarežģītību. Tomēr rakstot kodu, vajadzētu analizēt un plānot, kurās vietās nākotnē, ja rodas kādas ātrdarbības problēmas, var ieviest paralēlismu.
Optimizējot esošu kodu, vajadzētu sekot šādos soļos:
- jāsaprot, kas tad ir lēns;
- pēc iespējas mēģināt optimizēt lēno kodu, neieviešot paralēlismu (visbiežāk ar algoritmu, atmiņas izmantošanas un IO operāciju optimizēšanu);
- identificēt vietas, kurās paralēla apstrāde ir iespējama;
- realizēt paralēlismu.
- Programmēšanas valodās ir iestrādātas dažādas jaunas lietas:
- pLINQ: parallel language integrated query;
- komandas: parallel.for un parallel.foreach;
- komanda: parallel.invoke {stmt1, stmt2, ....};
- task_group, kas ļaus atzīmēt komandas, kuras drīkst izpildīties paralēli, piemēram, divu atšķirīgu sarakstu sortēšana.
- VS2010 būs vairāki rīki, kuri palīdzēs analizēt sistēmas darbību, analizēt paralēlismus, identificēt savstarpējas bloķēšanās utt.
Nav komentāru:
Ierakstīt komentāru