Concurrent computing is the concurrent (simultaneous) execution of multiple interacting computational tasks. These tasks may be implemented as separate programs, or as a set of processes or threads created by a single program. The tasks may also be executing on a single processor, several processors in close proximity, or distributed across a network. Concurrent computing is related to parallel computing, but focuses more on the interactions between tasks.

PropertyValue
p:abstract
  • Concurrent computing is the concurrent (simultaneous) execution of multiple interacting computational tasks. These tasks may be implemented as separate programs, or as a set of processes or threads created by a single program. The tasks may also be executing on a single processor, several processors in close proximity, or distributed across a network. Concurrent computing is related to parallel computing, but focuses more on the interactions between tasks. Correct sequencing of the interactions or communications between different tasks, and the coordination of access to resources that are shared between tasks, are key concerns during the design of concurrent computing systems. Pioneers in the field of concurrent computing include Edsger Dijkstra, Per Brinch Hansen, and C. A. R. Hoare. (en)
  • La computación concurrente es la simultaneidad en la ejecución de múltiples tareas interactivas. Estas tareas pueden ser un conjunto de procesos o hilos de ejecución creados por un único programa. Las tareas se pueden ejecutar en un sola unidad central de proceso (multiprogramación), en varios procesadores o en una red de computadores distribuidos. La programación concurrente está relacionada con la programación paralela, pero enfatiza más la interacción entre tareas. Así, la correcta secuencia de interacciones o comunicaciones entre los procesos y el acceso coordinado de recursos que se comparten por todos los procesos o tareas son las claves de esta disciplina. Los pioneros en este campo fueron Edsger Dijkstra, Per Brinch Hansen, y C. A. R. Hoare. Categoría:Sistemas operativos Categoría:computación distribuida (es)
  • Rinnakkaisuus on ohjelmistotekniikan käsite, joka kuvaa ohjelman ajonaikaista käyttäytymistä, tarkemmin ohjelman suorittamien käskyjen etenemistä. Suurin osa ohjelmistoista perustuu toimintojen sarjalliseen suorittamiseen; ohjelma etenee askel kerrallaan eteenpäin mahdollisesti haarautuen ehtolauseissa. Myös silmukat ovat mahdollisia, mutta silti mielivaltaisena ajankohtana ohjelman suoritus voidaan liittää vain yhteen kohtaan ohjelmakoodia. Rinnakkaiset ohjelmat sen sijaan toimivat toisin: ne voivat käynnistää itsestään useita kopioita haarukoimalla (engl. forking) tai käynnistämällä useita säikeitä. Rinnakkaiset ohjelmat ovat joskus välttämättömiä - esimerkiksi monen käyttäjän käyttöjärjestelmän on pakko toimia rinnakkaisesti - muutoin kukin käyttäjä saa suoritusaikaa vasta, kun jokin toinen käyttäjä on kirjautunut ulos järjestelmästä ja lopettanut ohjelmien suorituksen. Toisaalta monen suorittimen järjestelmässä rinnakkaistamisen avulla voidaan saavuttaa merkittäviä nopeudenlisäyksiä - joskaan ei aivan lineaarisesti suoritinmäärän moninkertaistumiseen nähden; kontekstinvaihdosta johtuva oheiskuorma kuluttaa yleensä huomattavan osan lisäprosessoreista saatavasta tehosta. Vaikka prosessoreita olisi vain yksi kappale, rinnakkaistaminen saattaa nopeuttaa silloinkin ohjelman suoritusta. Esimerkiksi järjestelmä, joka tekee ajoittain sekä intensiivistä laskentaa että jonkin verran kalliita levyoperaatioita, voi hyötyä rinnakkaistamisesta; tehdään hitaille I/O-operaatioille oma säikeensä joka ottaa jonoon uusia töitä vastaan, ja suoritetaan laskenta omassa säikeessään. Näin ajoittain tulevat levyoperaatiot eivät pysäytä suoritinintensiivistä laskentaa (esimerkki olettaa, että laskenta ei edellytä mahdollisten levyoperaatioiden tuottamien tulosten hyödyntämistä). Rinnakkaisia järjestelmiä on kuitenkin kertaluokkaa vaikeampi hallita. Erityisesti rinnakkaisten järjestelmien virheet ovat hyvin vaikeasti havaittavia, koska rinnakkainen järjestelmä ei enää toimi deterministisesti kuten taas tavallinen, sarjallisesti toimiva ohjelmisto; sama syöte ei aina tuota samaa lopputulosta. Koska yhden säikeen suorituksen pysähtyminen ja toisen säikeen suorituksen alkaminen voi tapahtua missä kohtaa ohjelmaa hyvänsä, rinnakkaisia järjestelmiä on erittäin vaikea testata. Erityisen ongelmallisia ovat tilanteet, missä monta eri prosessia tai säiettä voi kirjoittaa samaan muuttujaan tai tietorakenteeseen. Rinnakkaisten järjestelmien keskeisiä käsitteitä ovat lukitukset, lukkiutuminen (deadlock), kilpailutilanne (race condition) sekä nääntyminen. (fi)
  • La programmation concurrente est un style de programmation tenant compte, dans un programme, de l'existence de plusieurs piles sémantiques. Ces piles peuvent être appelés threads, processus ou tâches. Ils sont matérialisés en machine par une pile d'exécution et un ensemble de données privées. Les threads disposent d'une zone de mémoire partagée alors que les processus sont strictement isolés. La concurrence est indispensable lorsque l'on souhaite écrire des programmes interagissant avec le monde réel (qui est concurrent) ou tirant parti de multiples unités centrales (couplées, comme dans un système multiprocesseurs, ou distribuées, éventuellement en grille ou en grappe). (fr)
  • 並行計算(へいこうけいさん、Concurrent Computing)とは、複数の相互作用を及ぼす計算タスクの(同時)並行的実行を指す。並行コンピューティングとも呼ぶ。個々のタスクは通常別々のプログラムとして実装されるか、1つのプログラムから複数のプロセスやスレッドを生成する形で実装される。そのようなプログラムを作成することを並行プログラミングと呼ぶ。タスク群は1つのプロセッサ上で動作する場合、複数プロセッサ上で動作する場合、ネットワークを介した分散システムで動作する場合が考えられる。並行コンピューティングは並列コンピューティングと近い概念だが、タスク間の相互作用を重視する点が後者とは異なる。並行計算システムの設計における主要な課題は、タスク間の相互作用や通信の順序付けとタスク間で共有するリソースへのアクセスである。並行計算のパイオニアとしては、エドガー・ダイクストラ、Per Brinch Hansen、アントニー・ホーアが挙げられる。 (ja)
  • Multiprogrammeren (ook wel parallel programmeren, of gedistribueerd programmeren) is een techniek van programmeren en programma-ontwerp, waarbij een computerprogramma bestaat uit meerdere deelprogramma's die al dan niet gelijktijdig uitgevoerd kunnen worden. Multiprocessor-machines zijn in staat om betere prestaties te behalen door dit soort programmering. Bij multiprogrammeren wordt een enkele taak opgesplitst in meerdere subtaken die relatief onafhankelijk berekend en achteraf weer samengevoegd kunnen worden tot een enkel resultaat. Dit kan binnen een enkele computer zijn, of verspreid over meerdere systemen. In het tweede geval is de term distributed computing van toepassing. Multiprogrammeren is het meest effectief bij taken die gemakkelijk in stukken opgedeeld kunnen worden zoals puur wiskundige problemen. Distributed computing (gedistribueerde gegevensverwerking) kan gedefinieerd worden als een methode waar gewerkt wordt door verschillende computers, gelinkt middels een communicatienetwerk. Pioniers in het gebied van multiprogrammeren zijn oa: Edsger Dijkstra en Tony Hoare. (nl)
  • Przetwarzanie współbieżne (ang. concurrent computing) to przetwarzanie oparte na współistnieniu wielu wątków lub procesów operujących na współdzielonych danych. Wątki uruchomione na tym samym procesorze są przełączane w krótkich przedziałach czasu, co sprawia wrażenie, że wykonują się równolegle. Przetwarzanie współbieżne znajduje szerokie zastosowanie w serwerach, które muszą obsługiwać liczne żądania od różnych klientów. Gdyby serwer działał sekwencyjnie, jedno duże żądanie sparaliżowałoby pracę serwera - pozostałe żądania czekałyby na swoją kolej, aż tamto zostanie ukończone. Jednoczesna praca na współdzielonych danych może doprowadzić do utraty ich spójności, dlatego konieczne jest stosowanie różnych mechanizmów synchronizacyjnych, np. semaforów i monitorów. Niektóre języki programowania (np. Erlang, Ada) powstały z myślą o tworzeniu systemów współbieżnych i zawierają silne wsparcie dla synchronizowania wątków już na poziomie języka. (pl)
  • Programação concorrente é um paradigma de programação para a construção de programas de computador que fazem uso da execução concorrente (simultânea) de várias tarefas computacionais interativas, que podem ser implementadas como programas separados ou como um conjunto de threads criadas por um único programa. Essas tarefas podem ser executadas por um único processador, vários processadores em um único equipamento ou processadores distribuídos por uma rede. Programação concorrente é relacionada com programação paralela, mas foca mais na interação entre as tarefas. A interação e a comunicação correta entre as diferentes tarefas, além da coordenação do acesso concorrente aos recurso computacionais são as principais questões discutidas durante o desenvolvimento de sistemas concorrentes. Pioneiros na área de pesquisa incluem Edsger Dijkstra, Per Brinch Hansen, e C.A.R. Hoare. Vantagens do paradigma incluem o aumento de desempenho, pois aumenta-se a quantidade de tarefas sendo executadas em determinado período de tempo, e a possibilidade de uma melhor modelagem de programas, pois determinados problemas computacionais são concorrentes por natureza. (pt)
