← Back to team overview

sslug-teknik team mailing list archive

C++ systemprogrammering Linux/Ultrix

 

Først: Ja, dette burde måske være gået på C-programmeringslisten, men da
det vedrører en del andre ting, valgte jeg at poste her.

Jeg skal i gang med at programmere mit specialeprojekt - et DSM-system
(virtuel supercomputer) på netværk af arbejdsstationer. Det involverer
en del ting, bla. sockets-kommunikation og IPC. I den forbindelse har
jeg et par spørgsmål, men først lidt fakta:

* Systemet skal gerne kunne køre på Alpha maskiner med Ultrix (?), men
jeg vil helst udvikle hjemme på min Linux-box

* Performance er *vigtigt* her. Jeg kan altså ikke bruge STL-containere,
men vil hellere udvikle mine egne specialdesignede.

* Jeg *kan* evt. revertere til C, men vil foretrække C++

* Jeg kender på forhånd til C og sockets.

Videre til spørgsmålene:

* Jeg har "UNIX network programming", men det er C-centrisk. Findes der
a) en vejledning i at bruge de tilsvarende systemkald til sockets og IPC
med C++ på nettet eller b) en bog i samme klasse rettet mod C++

* Findes der en god vejledning, evt. eksempelkode, til de såkaldte
rød/blå træer (også kendt som rød/sorte træer). Alternativt kan nogen
foreslå en bedre algoritme til formålet? Jeg skal registrere hukommelsen
som en række ikke-overlappende segmenter af en størrelse ned til et
maskinord, med mulighed for hurtigt opslag af segmentet der indeholder
en given adresse, og segmenter der overlapper et givent segment.

* Hvorledes ligger det med IPC i Linux hhv. Ultrix. Jeg får brug for 3-4
samarbejdende processer på hver maskine, som skal udveksle en del
information. Jeg ville foretrække shared memory segmenter til
kommunikationen med semaforer til styring af adgang, da det burde være
den hurtigste løsning. Spørgsmålet er bare om disse faciliteter er til
stede, og i så fald om de er Sys-V, eller et mystisk maskin-specifikt
hack.

Jeg kommer nok på flere spørgsmål hen ad vejen...

And
-- 
Anders S. Johansen, Jagtvej 109, 3.tv, 2200 Kbh. N +045 35836565
Wisdom = TANJ + TANSTAAFL


Follow ups