Spelling suggestions: "subject:"[een] MEMORY MANAGEMENT"" "subject:"[enn] MEMORY MANAGEMENT""
151 |
[en] MULTI-RESOLUTION OF OUT-OF-CORE TERRAIN GEOMETRY / [pt] MULTI-RESOLUÇÃO DE GEOMETRIA DE TERRENOS ARMAZENADOS EM MEMÓRIA SECUNDÁRIALUIZ GUSTAVO BUSTAMANTE MAGALHAES 07 March 2006 (has links)
[pt] Visualização de grandes terrenos é um assunto desafiador
em computação gráfica. O número de polígonos necessário
para representar fielmente a geometria de um terreno pode
ser muito alto para ser processado em tempo real. Para
resolver tal problema, utiliza-se um algoritmo de multi-
resolução, que envia para o processador gráfico (GPU)
somente os polígonos mais importantes, sem que haja uma
perda na qualidade visual. A quantidade de dados é um
outro grande problema, pois facilmente excede a quantidade
de memória RAM do computador. Desta forma, um sistema de
gerenciamento de dados que não estão em memória principal
também é necessário. Este trabalho propõe uma solução
simples e escalável para visualizar a geometria de grandes
terrenos baseada em três pontos chaves: uma estrutura de
dados para representar o terreno em multi-resolução; um
sistema eficiente de visualização; e um sistema de
paginação e predição dos dados. A estrutura de dados
utilizada, assim como em outros trabalhos similares, é a
quadtree. Esta escolha justifica-se pela simplicidade,
além da eficiência e baixo consumo de memória de uma
implementação em vetor. Cada nó da quadtree representa um
ladrilho do terreno. A implementação é dividida em duas
linhas de execução (threads), uma para gerenciamento dos
ladrilhos e outra para visualização. A linha de execução
de gerenciamento de ladrilhos é responsável por
carregar/remover ladrilhos para/da memória. Esta linha de
execução utiliza um mecanismo de predição de movimento da
câmera para carregar ladrilhos que possam ser utilizados
em um futuro próximo, e remover ladrilhos que
provavelmente não serão necessários. A linha de execução
de visualização é responsável por visualizar o terreno,
fazendo cálculo do erro projetado, eliminando ladrilhos
não visíveis e balanceando a estrutura de quadtree para
eliminar buracos ou vértices T na superfície do terreno. A
visualização pode ser feita de duas formas distintas:
baseada no erro máximo tolerado ou na quantidade máxima de
polígonos a ser processado. / [en] The visualization of large terrains is a challenging
Computer Graphics issue.
The number of polygons required to faithfully represent a
terrain`s geometry
can be too high for real-time visualization. To solve this
problem, a multiresolution
algorithm is used to feed the graphics processor only with
the
most important polygons, without visual quality loss. The
amount of data
is another important problem, as it can easily exceed a
computer`s RAM.
Thus, a system to manage out-of-core data is also
required. The present
work proposes a simple and scalable solution to visualize
the geometry
of large terrains based on three key points: a data
structure to represent
the terrain in multi-resolution, an efficient
visualization system and a data
paging and prediction system. Similarly to other works,
the system uses a
quadtree data structure due to its simplicity, along with
the efficiency and
the low memory use of an array-based implementation. Each
node of the
quadtree represents a tile of the terrain. The
implementation is divided in
two threads, one to manage the tiles and the other for
visualization. The
tile-management thread is responsible for
loading/unloading tiles into/from
the memory. This thread uses a camera-movement prediction
mechanism
to load tiles that can be used in the near future and to
remove tiles that
probably will not be necessary. The visualization thread
is responsible for
viewing the terrain, computing the projected error,
eliminating tiles that
are not visible and balancing the quadtree structure in
order to eliminate
cracks or T-vertices on the terrain`s surface. The
visualization can be made
by means of a fidelity-based or a budget-based approach.
|
152 |
Energy-efficient memory architecture design and management for parallel video coding / Projeto e gerenciamento de arquitetura de memória energeticamente eficiente para codificadores de vídeo HEVCSampaio, Felipe Martin January 2018 (has links)
Esta tese de doutorado apresenta o projeto de uma arquitetura de memória híbrida energeticamente eficiente baseada em memórias do tipo scratchpad (Hy-SVM) para a codificação paralela de vídeos segundo o padrão HEVC. A codificação de vídeo se destaca como uma parte extremamente complexa nas aplicações de processamento de vídeo. O padrão HEVC traz inovações que complicam fortemente os requerimentos de memória de tais aplicações, principalmente devido a: (a) novas estruturas de codificação, as quais agravam a complexidade computacional por proporcionarem muitas modos possíveis de codificação que devem ser analisados; além do (b) suporte de alto nível à paralelização da codificação por meio do particionamento das unidades de codificação em múltiplos Tiles, o qual provê a aceleração da performance dos codificadores, porém, ao mesmo tempo, adiciona grandes desafios à infraestrutura de memória. O principal gargalo em termos de comunicação com a memória externa e de armazenamento interno (dentro do chip do codificador) é dados pelas informações dos quadros de referência: que consiste em uma série de quadros completos já codificados (e reconstruídos) que devem ser mantidos em memória e acessados de forma intensa durante o processamento dos quadros futuros. Devido ao grande volume de dados que são necessários para representar os quadros de referência, estes são tipicamente armazenados na memória externa dos codificadores (principalmente quando vídeos de alta e ultra alta resolução são processados) A arquitetura proposta Hy-SVM está inserida em um sistema de codificação baseado no particionamento dos quadros do vídeo de entrada em múltiplos Tiles, de forma a habilitar a codificação paralela das informações segundo o padrão HEVC: neste cenário, cada Tile é assinalado para uma específica unidade de processamento do codificador HEVC, o qual executa o processamento dos diferentes Tiles em paralelo. A ideias chave da arquitetura Hy- SVM incluem: projeto e gerenciamento de memórias para a aplicação específica de codificação de vídeo; uso de múltiplos níveis de memórias privadas e compartilhadas, com o objetivo de explorar o reuso de dados intra-Tile e inter-Tiles de forma combinada; uso de memórias do tipo scratchpad (SPMs) para o armazenamento interno da informações de forma eficiente em termos de consumo de energia; projeto de memórias híbridas utilizando as tecnologias SRAM e STTRAM como base. Uma metodologia de projeto é proposta para a arquitetura Hy-SVM, a qual aproveita propriedades específicas da aplicação para, de forma adequada, definir os parâmetros de projeto das memórias híbridas. De forma a prover adaptação em tempo de execução (para ambas as memórias on-chip e off-chip), a arquitetura Hy-SVM integra uma camada de gerenciamento composta pelas seguintes estratégias (1) predição do overlap (sobreposição de acessos), o qual busca identificar o comportamento dos acessos redundantes entre diferentes unidades de processamento do codificador HEVC a partir da análise dos acessos à memória das codificações dos quadros passados do vídeo, com o objetivo de aumentar o potencial de exploração do reuso de dados inter-Tiles; (2) gerenciamento dos acessos à memória externa, responsável por balancear a vazão de dados com a memória acumulada entre as múltiplas unidades de processamento do codificador HEVC paralelo, com o objetivo de melhorar o uso do barramento de comunicação com a memória externa; e (3) gerenciamento de dados das SPMs implementadas a partir de células de memória STT-RAM, o qual alivia estas células de acessos de escrita com alta atividade de chaveamento dos bits armazenados, com o objetivo de aumentar o tempo de vide destas células, bem como reduzir as penalidades relativas à ineficiência dos acessos de escrita nas memórias STT-RAM. O conhecimento específico da aplicação foi utilizado nas estratégias de gerenciamento em tempo de execução das seguintes formas: explorando parâmetros da codificação HEVC e realizando monitorando em tempo real dos acessos à memória realizados pelo codificador Estas informações são utilizadas tanto pelas técnicas de gerenciamento, quanto pelas metodologias de projeto das memórias. Baseadas nas decisões tomadas pela camada de gerenciamento, a arquitetura Hy-SVM integra unidades de gerenciamento de acessos à memória (memory access management units – MAMUs) para controlar as dinâmicas de acesso das memórias SPM privadas e compartilhadas. Além disso, unidades adaptativas de gerenciamento de potência (adaptive power management units – APMUs) são capazes de reduzir o consumo de energia interno do chip do codificador a partir das estimativas precisas de formação dos overlaps. Os resultados obtidos por meio dos experimentos realizados demonstram economias de consumo energético da arquitetura Hy-SVM, quando comparada a trabalhos relacionados, sob diversos cenários de teste. Quando comparada a estratégias de reuso de dados tradicionais para codificadores de vídeo, como o esquema Level-C, a exploração do reuso de dados combinado nos níveis intra-Tile e inter-Tiles provê 69%-79% de redução de energia. Considerando as arquiteturas de memória de vídeo com foco no padrão HEVC, os ganhos variaram desde 2,8% (pior caso) até 67% (melhor caso) Da perspectiva do consumo de energia relacionado à comunicação com a memória externa, a arquitetura Hy-SVM é capaz de melhorar o reuso de dados (por explorar também o reuso de dados inter-Tiles), resultando em um consumo de energia on-chip 11%-17% menor. Além disso, as APMUs contribuem para reduzir o consumo de energia on-chip da arquitetura Hy-SVM em 56%-95%, para os cenários de teste analisados. Desta forma, comparada aos trabalhos relacionados, a arquitetura Hy-SVM apresenta o menor consumo energético on-chip. O gerenciamento da vazão da comunicação com a memória externa é capaz de reduzir as variações de largura de banda em 37%-83%, quando comparado à ordem tradicional de processamento, para cenários de teste com 4 e 16 Tiles sendo processados em paralelo pelo codificador HEVC. O gerenciamento de dados pôde, de forma significativa, estender o tempo de vida das células de memória STT-RAM, alcançando 0,83 de tempo de vida normalizado (métrica adotada para comparação, ficando muito próximo do caso ideal). Além disso, as sobrecargas causadas pela implementação das unidades de gerenciamento não afetam de foram significativa a performance e a eficiência energética da arquitetura Hy- SVM propostas por este trabalho. / This Thesis presents the design of an energy-efficient hybrid scratchpad video memory architecture (called Hy-SVM) for parallel High-Efficiency Video Coding. Video coding stands out as a high complex part in the video processing applications. HEVC standard brought innovations that increase the memory requirements, mainly due to: (a) the novel coding structures, which aggravates the computational complexity by providing a wider range of possibilities to be analyzed; and (b) the high-level parallelism features provided by the Tiles partitioning, which provides performance acceleration, but, at the same time, strongly adds hard challenges to the memory infrastructure. The main bottleneck in terms of external memory transmission and on-chip storage is the reference frames data: which consists of already coded (and reconstructed) entire frames that must be stored and intensively accessed during the encoding process of future frames. Due to the large volume of data required to represent the reference frames, they are typically stored in the external memory (especially when highdefinition videos are targeted). The proposed Hy-SVM architecture is inserted in a video coding system, which is based on multiple Tiles partitioning to enable parallel HEVC encoding: each Tile is assigned to a specific processing unit. The key ideas of Hy-SVM include: applicationspecific design and management; combined multiple levels of private and shared memories that jointly exploit intra-Tile and inter-Tiles data reuse; scratchpad memories (SPMs) as energyefficient on-chip data storage; combined SRAM and STT-RAM hybrid memory (HyM) design We propose a design methodology for Hy-SVM that leverages application-specific properties to properly define the HyMs parameters. In order to provide run-time adaptation (for both offand on-chip parts), Hy-SVM integrates a memory management layer composed of: (1) overlap prediction, which has the goal of identifying the redundant memory access behavior by analyzing monitored past frames encoding to increase inter-Tiles data reuse exploitation; (2) memory pressure management, which aims on balancing the Tiles-accumulated memory pressure targeting on improving external memory communication channel usage; and (3) lifetime-aware data management scheme that alleviates STT-RAM SPMs of high bit-toggling write accesses to increase the their cells lifetime, as well as to reduce overhead issues related to poor write characteristics of STT-RAM. Application-specific knowledge was exploited by inheriting HEVC properties and performing run-time monitoring of memory accesses. Such information is used to properly design the on-chip video memories, as well as being utilized as input parameters of the run-time memory management layer. Based on the run-time decisions from the proposed Hy-SVM management strategies, Hy-SVM integrates distributed memory access management units (MAMUs) to control the access dynamics of private and shared SPMs. Additionally, adaptive power management units (APMUs) are able to strongly reduce on-chip energy consumption due to an accurate overlap prediction The experimental results demonstrate Hy-SVM overall energy savings over related works under various HEVC encoding scenarios. Compared to traditional data reuse schemes, like Level-C, the combined intra-Tile and inter-Tiles data reuse provides 69%-79% of energy reduction. Regarding related HEVC video memory architectures, the savings varied from 2.8% (worst case) to 67% (best case). From the external memory perspective, Hy-SVM can improve data reuse (by also exploiting inter-Tiles data redundancy), resulting on 11%-71%% of reduced off-chip energy consumption. Additionally, our APMUs contribute by reducing on-chip energy consumption of Hy-SVM by 56%-95%, for the evaluated HEVC scenarios. Thus, compared to related works, Hy-SVM presents the lowest on-chip energy consumption. The memory pressure management scheme can reduce the variations in the memory bandwidth by 37%-83% when compared to the traditional raster scan processing for 4- and 16-core parallelized HEVC encoder. The lifetime-aware data management significantly extends the STT-RAM lifetime, achieving 0.83 of normalized lifetime (near to the optimal case). Moreover, the overhead of implementing our management units insignificantly affects the performance and energyefficiency of Hy-SVM.
|
153 |
Efficient Instrumentation for Object Flow ProfilingMudduluru, Rashmi January 2015 (has links) (PDF)
Profiling techniques to detect performance bugs in applications are usually customized to detect a specific bug pattern and involve significant engineering effort. In spite of this effort, many techniques either suffer
from high runtime overheads or are imprecise. This necessitates the design of a common and efficient instrumentation substrate that profiles the flow of objects during an execution. Designing such a substrate which enables profile generation precisely with low overhead is non-trivial due to the number of objects created, accessed and paths traversed by them in an execution.
In this thesis, we design and implement an efficient instrumentation substrate that efficiently generates object flow profiles for Java programs, without requiring any modifications to the underlying virtual machine.
We achieve this by applying Ball-Larus numbering on a specialized hy-brid
ow graph (hfg). The hfg path profiles that are collected during runtime are post-processed o ine to derive the object flow profiles. We extend the design to handle inter-procedural objec flows by constructing
flow summaries for each method and incorporating them appropriately.
We have implemented the substrate and validated its efficacy by applying it on programs from popular benchmark suites including dacapo and java-grande. The results demonstrate the scalability of our approach,
which handles 0.2M to 0.55B object accesses with an average runtime overhead of 8x. We also demonstrate the effectiveness of the generated profiles by implementing three client analyses that consume the profiles to
detect performance bugs. The analyses are able to detect 38 performance bugs which when refactored result in signi cant performance gains (up to 30%) in running times.
|
154 |
Energy-efficient memory architecture design and management for parallel video coding / Projeto e gerenciamento de arquitetura de memória energeticamente eficiente para codificadores de vídeo HEVCSampaio, Felipe Martin January 2018 (has links)
Esta tese de doutorado apresenta o projeto de uma arquitetura de memória híbrida energeticamente eficiente baseada em memórias do tipo scratchpad (Hy-SVM) para a codificação paralela de vídeos segundo o padrão HEVC. A codificação de vídeo se destaca como uma parte extremamente complexa nas aplicações de processamento de vídeo. O padrão HEVC traz inovações que complicam fortemente os requerimentos de memória de tais aplicações, principalmente devido a: (a) novas estruturas de codificação, as quais agravam a complexidade computacional por proporcionarem muitas modos possíveis de codificação que devem ser analisados; além do (b) suporte de alto nível à paralelização da codificação por meio do particionamento das unidades de codificação em múltiplos Tiles, o qual provê a aceleração da performance dos codificadores, porém, ao mesmo tempo, adiciona grandes desafios à infraestrutura de memória. O principal gargalo em termos de comunicação com a memória externa e de armazenamento interno (dentro do chip do codificador) é dados pelas informações dos quadros de referência: que consiste em uma série de quadros completos já codificados (e reconstruídos) que devem ser mantidos em memória e acessados de forma intensa durante o processamento dos quadros futuros. Devido ao grande volume de dados que são necessários para representar os quadros de referência, estes são tipicamente armazenados na memória externa dos codificadores (principalmente quando vídeos de alta e ultra alta resolução são processados) A arquitetura proposta Hy-SVM está inserida em um sistema de codificação baseado no particionamento dos quadros do vídeo de entrada em múltiplos Tiles, de forma a habilitar a codificação paralela das informações segundo o padrão HEVC: neste cenário, cada Tile é assinalado para uma específica unidade de processamento do codificador HEVC, o qual executa o processamento dos diferentes Tiles em paralelo. A ideias chave da arquitetura Hy- SVM incluem: projeto e gerenciamento de memórias para a aplicação específica de codificação de vídeo; uso de múltiplos níveis de memórias privadas e compartilhadas, com o objetivo de explorar o reuso de dados intra-Tile e inter-Tiles de forma combinada; uso de memórias do tipo scratchpad (SPMs) para o armazenamento interno da informações de forma eficiente em termos de consumo de energia; projeto de memórias híbridas utilizando as tecnologias SRAM e STTRAM como base. Uma metodologia de projeto é proposta para a arquitetura Hy-SVM, a qual aproveita propriedades específicas da aplicação para, de forma adequada, definir os parâmetros de projeto das memórias híbridas. De forma a prover adaptação em tempo de execução (para ambas as memórias on-chip e off-chip), a arquitetura Hy-SVM integra uma camada de gerenciamento composta pelas seguintes estratégias (1) predição do overlap (sobreposição de acessos), o qual busca identificar o comportamento dos acessos redundantes entre diferentes unidades de processamento do codificador HEVC a partir da análise dos acessos à memória das codificações dos quadros passados do vídeo, com o objetivo de aumentar o potencial de exploração do reuso de dados inter-Tiles; (2) gerenciamento dos acessos à memória externa, responsável por balancear a vazão de dados com a memória acumulada entre as múltiplas unidades de processamento do codificador HEVC paralelo, com o objetivo de melhorar o uso do barramento de comunicação com a memória externa; e (3) gerenciamento de dados das SPMs implementadas a partir de células de memória STT-RAM, o qual alivia estas células de acessos de escrita com alta atividade de chaveamento dos bits armazenados, com o objetivo de aumentar o tempo de vide destas células, bem como reduzir as penalidades relativas à ineficiência dos acessos de escrita nas memórias STT-RAM. O conhecimento específico da aplicação foi utilizado nas estratégias de gerenciamento em tempo de execução das seguintes formas: explorando parâmetros da codificação HEVC e realizando monitorando em tempo real dos acessos à memória realizados pelo codificador Estas informações são utilizadas tanto pelas técnicas de gerenciamento, quanto pelas metodologias de projeto das memórias. Baseadas nas decisões tomadas pela camada de gerenciamento, a arquitetura Hy-SVM integra unidades de gerenciamento de acessos à memória (memory access management units – MAMUs) para controlar as dinâmicas de acesso das memórias SPM privadas e compartilhadas. Além disso, unidades adaptativas de gerenciamento de potência (adaptive power management units – APMUs) são capazes de reduzir o consumo de energia interno do chip do codificador a partir das estimativas precisas de formação dos overlaps. Os resultados obtidos por meio dos experimentos realizados demonstram economias de consumo energético da arquitetura Hy-SVM, quando comparada a trabalhos relacionados, sob diversos cenários de teste. Quando comparada a estratégias de reuso de dados tradicionais para codificadores de vídeo, como o esquema Level-C, a exploração do reuso de dados combinado nos níveis intra-Tile e inter-Tiles provê 69%-79% de redução de energia. Considerando as arquiteturas de memória de vídeo com foco no padrão HEVC, os ganhos variaram desde 2,8% (pior caso) até 67% (melhor caso) Da perspectiva do consumo de energia relacionado à comunicação com a memória externa, a arquitetura Hy-SVM é capaz de melhorar o reuso de dados (por explorar também o reuso de dados inter-Tiles), resultando em um consumo de energia on-chip 11%-17% menor. Além disso, as APMUs contribuem para reduzir o consumo de energia on-chip da arquitetura Hy-SVM em 56%-95%, para os cenários de teste analisados. Desta forma, comparada aos trabalhos relacionados, a arquitetura Hy-SVM apresenta o menor consumo energético on-chip. O gerenciamento da vazão da comunicação com a memória externa é capaz de reduzir as variações de largura de banda em 37%-83%, quando comparado à ordem tradicional de processamento, para cenários de teste com 4 e 16 Tiles sendo processados em paralelo pelo codificador HEVC. O gerenciamento de dados pôde, de forma significativa, estender o tempo de vida das células de memória STT-RAM, alcançando 0,83 de tempo de vida normalizado (métrica adotada para comparação, ficando muito próximo do caso ideal). Além disso, as sobrecargas causadas pela implementação das unidades de gerenciamento não afetam de foram significativa a performance e a eficiência energética da arquitetura Hy- SVM propostas por este trabalho. / This Thesis presents the design of an energy-efficient hybrid scratchpad video memory architecture (called Hy-SVM) for parallel High-Efficiency Video Coding. Video coding stands out as a high complex part in the video processing applications. HEVC standard brought innovations that increase the memory requirements, mainly due to: (a) the novel coding structures, which aggravates the computational complexity by providing a wider range of possibilities to be analyzed; and (b) the high-level parallelism features provided by the Tiles partitioning, which provides performance acceleration, but, at the same time, strongly adds hard challenges to the memory infrastructure. The main bottleneck in terms of external memory transmission and on-chip storage is the reference frames data: which consists of already coded (and reconstructed) entire frames that must be stored and intensively accessed during the encoding process of future frames. Due to the large volume of data required to represent the reference frames, they are typically stored in the external memory (especially when highdefinition videos are targeted). The proposed Hy-SVM architecture is inserted in a video coding system, which is based on multiple Tiles partitioning to enable parallel HEVC encoding: each Tile is assigned to a specific processing unit. The key ideas of Hy-SVM include: applicationspecific design and management; combined multiple levels of private and shared memories that jointly exploit intra-Tile and inter-Tiles data reuse; scratchpad memories (SPMs) as energyefficient on-chip data storage; combined SRAM and STT-RAM hybrid memory (HyM) design We propose a design methodology for Hy-SVM that leverages application-specific properties to properly define the HyMs parameters. In order to provide run-time adaptation (for both offand on-chip parts), Hy-SVM integrates a memory management layer composed of: (1) overlap prediction, which has the goal of identifying the redundant memory access behavior by analyzing monitored past frames encoding to increase inter-Tiles data reuse exploitation; (2) memory pressure management, which aims on balancing the Tiles-accumulated memory pressure targeting on improving external memory communication channel usage; and (3) lifetime-aware data management scheme that alleviates STT-RAM SPMs of high bit-toggling write accesses to increase the their cells lifetime, as well as to reduce overhead issues related to poor write characteristics of STT-RAM. Application-specific knowledge was exploited by inheriting HEVC properties and performing run-time monitoring of memory accesses. Such information is used to properly design the on-chip video memories, as well as being utilized as input parameters of the run-time memory management layer. Based on the run-time decisions from the proposed Hy-SVM management strategies, Hy-SVM integrates distributed memory access management units (MAMUs) to control the access dynamics of private and shared SPMs. Additionally, adaptive power management units (APMUs) are able to strongly reduce on-chip energy consumption due to an accurate overlap prediction The experimental results demonstrate Hy-SVM overall energy savings over related works under various HEVC encoding scenarios. Compared to traditional data reuse schemes, like Level-C, the combined intra-Tile and inter-Tiles data reuse provides 69%-79% of energy reduction. Regarding related HEVC video memory architectures, the savings varied from 2.8% (worst case) to 67% (best case). From the external memory perspective, Hy-SVM can improve data reuse (by also exploiting inter-Tiles data redundancy), resulting on 11%-71%% of reduced off-chip energy consumption. Additionally, our APMUs contribute by reducing on-chip energy consumption of Hy-SVM by 56%-95%, for the evaluated HEVC scenarios. Thus, compared to related works, Hy-SVM presents the lowest on-chip energy consumption. The memory pressure management scheme can reduce the variations in the memory bandwidth by 37%-83% when compared to the traditional raster scan processing for 4- and 16-core parallelized HEVC encoder. The lifetime-aware data management significantly extends the STT-RAM lifetime, achieving 0.83 of normalized lifetime (near to the optimal case). Moreover, the overhead of implementing our management units insignificantly affects the performance and energyefficiency of Hy-SVM.
|
155 |
RA-LPEL : a Resource-Aware Light-weight Parallel Execution Layer for reactive stream processing networks on the SCC many-core tiled architectureKaravadara, Nilesh January 2016 (has links)
In computing the available computing power has continuously fallen short of the demanded computing performance. As a consequence, performance improvement has been the main focus of processor design. However, due to the phenomenon called 'Power Wall' it has become infeasible to build faster processors by just increasing the processor's clock speed. One of the resulting trends in hardware design is to integrate several simple and power-efficient cores on the same chip. This design shift poses challenges of its own. In the past, with increasing clock frequency the programs became automatically faster as well without modifications. This is no longer true with many-core architectures. To achieve maximum performance the programs have to run concurrently on more than one core, which forces the general computing paradigm to become increasingly parallel to leverage maximum processing power. In this thesis, we will focus on the Reactive Stream Program (RSP). In stream processing, the system consists of computing nodes, which are connected via communication streams. These streams simplify the concurrency management on modern many-core architectures due to their implicit synchronisation. RSP is a stream processing system that implements the reactive system. The RSPs work in tandem with their environment and the load imposed by the environment may vary over time. This provides a unique opportunity to increase performance per watt. In this thesis the research contribution focuses on the design of the execution layer to run RSPs on tiled many-core architectures, using the Intel's Single-chip Cloud Computer (SCC) processor as a concrete experimentation platform. Further, we have developed a Dynamic Voltage and Frequency Scaling (DVFS) technique for RSP deployed on many-core architectures. In contrast to many other approaches, our DVFS technique does not require the capability of controlling the power settings of individual computing elements, thus making it applicable for modern many-core architectures, with which power can be changed only for power islands. The experimental results confirm that the proposed DVFS technique can effectively improve the energy efficiency, i.e. increase the performance per watt, for RSPs.
|
156 |
Pokročilé metody kódování řeči v signálovém procesoru / Advanced speech coding methods using digital signal processorZajíček, Marek January 2011 (has links)
This master thesis describes the practical usage of AMR-WB (Adaptive Multi Rate - Wide Band) codec and its implementation on a digital signal processor which is integrated in functional voice communication system Siemens HiPath 4000. The first part is focused on the complete codec description, especially on an encoder and decoder. The second part partly describes signal processors and then is followed by the practical part of the implementation which is solved from the preliminary activities up to the optimalization of the final functional solution.
|
157 |
Augmenting uClinux and RTAI with Memory Access Control for the BlackFin DSPUlbricht, Michael 03 June 2007 (has links)
In Verbindung mit eingebetteten Systemen spielte Sicherheit in der Vergangenheit eher
eine untergeordnete Rolle. Im Vordergrund standen vorhersagbare Ausführungszeiten
und der finanzielle Rahmen. Aufgrund der zunehmenden Vernetzung und der Konzentration
mehrerer Anwendungen auf einen Prozessor gewinnt dieser Gesichtspunkt jedoch
stärker an Bedeutung. Der Blackfin-Prozessor des Herstellers Analog Devices, welcher
die Konzepte von Mikrocontroller und digitalem Signalprozessor in sich vereint, entspricht
diesem Trend, indem er die Möglichkeit des Speicherschutzes integriert.
Das Betriebssystem uClinux wurde speziell auf die Bedürfnisse von eingebetteten Systemen
angepasst, da es im Gegensatz zu Linux keinen virtuellen Speicher unterstützt. Es
wurde zwar bereits auf die Architektur des Blackfin Prozessors portiert, verfügte jedoch
bisher nicht über nennenswerte Mechanismen zum Schutz des Speichers. Der Hauptteil
dieser Diplomarbeit besteht deshalb darin, Linux’ Speicherverwaltung zu analysieren,
einen ähnlichen Ansatz in uClinux zu implementieren und schließlich den Einfluss auf
die Leistung des Systems zu ermitteln.
Die entstandene Realisierung schützt sowohl den Speicher einzelner Prozesse als auch den
des Betriebssystemkerns. Obwohl die Lösung im Moment noch prototypischen Charakter
besitzt, ist sie bereits voll funktionsfähig. Des Weiteren diskutiert die Arbeit auch den
Ansatz des alleinigen Kernel-Schutzes und unterbreitet einen Vorschlag zur Verringerung
der Interrupt-Latenzzeit. / In the past, embedded system’s security has been often omitted in order to trade it for system
cost and more predictable execution timings. Due to the pressure induced by increased
networking and multitasking, this issue is getting more important. Therefore, Analog Devices’
Blackfin processor, which combines capabilities of signal processing and controlling,
additionally provides means for memory protection.
The operating system uClinux, which is especially suitable for embedded systems because
support for Virtual Memory has been removed, has already been ported to the Blackfin
architecture, but still lacks support for memory protection. Thus, the main effort of
this thesis consists of analysing Linux’s memory management, reimplementing similar approaches
into the uClinux kernel, and measuring the resulting overhead.
The implemented protection scheme does secure both particular processes and kernel
space. Even if it is still in a prototypical state, memory protection is fully functional.
In addition, approaches for exclusive kernel protection and reducing interrupt latency are
discussed.
|
158 |
Dataflow Processing in Memory Achieves Significant Energy EfficiencyShelor, Charles F. 08 1900 (has links)
The large difference between processor CPU cycle time and memory access time, often referred to as the memory wall, severely limits the performance of streaming applications. Some data centers have shown servers being idle three out of four clocks. High performance instruction sequenced systems are not energy efficient. The execute stage of even simple pipeline processors only use 9% of the pipeline's total energy. A hybrid dataflow system within a memory module is shown to have 7.2 times the performance with 368 times better energy efficiency than an Intel Xeon server processor on the analyzed benchmarks.
The dataflow implementation exploits the inherent parallelism and pipelining of the application to improve performance without the overhead functions of caching, instruction fetch, instruction decode, instruction scheduling, reorder buffers, and speculative execution used by high performance out-of-order processors. Coarse grain reconfigurable logic in an energy efficient silicon process provides flexibility to implement multiple algorithms in a low energy solution. Integrating the logic within a 3D stacked memory module provides lower latency and higher bandwidth access to memory while operating independently from the host system processor.
|
159 |
Memory Turbo Boost: Architectural Support for Using Unused Memory for Memory Replication to Boost Server Memory PerformanceZhang, Da 28 June 2023 (has links)
A significant portion of the memory in servers today is often unused. Our large-scale study of HPC systems finds that more than half of the total memory in active nodes running user jobs are unused for 88% of the time. Google and Azure Cloud studies also report unused memory accounts for 40% of the total memory in their servers, on average.
Leaving so much memory unused is wasteful. To address this problem, we note that in the context of CPUs, Turbo Boost can turn off the unused cores to boost the performance of in-use cores. However, there is no equivalent technology in the context of memory; no matter how much memory is unused, the performance of in-use memory remains the same.
This dissertation explores architectural techniques to utilize the unused memory to boost the performance of in-use memory and refer to them collectively as Memory Turbo Boost. This dissertation explores how to turbo boost memory performance through memory replication; specifically, it explores how to efficiently store the replicas in the unused memory and explores multiple architectural techniques to utilize the replicas to enhance memory system performance.
Performance simulations show that Memory Turbo Boost can improve node-level performance by 18%, on average across a wide spectrum of workloads. Our system-wide simulations show applying Memory Turbo Boost to an HPC system provides 1.4x average speedup on job turnaround time. / Doctor of Philosophy / Today's servers often have a significant portion of their memory unused. Our large-scale study of HPC systems finds that more than half of the total memory of an HPC server is unused for most of the time; Google and Azure Cloud studies find that 40% of the total memory in their servers is often unused. Today's servers usually have 100s of GBs to TB memory; 40% unused memory means 10s-100s of GBs unused memory on the servers.
Leaving so much memory unused is wasteful. To address this problem, I note that there are techniques to leverage unused hardware resources to improve the performance of in-use resources in other types of hardware. For example, CPU Turbo Boost can turn off the unused cores to boost the performance of in-use cores; modern SSDs can use the unused space to switch the Multi-Level Cell blocks to Single-Level Cell blocks to boost performance. However, there is no equivalent technology in the context of memory; no matter how much memory is unused, the performance of in-use memory remains the same.
This dissertation explores techniques to utilize the unused memory to boost the performance of in-use memory and refer to them collectively as Memory Turbo Boost. Performance evaluations show that Memory Turbo Boost can provide up to 18% average performance improvement.
|
160 |
Scheduling Local and Remote Memory in Cluster ComputersSerrano Gómez, Mónica 02 September 2013 (has links)
Los cl'usters de computadores representan una soluci'on alternativa a los supercomputadores. En este tipo de sistemas, se suele restringir el espacio de direccionamiento de
memoria de un procesador dado a la placa madre local. Restringir el sistema de esta
manera es mucho m'as barato que usar una implementaci'on de memoria compartida
entre las placas. Sin embargo, las diferentes necesidades de memoria de las aplicaciones
que se ejecutan en cada placa pueden dar lugar a un desequilibrio en el uso de memoria
entre las placas. Esta situaci'on puede desencadenar intercambios de datos con el disco,
los cuales degradan notablemente las prestaciones del sistema, a pesar de que pueda
haber memoria no utilizada en otras placas. Una soluci'on directa consiste en aumentar
la cantidad de memoria disponible en cada placa, pero el coste de esta soluci'on puede
ser prohibitivo.
Por otra parte, el hardware de acceso a memoria remota (RMA) es una forma de
facilitar interconexiones r'apidas entre las placas de un cl'uster de computadores. En
trabajos recientes, esta caracter'¿stica se ha usado para aumentar el espacio de direccionamiento en ciertas placas. En este trabajo, la m'aquina base usa esta capacidad
como mecanismo r'apido para permitir al sistema operativo local acceder a la memoria
DRAM instalada en una placa remota. En este contexto, una plani¿caci'on de memoria e¿ciente constituye una cuesti'on cr'¿tica, ya que las latencias de memoria tienen
un impacto importante sobre el tiempo de ejecuci'on global de las aplicaciones, debido
a que las latencias de memoria remota pueden ser varios 'ordenes de magnitud m'as
altas que los accesos locales. Adem'as, el hecho de cambiar la distribuci'on de memoria
es un proceso lento que puede involucrar a varias placas, as'¿ pues, el plani¿cador de
memoria ha de asegurarse de que la distribuci'on objetivo proporciona mejores prestaciones que la actual. La presente disertaci'on pretende abordar los asuntos mencionados
anteriormente mediante la propuesta de varias pol'¿ticas de plani¿caci'on de memoria.
En primer lugar, se presenta un algoritmo ideal y una estrategia heur'¿stica para asignar
memoria principal ubicada en las diferentes regiones de memoria. Adicionalmente, se
ha dise¿nado un mecanismo de control de Calidad de Servicio para evitar que las prestaciones de las aplicaciones en ejecuci'on se degraden de forma inadmisible. El algoritmo
ideal encuentra la distribuci'on de memoria 'optima pero su complejidad computacional
es prohibitiva dado un alto n'umero de aplicaciones. De este inconveniente se encarga la estrategia heur'¿stica, la cual se aproxima a la mejor distribuci'on de memoria local
y remota con un coste computacional aceptable.
Los algoritmos anteriores se basan en pro¿ling. Para tratar este defecto potencial,
nos centramos en soluciones anal'¿ticas. Esta disertaci'on propone un modelo anal'¿tico
que estima el tiempo de ejecuci'on de una aplicaci'on dada para cierta distribuci'on de
memoria. Dicha t'ecnica se usa como un predictor de prestaciones que proporciona la
informaci'on de entrada a un plani¿cador de memoria. El plani¿cador de memoria usa
las estimaciones para elegir din'amicamente la distribuci'on de memoria objetivo 'optima
para cada aplicaci'on que se est'e ejecutando en el sistema, de forma que se alcancen las
mejores prestaciones globales.
La plani¿caci'on a granularidad m'as alta permite pol'¿ticas de plani¿caci'on m'as simples.
Este trabajo estudia la viabilidad de plani¿car a nivel de granularidad de p'agina del
sistema operativo. Un entrelazado convencional basado en hardware a nivel de bloque
y un entrelazado a nivel de p'agina de sistema operativo se han tomado como esquemas
de referencia. De la comparaci'on de ambos esquemas de referencia, hemos concluido
que solo algunas aplicaciones se ven afectadas de forma signi¿cativa por el uso del
entrelazado a nivel de p'agina. Las razones que causan este impacto en las prestaciones
han sido estudiadas y han de¿nido la base para el dise¿no de dos pol'¿ticas de distribuci'on
de memoria basadas en sistema operativo. La primera se denomina on-demand (OD),
y es una estrategia simple que funciona colocando las p'aginas nuevas en memoria
local hasta que dicha regi'on se llena, de manera que se bene¿cia de la premisa de que
las p'aginas m'as accedidas se piden y se ubican antes que las menos accedidas para
mejorar las prestaciones. Sin embargo, ante la ausencia de dicha premisa para algunos
de los benchmarks, OD funciona peor. La segunda pol'¿tica, denominada Most-accessed
in-local (Mail), se propone con el objetivo de evitar este problema. / Cluster computers represent a cost-effective alternative solution to supercomputers. In
these systems, it is common to constrain the memory address space of a given processor
to the local motherboard. Constraining the system in this way is much cheaper
than using a full-fledged shared memory implementation among motherboards. However,
memory usage among motherboards may be unfairly balanced depending on the
memory requirements of the applications running on each motherboard. This situation
can lead to disk-swapping, which severely degrades system performance, although
there may be unused memory on other motherboards. A straightforward solution is
to increase the amount of available memory in each motherboard, but the cost of this
solution may become prohibitive.
On the other hand, remote memory access (RMA) hardware provides fast interconnects
among the motherboards of a cluster computer. In recent works, this characteristic has
been used to extend the addressable memory space of selected motherboards. In this
work, the baseline machine uses this capability as a fast mechanism to allow the local
OS to access to DRAM memory installed in a remote motherboard. In this context,
efficient memory scheduling becomes a major concern since main memory latencies
have a strong impact on the overall execution time of the applications, provided that
remote memory accesses may be several orders of magnitude higher than local accesses.
Additionally, changing the memory distribution is a slow process which may involve
several motherboards, hence the memory scheduler needs to make sure that the target
distribution provides better performance than the current one. This dissertation aims
to address the aforementioned issues by proposing several memory scheduling policies.
First, an ideal algorithm and a heuristic strategy to assign main memory from the different
memory regions are presented. Additionally, a Quality of Service control mechanism
has been devised in order to prevent unacceptable performance degradation for
the running applications. The ideal algorithm finds the optimal memory distribution
but its computational cost is prohibitive for a high number of applications. This drawback
is handled by the heuristic strategy, which approximates the best local and remote
memory distribution among applications at an acceptable computational cost.
The previous algorithms are based on profiling. To deal with this potential shortcoming
we focus on analytical solutions. This dissertation proposes an analytical model that estimates the execution time of a given application for a given memory distribution.
This technique is used as a performance predictor that provides the input to a memory
scheduler. The estimates are used by the memory scheduler to dynamically choose
the optimal target memory distribution for each application running in the system in
order to achieve the best overall performance.
Scheduling at a higher granularity allows simpler scheduler policies. This work studies
the feasibility of scheduling at OS page granularity. A conventional hardware-based
block interleaving and an OS-based page interleaving have been assumed as the baseline
schemes. From the comparison of the two baseline schemes, we have concluded
that only the performance of some applications is significantly affected by page-based
interleaving. The reasons that cause this impact on performance have been studied
and have provided the basis for the design of two OS-based memory allocation policies.
The first one, namely on-demand (OD), is a simple strategy that works by placing new
pages in local memory until this region is full, thus benefiting from the premise that
most of the accessed pages are requested and allocated before than the least accessed
ones to improve the performance. Nevertheless, in the absence of this premise for some
benchmarks, OD performs worse. The second policy, namely Most-accessed in-local
(Mail), is proposed to avoid this problem / Serrano Gómez, M. (2013). Scheduling Local and Remote Memory in Cluster Computers [Tesis doctoral]. Editorial Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/31639
|
Page generated in 0.0704 seconds