970 resultados para Computer programming languages


Relevância:

20.00% 20.00%

Publicador:

Resumo:

Os primeiros trabalhos sobre Computer-Supported Cooperative Work surgiram na segunda metade da década de 80, estabelecendo-se um campo de investigação interdisciplinar com enfoque no papel do computador e das tecnologias da comunicação no apoio do trabalho em grupo (Ishii et al., 1994). Ao abordar esta área de investigação torna-se claro que é necessário ter em conta a diversidade dos grupos e das tarefas que estes devem de utilizar, entre outros factores importantes. As implicações desta diversidade são discutidas ao nível concepção de interfaces de groupware, em que um maior envolvimento dos utilizadores nas fases iniciais parece ser necessário, e ao nível dos Sistemas de Apoio à Decisão em Grupo.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

A new iterative algorithm based on the inexact-restoration (IR) approach combined with the filter strategy to solve nonlinear constrained optimization problems is presented. The high level algorithm is suggested by Gonzaga et al. (SIAM J. Optim. 14:646–669, 2003) but not yet implement—the internal algorithms are not proposed. The filter, a new concept introduced by Fletcher and Leyffer (Math. Program. Ser. A 91:239–269, 2002), replaces the merit function avoiding the penalty parameter estimation and the difficulties related to the nondifferentiability. In the IR approach two independent phases are performed in each iteration, the feasibility and the optimality phases. The line search filter is combined with the first one phase to generate a “more feasible” point, and then it is used in the optimality phase to reach an “optimal” point. Numerical experiences with a collection of AMPL problems and a performance comparison with IPOPT are provided.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

