0 svar
147 visningar
finbel 15
Postad: 4 okt 2018 11:18 Redigerad: 4 okt 2018 11:41

Sannolikhet

Osäker på om detta är en kluring för vet inte om den går att lösa, men jag har en stark känsla av att den BÖR gå att lösa alt. visa varför den inte går att lösa.


S processer vill ha tid på kärnan i en dator. Datorn har följande regler:

Varje process Si har en prioritetsnivå Pi (konstant: hur viktig den är) och ett prioritetsvärde Vi (varierar: om den ska få köra).

När datorn startar gäller Si : Pi=Vi.

Efter varje tidsperiod T väljer processorn den process Sj med högst prioritetsvärde och låter den köra på kärnan.

Därefter sätter den Vj=0 och Si:Vi=Vi+Pi


Exempel:
Vi har P={3, 5, 10}

TkV1V2V3T13511-S3 vinnerT261011-S3 vinnerT391511-S2 vinnerT412522-S3 vinnerT5151011-S1 vinner


Om man ser till hur stor andel A en process får av kärnan verkar det som att (när jag prövar "simuleringar" på datorn) limkAi=PijPj, vilket känns rimligt och rättvist (om en process har dubbelt så stor prioritet får den dubbelt så stor tid på kärnan.


Mitt problem/kluring är: Kan man förutse en process andel tid på kärna om man har mer än en kärna? Dvs, mer än en process kan vinna och få sin Vi nollställd per tidsenhet. Om man t.ex. har Nkärnor? En sak jag ser direkt är att om SN så kommer alla processer ha andel A=1.


 

Tidigare exempel med N=2

TkV1V2V3T13511-S3 och S2 vinnerT26511-S3 och S1 vinnerT331011-S3 och S2 vinnerT46511-S3 och S1 vinnerT531011-S3 och S2 vinner

Här kan man ganska enkelt se att

 A1=0.5A2=0.5A3=1

Min fråga är hade detta kunnat räknas ut utan att göra en "simulering"? Dvs:
Finns det något sätt att hitta en "formel" för hur stor andel A varje process får på kärnorna?

Frågan flyttas från Matematik/Kluringar till Programmering/allmänna diskussioner. Forumdelen Kluringar är endast till för frågor där du vet svaret och vill bjuda dina medmänniskor på en rolig uppgift. /Smaragdalena, moderator

Svara
Close