| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 1.66 MB | Adobe PDF |
Orientador(es)
Resumo(s)
The increasing demand for high-performance computing and the need to process
large amounts of data have made Distributed Parallel Programming an essential
part of modern computing. The traditional sequential processing approach can
no longer keep up with data’s increasing volume and complexity. This is where
parallel programming comes into play. By dividing a computational task into
smaller, parallelizable tasks, we can use multiple processing units to achieve
faster and more efficient processing. However, not all programming languages
are well-suited for parallel programming.
Python has become a popular choice for many scientists and engineers due
to its simplicity, readability, and versatility. Python is well-equipped to handle
the demands of parallel processing in a cluster environment and several Python
libraries, namely Torc_py, Scoop, and Dask, have been developed to further help the
common programmer to explore the parallelism in multiprocessors and clusters.
Those libraries offer simplicity and ease of use for common programming patters
and also follow Python’s straightforward syntax and user-friendly, making this
language a great option for advanced programmers and also to developers who
are new to parallel programming.
This research aims to explore the programming language Python and some
of its libraries, provide a comprehensive understanding of the current state of
parallel distributed programming in Python, and implement support for parallel
patterns lacking in the current modules. In particular, we aim to contribute to the
easier development of programs based on Torc_py that use patterns like stencil,
convolution, and search that can abort and calculate functions on data.
A crescente procura por computação de alto desempenho assim como a neces- sidade de processar grandes quantidades de dados tornaram a Programação Paralela Distribuída uma parte essencial da computação moderna. A abordagem tradicional de processamento sequencial já não consegue acompanhar tanto o au- mento do volume como a sua maior complexidade. É aqui que entra a Programação Paralela Distribuída. Ao dividir uma tarefa em pequenas tarefas paralelizáveis, podemos aproveitar as múltiplas unidades de processamento para alcançar um processamento mais rápido e eficiente. No entanto, nem todas as linguagens de programação são adequadas à progra- mação paralela. O Python, por exemplo, tornou-se uma escolha popular para mui- tos cientistas e engenheiros devido à sua simplicidade, legibilidade e versatilidade. O Python está bem desenhado para responder as exigências de processamento paralelo em ambiente de cluster. Python conta com várias bibliotecas disponíveis para paralelismo em cluster como, por exemplo, Torc_py, Scoop e Dask. Uma das razões pelas quais o Python é uma escolha popular para paralelismo em cluster é a sua simplicidade e facilidade de utilização. As características do Python, no- meadamente a sua simples sintaxe e bibliotecas amigas do utilizador, constituem uma ótima opção para programadores novos em programação paralela. Esta pesquisa pretende explorar a linguagem de programação Python e algu- mas de suas bibliotecas, fornecer uma compreensão abrangente do estado atual da Programação Paralela Distribuída em Python e implementar suporte para padrões de programação paralela em falta nos módulos atuais. Em particular, pretende-se contribuir para um desenvolvimento simples de programas que utilizam padrões: stencil, convolução e de pesquisa que podem abortar e calculam funções sobre dados.
A crescente procura por computação de alto desempenho assim como a neces- sidade de processar grandes quantidades de dados tornaram a Programação Paralela Distribuída uma parte essencial da computação moderna. A abordagem tradicional de processamento sequencial já não consegue acompanhar tanto o au- mento do volume como a sua maior complexidade. É aqui que entra a Programação Paralela Distribuída. Ao dividir uma tarefa em pequenas tarefas paralelizáveis, podemos aproveitar as múltiplas unidades de processamento para alcançar um processamento mais rápido e eficiente. No entanto, nem todas as linguagens de programação são adequadas à progra- mação paralela. O Python, por exemplo, tornou-se uma escolha popular para mui- tos cientistas e engenheiros devido à sua simplicidade, legibilidade e versatilidade. O Python está bem desenhado para responder as exigências de processamento paralelo em ambiente de cluster. Python conta com várias bibliotecas disponíveis para paralelismo em cluster como, por exemplo, Torc_py, Scoop e Dask. Uma das razões pelas quais o Python é uma escolha popular para paralelismo em cluster é a sua simplicidade e facilidade de utilização. As características do Python, no- meadamente a sua simples sintaxe e bibliotecas amigas do utilizador, constituem uma ótima opção para programadores novos em programação paralela. Esta pesquisa pretende explorar a linguagem de programação Python e algu- mas de suas bibliotecas, fornecer uma compreensão abrangente do estado atual da Programação Paralela Distribuída em Python e implementar suporte para padrões de programação paralela em falta nos módulos atuais. Em particular, pretende-se contribuir para um desenvolvimento simples de programas que utilizam padrões: stencil, convolução e de pesquisa que podem abortar e calculam funções sobre dados.
Descrição
Palavras-chave
Distributed Parallel Programming Python Torc_py Scoop Dask