work presented in the context of the European Master’s program in Computational Logic, as the partial requirement for obtaining Master of Science degree in Computational Logic

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Dissertação para obtenção do Grau de Mestre em Engenharia Informática

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Based on the report for the “Project III” unit of the PhD programme on Technology Assessment under the supervision of Prof. António B. Moniz. This report was discussed also at the 2nd Winter School on Technology Assessment held at Universidade Nova de Lisboa, Caparica Campus, Portugal on December 2011.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Dissertation submitted in partial fulfillment of the requirements for the Degree of Master of Science in Geospatial Technologies.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Dissertação para obtenção do Grau de Mestre em Engenharia Informática

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Face à estagnação da tecnologia uniprocessador registada na passada década, aos principais fabricantes de microprocessadores encontraram na tecnologia multi-core a resposta `as crescentes necessidades de processamento do mercado. Durante anos, os desenvolvedores de software viram as suas aplicações acompanhar os ganhos de performance conferidos por cada nova geração de processadores sequenciais, mas `a medida que a capacidade de processamento escala em função do número de processadores, a computação sequencial tem de ser decomposta em várias partes concorrentes que possam executar em paralelo, para que possam utilizar as unidades de processamento adicionais e completar mais rapidamente. A programação paralela implica um paradigma completamente distinto da programação sequencial. Ao contrário dos computadores sequenciais tipificados no modelo de Von Neumann, a heterogeneidade de arquiteturas paralelas requer modelos de programação paralela que abstraiam os programadores dos detalhes da arquitectura e simplifiquem o desenvolvimento de aplicações concorrentes. Os modelos de programação paralela mais populares incitam os programadores a identificar instruções concorrentes na sua lógica de programação, e a especificá-las sob a forma de tarefas que possam ser atribuídas a processadores distintos para executarem em simultâneo. Estas tarefas são tipicamente lançadas durante a execução, e atribuídas aos processadores pelo motor de execução subjacente. Como os requisitos de processamento costumam ser variáveis, e não são conhecidos a priori, o mapeamento de tarefas para processadores tem de ser determinado dinamicamente, em resposta a alterações imprevisíveis dos requisitos de execução. `A medida que o volume da computação cresce, torna-se cada vez menos viável garantir as suas restrições temporais em plataformas uniprocessador. Enquanto os sistemas de tempo real se começam a adaptar ao paradigma de computação paralela, há uma crescente aposta em integrar execuções de tempo real com aplicações interativas no mesmo hardware, num mundo em que a tecnologia se torna cada vez mais pequena, leve, ubíqua, e portável. Esta integração requer soluções de escalonamento que simultaneamente garantam os requisitos temporais das tarefas de tempo real e mantenham um nível aceitável de QoS para as restantes execuções. Para tal, torna-se imperativo que as aplicações de tempo real paralelizem, de forma a minimizar os seus tempos de resposta e maximizar a utilização dos recursos de processamento. Isto introduz uma nova dimensão ao problema do escalonamento, que tem de responder de forma correcta a novos requisitos de execução imprevisíveis e rapidamente conjeturar o mapeamento de tarefas que melhor beneficie os critérios de performance do sistema. A técnica de escalonamento baseado em servidores permite reservar uma fração da capacidade de processamento para a execução de tarefas de tempo real, e assegurar que os efeitos de latência na sua execução não afectam as reservas estipuladas para outras execuções. No caso de tarefas escalonadas pelo tempo de execução máximo, ou tarefas com tempos de execução variáveis, torna-se provável que a largura de banda estipulada não seja consumida por completo. Para melhorar a utilização do sistema, os algoritmos de partilha de largura de banda (capacity-sharing) doam a capacidade não utilizada para a execução de outras tarefas, mantendo as garantias de isolamento entre servidores. Com eficiência comprovada em termos de espaço, tempo, e comunicação, o mecanismo de work-stealing tem vindo a ganhar popularidade como metodologia para o escalonamento de tarefas com paralelismo dinâmico e irregular. O algoritmo p-CSWS combina escalonamento baseado em servidores com capacity-sharing e work-stealing para cobrir as necessidades de escalonamento dos sistemas abertos de tempo real. Enquanto o escalonamento em servidores permite partilhar os recursos de processamento sem interferências a nível dos atrasos, uma nova política de work-stealing que opera sobre o mecanismo de capacity-sharing aplica uma exploração de paralelismo que melhora os tempos de resposta das aplicações e melhora a utilização do sistema. Esta tese propõe uma implementação do algoritmo p-CSWS para o Linux. Em concordância com a estrutura modular do escalonador do Linux, ´e definida uma nova classe de escalonamento que visa avaliar a aplicabilidade da heurística p-CSWS em circunstâncias reais. Ultrapassados os obstáculos intrínsecos `a programação da kernel do Linux, os extensos testes experimentais provam que o p-CSWS ´e mais do que um conceito teórico atrativo, e que a exploração heurística de paralelismo proposta pelo algoritmo beneficia os tempos de resposta das aplicações de tempo real, bem como a performance e eficiência da plataforma multiprocessador.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Os vídeo jogos ou jogos de computador têm vindo a crescer na sua relação com o público ganhando terreno e credibilidade nos benefícios que os jogadores obtêm quando usam este tipo de software, indo esses benefícios para além do divertimento associado à palavra jogo no seu sentido etimológico. Nos últimos anos cada vez mais o mercado e algumas das mais reputadas instituições de ensino têm dedicado especial atenção a este tipo de software, englobando nesses estudos diversas áreas desde a engenharia à saúde, incluindo ainda, estudos de cariz psicológico e sociológico reveladores de que estas experiências de entretenimento, cada vez mais disponíveis a todos, têm influência na sua envolvente de integração e relação com outros fenómenos de cariz social. Apreciado o estado da arte esta tese tem como principal objetivo servir de guia de iniciação a individuais ou pequenas equipas da área de desenvolvimento de software no caminho para o desenvolvimento de jogos de vídeo independentes, apresentando uma análise cuidada capaz de apoiar as equipas desde o momento zero, estando o mesmo estruturado de forma a refletir o entendimento das bases teóricas em que o desenvolvimento deste tipo de software assenta, o estado da arte sobre plataformas, análise de mercado e indústria, metodologias de desenvolvimento e equipas, e ainda analisadas algumas das mais relevantes ferramentas de desenvolvimento e criação de conteúdos. Como prova de conceito e componente de caráter experimental, este trabalho compreende ainda o desenvolvimento de um jogo de vídeo guiado pelas orientações e lições apreendidas durante o processo de estudo de forma a ser representativo da aplicação dessa aprendizagem, e ainda capaz de detalhar passo a passo cada fase do processo, com o objetivo de apoiar a preparação de pessoas interessadas em iniciar a aventura de desenvolver os seus próprios jogos e quem sabe dar início aos seus próprios negócios e empresas. O jogo desenvolvido replica um recente êxito, o jogo 2048, que apesar da sua mecânica simples revela-se um excelente desafio do ponto de vista da sua implementação, bem como o processo criativo adjacente no transformar algo tão simples e experimentado numa experiência nova capaz de atrair antigos jogadores e interesse de novos. O desenvolvimento e publicação da aplicação experimental, e após análise dos dados recolhidos, mostram-se reveladores de que é de fato possível a programadores independentes entrar num mercado de alto potencial, e que adquiridas as bases de conhecimento expostas no documento estarão em condições mais favoráveis para ultrapassar algumas das mais comuns barreiras no atingir desse objetivo.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Based on the report for “Project IV” unit of the PhD programme on Technology Assessment (Doctoral Conference) at Universidade Nova de Lisboa (December 2011). This thesis research has the supervision of António Moniz (FCT-UNL and ITAS-KIT) and Armin Grunwald (Karlsruhe Institute of Technology-ITAS, Germany). Other members of the thesis committee are Mário Forjaz Secca (FCT-UNL) and Femke Nijboer (University of Twente, Netherlands).

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Dissertação para obtenção do Grau de Mestre em Engenharia Informática

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Dissertação para obtenção do Grau de Mestre em Biotecnologia

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Dissertação para obtenção do Grau de Mestre em Engenharia Informática

Relevância:

20.00% 20.00%

Publicador:

Resumo:

The Intel R Xeon PhiTM is the first processor based on Intel’s MIC (Many Integrated Cores) architecture. It is a co-processor specially tailored for data-parallel computations, whose basic architectural design is similar to the ones of GPUs (Graphics Processing Units), leveraging the use of many integrated low computational cores to perform parallel computations. The main novelty of the MIC architecture, relatively to GPUs, is its compatibility with the Intel x86 architecture. This enables the use of many of the tools commonly available for the parallel programming of x86-based architectures, which may lead to a smaller learning curve. However, programming the Xeon Phi still entails aspects intrinsic to accelerator-based computing, in general, and to the MIC architecture, in particular. In this thesis we advocate the use of algorithmic skeletons for programming the Xeon Phi. Algorithmic skeletons abstract the complexity inherent to parallel programming, hiding details such as resource management, parallel decomposition, inter-execution flow communication, thus removing these concerns from the programmer’s mind. In this context, the goal of the thesis is to lay the foundations for the development of a simple but powerful and efficient skeleton framework for the programming of the Xeon Phi processor. For this purpose we build upon Marrow, an existing framework for the orchestration of OpenCLTM computations in multi-GPU and CPU environments. We extend Marrow to execute both OpenCL and C++ parallel computations on the Xeon Phi. We evaluate the newly developed framework, several well-known benchmarks, like Saxpy and N-Body, will be used to compare, not only its performance to the existing framework when executing on the co-processor, but also to assess the performance on the Xeon Phi versus a multi-GPU environment.