Overleg:Gedistribueerd programmeren
Uit Wikipedia, de vrije encyclopedia
Hallo Ben,
Ik zal het niet nog eens naar parallelle programmering veranderen, de term betekent blijkbaar veel voor je, maar waarom begrijp ik niet: iedereen spreekt over parallel processing, wat zich m.i. het beste als parallelle programmering laat vertalen. De term multiprogrammeren komt 6 keer voor in Google, dat geeft toch wel aan dat dat geen algemeen gangbaar begrip is? Vriendelijke groet, Erik Zachte 18 aug 2003 19:17 (CEST)
Erik: als je in google zoekt naar "multi programming" krijg je 4360 hits. Flyingbird 18 aug 2003 19:23 (CEST)
En "multiprogramming" zelfs 22.900. Neemt niet weg dat "parallel processing" 304.000 scoort, maar afijn, point taken Erik Zachte 19 aug 2003 02:22 (CEST)
BT: Het is wellicht geen algemeen gangbaar begrip (nog niet, hoop ik), maar het is wel het betere begrip. "Parallel programmeren" heeft iets in zich besloten van uitvoering op meerdere processoren zodat deelprogramma's parallel aan elkaar lopen. Dat was inderdaad ooit wel het idee, maar dat hoeft natuurlijk helemaal niet -- de browser waar jij nu naar staart, maakt bijvoorbeeld zonder enige twijfel gebruik van meerdere threads terwijl het geheel toch (waarschijnlijk) op één processor draait. De essentie van het geheel is echter een model waarin een hele hoop deelprogramma's samen één enkel programma vormen, hoe ze onderling ook uitgevoerd worden. Daarbij past de naam multiprogramma meer dan parallel programma.
Bovendien is dit een encyclopedie -- daarin telt de beste term, niet de meest voorkomende (behalve als doorverwijzing). Neem bijvoorbeeld je strottehoofd (toch een bekend woord); in een beetje redelijke encyclopedie vind je dat onder "larynx".Gebruiker:BenTels
De term 'Multiprogrammeren' heeft een geheel andere oorsprong en dus betekenis. Het begrip is ontstaan in de jaren 60 toen men hardware bedacht om een computer in staat te stellen schijnbaar met meer dan 1 programma tegelijk bezig te zijn. Het begrip 'proces' bestond toen ook nog niet: er werden meerdere programma's schijnbaar tegelijk verwerkt, in 'multiprogrammering' (eng: multiprogramming). Uit die tijd stamt ook het begrip 'multitasking' dat sloeg op de uitvoering van taken voor een gebruiker. Multitasking blijkt tegenwoordig meer algemeen gebruikt te worden om aan te duiden dan een computer met meer dan 1 ding tegelijk bezig is. Waar het in dit artikel blijkbaar om gaat, is 'parallel programmeren' waarbij sprake is van een programma waarvan een aantal gespecificeerde onder delen parallel verwerkt zouden kunnen worden als er meerdere processoren beschikbaar zijn. Zo'n programma kan echter ook schijnbaar parallel verwerkt worden op 1 processor. Om het onderscheid tussen parallel en schijnbaar parallel te laten vervallen omdat het bij het ontwerp van zo'n programma niet relevant is, is hiervoor het begrip 'concurrent' ingevoerd. Waar het in dit artikel dus om gaat is 'concurrent programmeren'.
[Lex Meuldijk, 5 dec 2004]
- De term multiprogrammeren wordt tegenwoordig toegepast om een stijl van programma-ontwerp aan te duiden waarbij het eigenlijke programma verdeeld is in meerdere componenten. Componenten die gelijktijdig op verschillende processoren uitgevoerd kunnen worden, interleaved op een enkele processor of -- op synchronisatie na -- sequantieel op een enkele processor. Daarbij is multiprogrammeren ook de enige, neutrale term om het bijbehorende idee aan te duiden. Parallel programmeren impliceert meerdere processoren waar dat niet hoeft. Concurrent programmeren impliceert op zijn minst interleaving, zoniet meerdere processoren. Multiprogrammeren is de enige term die recht doet aan het enkele, onderscheidende principe van multiprogrammeren: de verdeling in componenten van het programma waarbij de volgorde van statements uit verschillende componenten modulo synchronisatie niet gegarandeerd is.
- Verder verwijs ik naar "On a Method of Multiprogramming", een uitstekend werk uit de monographs-serie van Springer, voor meer informatie hierover. -- BenTels 5 dec 2004 11:36 (CET)
- Beste Ben,
- Tja, wat moet ik hier nu mee. Ik ben sinds 1968 bezig in het vakgebied en dit is de allereerste keer dat ik lees over deze uitleg van het begrip 'multiprogrammeren'.
- Graag zou ik weten hoe je hier aan komt. Is dat begrip ergens formeel vastgelegd? Of heeft iemand weer eens een kreet de wereld in geslingerd, zoals al zovele malen gebeurd is? Ik kan je x boeken opnoemen waarin sprake is van 'concurrente programma's' als het gaat om deze problematiek.
- Wat is multiprogrammeren eigenlijk voor soort woord? Een werkwoord? Zo van: ik multiprogrammeer, jij multiprogrammeert,.. ?
- Ook als zou het zo zijn dat de problematiek gaat over multiprogramma's (ik heb bij dat woord geen enkele associatie), dan zou het zeer op zijn plaats zijn in het artikel te vermelden dat dit tot voor kort bekend was onder de kreet 'concurrente programmering' (hoewel ik daar ook niet zo gelukkig mee ben, maar dat zou meer woorden vergen om dat uit te leggen). Ook zou dan aandacht gegeven moeten worden aan de 'oude' betekenis van het begrip 'multiprogramming'.
- Ik kwam toevallig bij deze encyclopedie en was nieuwsgierig naar wat er in staat over waar ik mij tot voor kort als docent mee bezig hield.
- Ik ben nu wat sceptisch over de waarde van deze encyclopedie.
- Groet,
- [Lex Meuldijk]
- Ik ken het begrip ook als multiprogrammering. Parallelle programmering kom je ook wel tegen, maar ik vind de uitleg van Ben waarom multiprogrammering beter is logisch. Concurrente programmering is een bijzonder lelijk anglicisme en zou ik ten alle tijden afraden. Danielm 6 dec 2004 07:00 (CET)
Beste Ben,
Op de andere wikipedia's kom ik geen artikel tegen over 'Multiprogrammeren' maar wel in 5 talen (tenminste 4, voor de Chinese versie kan ik het niet met zekerheid zeggen) een artikel over 'parallel programmeren'.
- Duits: Parallelrechner
- Engels: Parallel computing
- Frans: Calcul parallèle
- Japans: Heiretsu-computing (heiretsu = parallel, naast elkaar)
- Chinees: 并行计算
Ik zie 2 mogelijkheden
- 1: de termen 'parallel programmeren' en 'multiprogrammeren' zijn nauw verwant maar overlappen elkaar niet volledig
- In dit geval is het wellicht beter zowel een artikel 'parallel programmeren' als een artikel 'multiprogrameren' te maken. Wat ik uit bovenstaande discussies, andere wikipedia's, en Google afleid is dat de term 'parallel programmeren' meer gangbaar is, zodat het voor de hand ligt om het artikel 'parallel programmeren' meer uitgebreid te maken en in het artikel 'multiprogrameren' slechts uit te leggen wat de verschillen zijn met 'parallel programmeren'.
- 2: de termen 'parallel programmeren' en 'multiprogrammeren' gaan over exact hetzelfde onderwerp
- In dit geval gaat het dus alleen om de vraag welke term beter is om als titel te gebruiken. Een vergelijking met "strottehoofd" en "larynx" lijkt me hier niet terecht. Het valt volgens mij moeilijk te verdedigen dat de term 'parallel programmeren' meer iets is voor leken terwijl de echte experts het over 'multiprogrameren' hebben.
Toch hoop ik dat de bijdrage van Lex Meuldijk die momenteel alleen via de geschiedenis van Multiprogrammeren te bekijken is, in latere versies op z'n minst gedeeltelijk gebruikt zullen worden.
Met vriendelijke groeten,
P.S. Sinds 4 december 2004 (19:37) heeft de Nederlandstalige wikipedia een artikel Strottenhoofd met slechts een redirect vanaf 'Larynx'. Wat een toeval hè? ;-)
@Danielm. Waarom worden regelmatig woorden die een Latijnse oorsprong hebben, eerst in het Engels geintroduceerd worden en daarna in het Nederlands (concurro (Lat), concurrent (Eng), concurrent (Ned)), gekenschetst als (bijzonder lelijk) anglicisme?
En ander aardig voorbeeld is het Magnum-ijsje, hier te lande hardnekkig uitgesproken als meknum, terwijl het een simpel Latijns woord is: magnum (= groot). De Latijnse uitspraak die mij ooit op het Gym geleerd is: magnoem. Of dat de correcte uitspraak is, weet ik uiteraard niet, maar meknum zal het zeker niet geweest zijn ;-)
Laat ik het even bij Engels houden. De term 'concurrent' komt reeds voor in het standaardwerk uit 1973 over Operating Systems van Per Brinch Hansen. Sindsdien is het in gebruik om onderhavige problematiek aan te duiden.
Lex Meuldijk
Ik merk dat er geen beweging in zit. Daarom ga ik weer weg. Nog een opmerking: ook het begrip 'multiprocessing' wordt verkeerd gebruikt. En een advies: lees de overeenkomstige versie in de Engelse Wiki. Veel succes verder. Groet, Lex Meuldijk.