Multicore en synchronisatie

Welke verdeling is geschikt bij het verdelen van lusiteraties over meerdere threads wanneer de rekenlast per iteratie sterk uiteenloopt?

  1. AEen statische toewijzing waarbij eerst gelijk op aantal iteraties wordt verdeeld en daarna niet meer wordt bijgesteld
  2. BAlle iteraties aan één thread overlaten
  3. CEen dynamische toewijzing waarbij het werk in kleine brokken wordt verdeeld en een thread zonder werk het volgende brok ophaalt
Antwoord en toelichting tonen

Antwoord: C. Een dynamische toewijzing waarbij het werk in kleine brokken wordt verdeeld en een thread zonder werk het volgende brok ophaalt

Statische toewijzing kost weinig moeite, maar als de zwaarte per iteratie verschilt, loopt alleen de thread met het zware deel achter en wachten de anderen. Bij dynamische toewijzing wordt het volgende werk bijvoorbeeld van een gedeelde teller gehaald en neemt een thread die eerder klaar is meer op zich, zodat de belasting gelijkmatig wordt. Als de brokken te klein zijn, neemt de moeite van het ophalen toe, dus de grootte moet worden afgesteld.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Multicore en synchronisatie

  1. Welke methode is geschikt voor de prestaties bij het berekenen van de som van alle elementen van een array met meerdere threads?
  2. Welke eigenschap van een lees-schrijflock (reader-writer lock) is juist?
  3. Wat is het meest passende gebruik van een tellende semafoor?
  4. Welk verschil tussen cachecoherentie en een geheugenconsistentiemodel is juist?
  5. Welke uitleg van het idee van hardware transactional memory is juist?

Vergelijkingen bij dit onderwerp