Trådning |
forrige | Fremtidigt arbejde | næste |
For øjeblikket er MCOP helt og holdent en eneste tråd. For video kan vi måske ikke længere komme udenom tråde. O.k. Der er nogle ting som skal håndteres med forsigtighed:
SmartWrappers - de er ikke trådsikre på grund af usikker referenceregning og lignende.
Afsenderen / I/O - heller ikke trådsikre.
Hvad jeg i alle tilfælde kan tænke mig er at gøre udvalgte moduler trådsikre, både for synkrone og asynkrone strømme. På denne måde kan man skemalægge signalstrømmen på to eller flere processorer, med et flowsystem som kender til tråde. Dette burde også hjælpe en hel del med lyd med multiprocessorer.
Hvordan det ville virke:
Flowsystemet bestemmer hvilke moduler der skal beregne hvad, dvs:
videobilleder (med metoden process_indata)
synkrone lydstrømme (calculateBlock)
andre asynkrone strømme, i hovedsagen datastrømme
Modulerne kan beregne disse ting i egne tråde. For lyd giver det mening at genbruge tråde (f.eks. håndtere den med fire tråde hvis der er fire processorer, også selvom 100 moduler kører). For video- og datakompression, kan det være bekvemmere at have en blokerende implementering i en egen tråd, som synkroniseres med resten af MCOP med flowsystemet.
Moduler må ikke bruge MCOP-funktioner (som fjernkaldes) mens trådede operationer er igang.
forrige | hjem | næste |
Video | op | Synkronisering |