p:date
  • 2007-08-01 00:00:00.000000 (xsd:date)
p:hasPhotoCollection
p:reference
p:wikiPageUsesTemplate
p:wikipage-es
p:wikipage-fi
p:wikipage-fr
p:wikipage-ja
p:wikipage-nl
p:wikipage-pl
p:wikipage-pt
rdfs:comment
  • Concurrent computing is the concurrent (simultaneous) execution of multiple interacting computational tasks. These tasks may be implemented as separate programs, or as a set of processes or threads created by a single program. The tasks may also be executing on a single processor, several processors in close proximity, or distributed across a network. Concurrent computing is related to parallel computing, but focuses more on the interactions between tasks. (en)
  • La computación concurrente es la simultaneidad en la ejecución de múltiples tareas interactivas. Estas tareas pueden ser un conjunto de procesos o hilos de ejecución creados por un único programa. Las tareas se pueden ejecutar en un sola unidad central de proceso (multiprogramación), en varios procesadores o en una red de computadores distribuidos. La programación concurrente está relacionada con la programación paralela, pero enfatiza más la interacción entre tareas. (es)
  • Rinnakkaisuus on ohjelmistotekniikan käsite, joka kuvaa ohjelman ajonaikaista käyttäytymistä, tarkemmin ohjelman suorittamien käskyjen etenemistä. (fi)
  • La programmation concurrente est un style de programmation tenant compte, dans un programme, de l'existence de plusieurs piles sémantiques. Ces piles peuvent être appelés threads, processus ou tâches. Ils sont matérialisés en machine par une pile d'exécution et un ensemble de données privées. Les threads disposent d'une zone de mémoire partagée alors que les processus sont strictement isolés. (fr)
  • 並行計算(へいこうけいさん、Concurrent Computing)とは、複数の相互作用を及ぼす計算タスクの(同時)並行的実行を指す。並行コンピューティングとも呼ぶ。個々のタスクは通常別々のプログラムとして実装されるか、1つのプログラムから複数のプロセスやスレッドを生成する形で実装される。そのようなプログラムを作成することを並行プログラミングと呼ぶ。タスク群は1つのプロセッサ上で動作する場合、複数プロセッサ上で動作する場合、ネットワークを介した分散システムで動作する場合が考えられる。並行コンピューティングは並列コンピューティングと近い概念だが、タスク間の相互作用を重視する点が後者とは異なる。並行計算システムの設計における主要な課題は、タスク間の相互作用や通信の順序付けとタスク間で共有するリソースへのアクセスである。並行計算のパイオニアとしては、エドガー・ダイクストラ、Per Brinch Hansen、アントニー・ホーアが挙げられる。 (ja)
  • Multiprogrammeren (ook wel parallel programmeren, of gedistribueerd programmeren) is een techniek van programmeren en programma-ontwerp, waarbij een computerprogramma bestaat uit meerdere deelprogramma's die al dan niet gelijktijdig uitgevoerd kunnen worden. Multiprocessor-machines zijn in staat om betere prestaties te behalen door dit soort programmering. (nl)
  • Przetwarzanie współbieżne (ang. concurrent computing) to przetwarzanie oparte na współistnieniu wielu wątków lub procesów operujących na współdzielonych danych. Wątki uruchomione na tym samym procesorze są przełączane w krótkich przedziałach czasu, co sprawia wrażenie, że wykonują się równolegle. (pl)
  • Programação concorrente é um paradigma de programação para a construção de programas de computador que fazem uso da execução concorrente (simultânea) de várias tarefas computacionais interativas, que podem ser implementadas como programas separados ou como um conjunto de threads criadas por um único programa. Essas tarefas podem ser executadas por um único processador, vários processadores em um único equipamento ou processadores distribuídos por uma rede. (pt)
rdfs:label
  • Concurrent computing (en)
  • Computación concurrente (es)
  • Rinnakkaisuus (fi)
  • Programmation concurrente (fr)
  • 並行計算 (ja)
  • Multiprogrammeren (nl)
  • Przetwarzanie współbieżne (pl)
  • Programação concorrente (pt)
skos:subject
foaf:page
p:paradigm
p:redirect