Resultados da pesquisa

Catálogo de Publicações - Todos

Filtros
  1. 1

    Energy-efficient memory architecture design and management for parallel video coding

    Publicação
    por Sampaio, Felipe Martin
    Origem: Oasisbr
    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.
    2018 tese de doutoramento Brasil acesso aberto
  2. 2

    Gestão e aproximação de dados em sistemas de memórias com NV-RAMs dedicados a codificadores de vídeo eficientes

    Publicação
    por Silveira, Dieison Soares
    Origem: Oasisbr
    A codificação e a decodificação de vídeos digitais estão presentes na maioria das apli cações multimídia, principalmente nos sistemas embarcados atuais, atingindo bilhões de usuários principalmente com a popularização dos dispositivos móveis, como smartpho nes e tablets. Além disso, as melhorias nos serviços de streaming motivam os usuários a gerarem, transmitirem e visualizarem conteúdos em vídeos digitais de altíssima resolu ção pela Internet como 4K e 8K. Nesse sentido, sistemas de codificação de vídeo atuais vêm exigindo largura de banda com a memória cada vez maiores para codificar um único quadro do vídeo. Entre os principais módulos dos codificadores de vídeo atuais, um dos módulos que mais acessa a memória é a Estimação de Movimento (ME). A ME exige uma grande largura de banda de memória, a qual é utilizada para ler e escrever os quadros de referência na memória. Esse processo acaba gerando um elevado consumo de energia, uma vez que os acessos à memória externa são as operações que mais dissipam potên cia nos sistemas digitais atuais. Desta forma, essa tese avalia o impacto em consumo de energia e eficiência de codificação da utilização conjunta de estratégias de reuso de dados, compressão de quadros de referência, computação aproximada e memórias não-voláteis (NV-RAMs). Para estimar os resultados dessas estratégias foi desenvolvido em software e hardware um sistema eficiente de redução de energia relacionada à memória para arqui teturas de codificadores de vídeo digitais. Para isso, esse sistema utiliza uma hierarquia de memória composta por tecnologia NV-RAMs, a qual utiliza o reuso de dados Level C e power gating em bancos das memórias internas. Ainda, o sistema possui quatro níveis de configuração, permitindo o uso de computação aproximada através da redução do tama nho da área de busca e bit dropping nas amostras de referência. O bit dropping é utilizado juntamente com um eficiente compressor de quadros de referência. Os resultados gerados para quatro configurações mostram que o sistema atinge altas taxas de redução de energia, os quais variam de 88% até 95%, quando comparados a um sistema com reuso de dados Level C, sendo essas as maiores taxas de redução em consumo de energia entre todos os trabalhos estado da arte encontrados na literatura. Para atingir essas taxas de redução de energia, o sistema apresenta uma variação na eficiência de codificação de 0, 03% até 3, 3%.
    2023 tese de doutoramento Brasil acesso aberto
  3. 3

    Cache based global memory orchestration for data intensive stream processing pipelines

    Publicação
    por Matteussi, Kassiano José
    Origem: Oasisbr
    A significant rise in the adoption of streaming applications has changed the decision making processes in the last decade. This movement led to the emergence of several big data in-memory data-intensive processing technologies like Apache Storm, Spark, Heron, Samza, and Flink in the most varied areas and domains such as financial services, healthcare, education, manufacturing, retail, social media, sensor networks, among others. These streaming systems rely on the use of Java Virtual Machine (JVM) as an underlying processing environment for platform independence. Although it provides high-level hard ware abstraction, the JVM could not efficiently manage intensive applications that cache data into the JVM heap intensively. Consequently, it may lead to data loss, throughput degradation, and high-level latency due to several processing overheads induced by data deserialization, object scattering in main memory, garbage collection operations, and oth ers. State of the art reinforces efficient memory management for stream processing is a prominent role in real-time data analysis since it represents a critical aspect of perfor mance. The proposed solutions have provided strategies for optimizing the shuffle-driven eviction process, job-level caching, and GC performance-based cache allocation models on top of Apache Spark and Flink. However, these studies do not present mechanisms for controlling the JVM state by using solutions unaware of streaming systems’ processing and storage utilization. This thesis tackles this issue by considering the impact of the overall JVM utilization for processing and storage operations using a cache-based global memory orchestration model with well-defined memory utilization policies. It aims to improve memory management of data-intensive SP pipelines, avoid memory-based per formance issues, and keep the throughput of applications stable. Still, the proposed eval uation comprises real experiments in small and medium-sized data center infrastructures with fast network switches provided by the french grid - Grid5000. The experiments use Spark Streaming and real-world streaming applications with representative in-memory execution and storage utilization (e.g., data cache operations, processing with states, and checkpointing). The results revealed that the proposed solution kept throughput stable at a high rate (e.g., ~1GBps for small and medium-sized clusters) and may reduce the global JVM heap memory utilization by up to 50% in the evaluated cases.
    2023 tese de doutoramento Brasil acesso aberto
  4. 4
  5. 5

    Specification and Design of an Integrated memory management unit for a MIMD distributed memory architecture

    Publicação
    por Ferreira, Joaquim José de Castro
    Outros Autores: Borges, António Rui Oliveira Silva
    The remarkable developments in the micro-electronics field during the last decade, in terms of level of integration and complexity, has enabled the design of new applications and enhancements of existing electronic systems, either by adding new functionalities or by decreasing the circuit area and its power consumption. (...)
  6. 6

    Design of a communication and shared memory management unit

    Publicação
    por Ferreira, Joaquim Castro
    Outros Autores: Borges, António Rui
    In this paper we present an overview of the architecture, the design process and the main properties of a communication and shared memory management unit for a MIMD type multiprocessor mesh. The circuit has been completely specified and was later designed as a standard cell ASIC based on ES21 ECPD10 library of cells, for a N-Well CMOS m process. The CAD framework used was Cadence Edge (ES2 SOLO 203
  7. 7

    Study and optimization of the memory management in Memcached

    Publicação
    por Coelho, Vasco Samuel Rodrigues
    Over the years the Internet has become more popular than ever and web applications like Facebook and Twitter are gaining more users. This results in generation of more and more data by the users which has to be efficiently managed, because access speed is an important factor nowadays, a user will not wait no more than three seconds for a web page to load before abandoning the site. In-memory key-value stores like Memcached and Redis are used to speed up web applications by speeding up access to the data by decreasing the number of accesses to the slower data storage’s. The first implementation of Memcached, in the LiveJournal’s website, showed that by using 28 instances of Memcached on ten unique hosts, caching the most popular 30GB of data can achieve a hit rate around 92%, reducing the number of accesses to the database and reducing the response time considerably. Not all objects in cache take the same time to recompute, so this research is going to study and present a new cost aware memory management that is easy to integrate in a key-value store, with this approach being implemented in Memcached. The new memory management and cache will give some priority to key-value pairs that take longer to be recomputed. Instead of replacing Memcached’s replacement structure and its policy, we simply add a new segment in each structure that is capable of storing the more costly key-value pairs. Apart from this new segment in each replacement structure, we created a new dynamic cost-aware rebalancing policy in Memcached, giving more memory to store more costly key-value pairs. With the implementations of our approaches, we were able to offer a prototype that can be used to research the cost on the caching systems performance. In addition, we were able to improve in certain scenarios the access latency of the user and the total recomputation cost of the key-value stored in the system.
    2019 dissertação de mestrado Portugal acesso aberto
  8. 8

    Let’s get physical: Rethinking the static partitioning hypervisor architecture for an MMU-less memory model

    Publicação
    por Santos, Afonso
    Outros Autores: Martins, José; Sousa, João; Rodríguez, Manuel; Pinto, Sandro
    Many industries, in particular automotive, are undergoing substantial transformations in their underlying electrical and electronic architecture (E/E), pushing for a transition from traditional flat architectures to more decentralized and zonal systems. Moreover, this industry’s demanding constraints and regulations (e.g., ISO26262) limit the application of COTS technologies to support this shift. Seeing this gap, semiconductor designers, like Arm, have been pushing for the Armv8-R processor architecture with specific features to cover the automotive industry’s needs. To address these demands, Arm introduced a dual-stage Memory Protection Unit (MPU) that supports hierarchical memory isolation and enables hypervisor deployment, enhancing its suitability for mixed-criticality real-time environments. In this context, the hypervisor emerges as a solution for consolidating different subsystems onto the same hardware platform, allowing the system to meet SWaP-C (Size, Weight, and Power-Cost) requirements. However, most hypervisor implementations are not designed to run on MMU-less devices. This paper describes the journey of re-designing Bao, an open-source lightweight Static Partitioning Hypervisor (SPH), to the new generation of real-time Arm processors. The core contribution focuses on leveraging the dual-stage MPU and the Armv8-R virtualization extensions to establish a predictable virtualization infrastructure. We evaluated the hypervisor’s performance on a multi-core platform based on the NXP S32Z270 SoC. Bao MMU-less demonstrated high efficiency, with less than 1% performance degradation and only a negligible increase in memory footprint. Additionally, the system exhibited a short boot time of 2.95ms, satisfying a key requirement for real-time systems.
    2025 artigo Portugal acesso aberto
  9. 9

    Exploiting Template Metaprogramming to customize an object-oriented operating system

    Publicação
    por Pinto, Sandro
    Outros Autores: Castro, Tiago; Mendes, José A.; Lopes, Sérgio; Ekpanyapong, M.; Tavares, Adriano
    Nowadays, the growing complexity of embedded systems demands for configurability, variability and reuse. Conditional compilation and object-orientation are two of the most applied approaches in the management of system variability. While the former increases the code management complexity, the latter leverages the needed modularity and adaptability to simplify the development of reusable and customizable software at the expense of performance and memory penalty. This paper shows how C++ TMP (Template Metaprogramming) can be applied to manage the variability of an object-oriented operating system and at the same time get ride out of the performance and memory footprint overhead. In doing so, it will be statically generated only the desired functionalities, thus ensuring that code is optimized and adjusted to application requirements and hardware resources.
    2013 comunicação em conferência Portugal acesso aberto
  10. 10

    Contention-Free Execution of Automotive Applications on a Clustered Many-Core Platform

    Publicação
    por Becker, Matthias
    Outros Autores: Dasari, Dakshina; Nikolic, Borislav; Åkesson, Benny; Nelis, Vincent; Nolte, Thomas
    Next generations of compute-intensive real-time applications in automotive systems will require more powerful computing platforms. One promising power-efficient solution for such applications is to use clustered many-core architectures. However, ensuring that real-time requirements are satisfied in the presence of contention in shared resources, such as memories, remains an open issue. This work presents a novel contention-free execution framework to execute automotive applications on such platforms. Privatization of memory banks together with defined access phases to shared memory resources is the backbone of the framework. An Integer Linear Programming (ILP) formulation is presented to find the optimal time-triggered schedule for the on-core execution as well as for the access to shared memory. Additionally a heuristic solution is presented that generates the schedule in a fraction of the time required by the ILP. Extensive evaluations show that the proposed heuristic performs only 0.5% away from the optimal solution while it outperforms a baseline heuristic by 67%. The applicability of the approach to industrially sized problems is demonstrated in a case study of a software for Engine Management Systems.
    2016 documento de conferência Portugal acesso aberto