[so] [Tema4][Linux | Windows] Partea de preemptare

Paul Olaru olarupaulstelian97 at gmail.com
Wed May 1 19:32:49 EEST 2019


cuda-gdb nu e prea rău, dar honestly aș face altceva: după ce s-a apelat
kernelul și am dat toate cudaFree-urile etc copiez vectorii prin care
implementez Hashtable-ul în sine și îl printez.

On Wed, May 1, 2019, 7:31 PM Ionuț Mihalache <ipopescu46 at gmail.com> wrote:

> Și încă o întrebare pe care am uitat să o adresez: Cum să fac debug pentru
> că dacă folosesc printf pot apărea sincronizări nedorite?
>
> În mie., 1 mai 2019 la 19:26, Paul Olaru <olarupaulstelian97 at gmail.com> a
> scris:
>
>> E simplu: când un thread este blocat (wait pe orice primitivă de
>> sincronizare) ai garanția că schedulerul din kernel va pune la un moment
>> dat un thread al procesului tău care nu e blocat. Deci simplu blochezi
>> thread-ul care nu vrei să se execute. Orice funcție de wait merge.
>>
>> On Wed, May 1, 2019, 7:24 PM Ionuț Mihalache <ipopescu46 at gmail.com>
>> wrote:
>>
>>> Pentru întrebarea 2: Nu modific nimic în kernel dar trebuie să mi se
>>> asigure cumva că dacă eu îi zic thread-ului 2 să face wait până când este
>>> primul în coada cu priorități, o să fie pus alt thread pe procesor.
>>>
>>> În mie., 1 mai 2019 la 19:20, Paul Olaru <olarupaulstelian97 at gmail.com>
>>> a scris:
>>>
>>>> 2. Nu trebuie să umblăm la kernel altfel decât prin a lăsa un singur
>>>> thread activ la un moment dat în general.
>>>> 1. Decrementarea se poate face oricând, dar "context switch-ul" se va
>>>> face după, dacă e cazul.
>>>> 3. Am și eu întrebarea asta. Parcă am văzut un mail în care se spunea
>>>> că ambele abordări sunt ok.
>>>>
>>>>
>>>> On Wed, May 1, 2019, 7:17 PM Ionuț Mihalache via so <
>>>> so at cursuri.cs.pub.ro> wrote:
>>>>
>>>>> Salut,
>>>>>
>>>>> După ceva timp în care am tot încercat diferite variante de
>>>>> implementare pentru a rezolva prima partea a testelor, cele până la round
>>>>> robin inclusiv am niște întrebări punctuale:
>>>>>
>>>>> 1. În cazul so_fork() începem să scadem cuanta înainte sau după
>>>>> pthread_create?
>>>>> 2. Noi trebuie să modificăm ordinea thread-urilor noastre și în cadrul
>>>>> planificatorului din kernel sau trebuie să lucrăm doar cu thread-urile pe
>>>>> care le avem noi în coada cu priorități din cadrul planificatorului nostru
>>>>> la un moment dat?
>>>>> 3. Thread-ul care face primul so_fork(), cel din test, trebuie să
>>>>> apară în coada noastră? Și dacă nu trebuie să avem noi grijă cumva să nu
>>>>> mai fie pe procesor până când nu se execută thread-urile din cadrul
>>>>> planificatorului nostru?
>>>>>
>>>>> Mulțumesc,
>>>>> Ionuț Mihalache
>>>>> _______________________________________________
>>>>> http://ocw.cs.pub.ro/courses/so/info/lista-discutii
>>>>
>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20190501/4ab33321/attachment.html>


More information about the so mailing list