Enviar mensagem

Notícia

March 11, 2021

Memória Domínio-específica

a computação Domínio-específica pode ser toda a raiva, mas está evitando o verdadeiro problema.

O interesse mais grande é as memórias que estrangulam o desempenho do processador, consomem mais poder, e pegam a maioria de área da microplaqueta. As memórias precisam de quebrar livre das estruturas rígidas preferidas por software existente. Quando os algoritmos e a memória são projetados junto, as melhorias no desempenho são significativas e processar pode ser aperfeiçoado.

o processamento Domínio-específico foi popularizado pela leitura 2018 de Turing, “uma época dourada nova para a arquitetura informática,” por John Hennessy e por David Patterson. Mas os processadores foram forçados pela memória por décadas. O processamento em mudança sem uma reconsideração da memória e das hierarquias de memória ignora a lei de Amdahl, que fornece um relacionamento matemático entre acelera possível para um sistema quando determinadas partes desse sistema são melhoradas. Di-lo basicamente obter retornos de diminuição se você se concentra somente em uma parte do sistema um pouco do que olhando o sistema no conjunto.

Assim porque não se concentrar no gargalo? “a memória Domínio-específica é apenas um termo novo, mas os arquitetos têm feito estes tipos das otimizações por muito tempo,” diz Prasad Saggurti, diretor de marketing de produto em Synopsys. “E se não têm, estão faltando um truque porque a maioria de povos o têm feito.”

Outro concordam. “Recorde as memórias video — GOLE com registros de deslocamento incorporados?” pergunta a Michael Frank, ao companheiro e ao arquiteto do sistema no IP de Arteris. “Talvez GDDR [1-5], memórias de etiqueta especiais do esconderijo, ou memórias associativas para trás nos dias de TTL? Muito estes não sobreviveram realmente porque sua funcionalidade era demasiado específica. Visaram um dispositivo original. Você precisa um grande bastante domínio, e você está lutando contra o baixo custo da GOLE de hoje, que tem o benefício do volume alto e da fabricação em grande escala.”

Às vezes vai mais profundo do que aquele. “Você pôde hardwire algo em uma ROM,” diz o Saggurti de Synopsys. “O que nós estamos vendo é mais pessoa que ajusta a memória hoje. Por exemplo, com um Fourier transforme, ou um Z transforma, povos escreveria o código de tal maneira que você podia armazenar os coeficientes em alguma ordem. Quando você está fazendo uma multiplicação da matriz, você pode armazenar os coeficientes em alguma ordem de modo que a ler para fora seja mais rapidamente. Você não pode armazenar dados em uma memória, em lugar de, pondo a em três ou quatro memórias diferentes de modo que você pudesse ler coisas através dos trajetos de dados múltiplos. Estes tipos das coisas têm acontecido mais recentemente.”

A mudança é dura. “O desafio está aquele no passado, os povos tiveram um agradável, modelo abstrato para pensar sobre sistemas de computação,” diz Steven Woo, o companheiro e distinto inventor em Rambus. “Nunca realmente tiveram que pensar sobre a memória. Veio avante para livre e o modelo de programação fez lhe tal aquele quando você fez referências à memória, ele apenas aconteceu. Você nunca teve que ser explícito sobre o que você fazia.”

O progresso está sendo feito no desempenho geral da memória. “Os controladores de hoje da memória e os padrões de relação avançados melhoraram dramaticamente o que você pode extrair de tecnologia avançada do silicone,” dizem o Frank de Arteris. “Isto permitiu filas profundas e planificadores avançados. Tecnologias de memória avançadas, tais como a memória alta da largura de banda (HBM), e empilhado para morrer larguras de banda do apoio que nós pensamos impossível conseguir apenas uma década há. Contudo não vem barato. As tecnologias de Sub-10 nanômetro igualmente permitem grandes esconderijos, tão talvez nós podem chamar a memória domínio-específica deste pobre homem.”

Mas estes são todos os exemplos de mudanças incrementais pequenas. De “os subsistemas da memória Architecting em que o cálculo segue primeiramente dados, um pouco do que a outra maneira ao redor, exigem uma reconsideração significativa de muitos preceitos que os arquitetos estão acostumados a,” dizem Matt Horsnell, coordenador principal superior da pesquisa para o grupo da investigação e desenvolvimento do braço. “Há uma oportunidade de aumentar a abstração de programação, da lista típica de hoje de operações em dados, a um formulário expandido que encapsule a concorrência e a alguma noção das distâncias relativas entre unidades do cálculo e artigos de dados. Tais abstrações poderiam permitir as transformações necessárias a mais otimamente de visar memórias específicas do domínio quando os algoritmos estão evoluindo rapidamente.”

Centros de dados no assento de motorista
Os centros de dados são os motoristas para muitas tendências de tecnologia hoje. “Um dos pedidos os mais de crescimento rápido para o cálculo é nos centros de dados onde as aplicações de software imploram mais capacidade de memória, largura de banda na mais baixa latência,” diz Ravi Thummarukudy, CEO para Mobiveil. “Com o advento do padrão do setor o mais atrasado, da relação expressa do cálculo (CXL), dos arquitetos do sistema podem a série a memória necessária entre a memória central em DDRn DIMMS, e as memórias persistentes CXL-baseadas de DDRn ou mais novas. A latência e as características econômicas destas séries de memórias são diferentes, e aquela dá a arquitetos opções para misturar e combinar as memórias para serir suas exigências.”

Aquela é uma continuação das arquiteturas da memória do legado. “Muitos OEMs e casas de sistema estão projetando seu próprio SoCs personalizar o silicone a suas cargas de trabalho específicas,” diz Tim Kogel, coordenador de aplicações principal em Synopsys. “A oportunidade a mais grande para ganhos do desempenho e do poder é a especialização da hierarquia de memória junto com a arquitetura de apoio da interconexão.

Considere o poder. “Nas arquiteturas atuais, 90% da energia para cargas de trabalho do AI é consumido pelo movimento de dados, transferindo os pesos e ativações entre a memória externo, esconderijos da em-microplaqueta, e finalmente ao elemento de computação próprio (para ver figura 1),” diz Arun Iyengar, CEO de Untether AI. “Somente centrando-se sobre as necessidades para a aceleração da inferência e maximizando a eficiência de poder somos nós capazes de entregar desempenho computacional inaudito.”

A otimização da memória é um problema do sistema-nível que toque em todos os aspectos do projeto — hardware, software, e ferramentas. As “estratégias para aperfeiçoar a memória são diversas e dependem do domínio da aplicação,” adiciona Kogel. “A melhor estratégia é evitar completamente o acesso de memória da fora-microplaqueta. Para arquiteturas domínio-específicas, isto pode tipicamente ser conseguido aumentando a memória disponível da em-microplaqueta, ou sob a forma dos esconderijos ou a aplicação controlou a memória. Especialmente na área de aceleradores de aprendizagem profundos, a memória disponível da em-microplaqueta é um parâmetro de projeto decisivo que igualmente impacte como a aplicação da rede neural é compilada no hardware do alvo — por exemplo, a telha do operador da convolução.”

Muitos projetos estão olhando para ir mais do que este. “os conceitos Domínio-específicos da memória estão sendo explorados no domínio espacial do cálculo,” diz o Horsnell do braço. “Como um exemplo, DSPs tende a fornecer uma associação de memórias distribuídas, controlada frequentemente diretamente no software, que pode ser um ajuste melhor para as exigências da largura de banda e os testes padrões do acesso de aplicações especializadas do que sistemas tradicionais da compartilhar-memória. A fim construir uma ponte sobre a diferença da eficiência com fixo-função ASICs, estes processadores oferecem frequentemente algum formulário da especialização da memória fornecendo o apoio direto para testes padrões específicos do acesso (tais como a N-proteção, o FIFOs, a linha amortecedores, compressão, etc.). Um aspecto crucial da orquestração dentro destes sistemas, e um desafio em projetá-los, estão determinando a granulosidade direita para os acessos de dados, que podem minimizar despesas gerais de uma comunicação e da sincronização enquanto maximizando a concorrência ao mesmo tempo. Outros desafios persistem, incluindo a programação, a coerência, a sincronização, e a tradução, que adicionam a complexidade do software. Contudo, uma rota possível é para a frente confiar nas línguas domínio-específicas (DSLs), que fazendo o fluxo de dados dos apps mais explícito, pode permitir compiladores de identificar testes padrões especializados do acesso de memória e os traçar no hardware mais eficazmente.”

Igualmente paga para olhar um olhar mais atento as memórias ele mesmo. a “Hyper-personalização é a tendência que nós vemos quando se trata das memórias,” diz Anand Thiruvengadam, gerente de marketing de produto do pessoal superior dentro de Synopsys. “Isto significa memórias finalidade-construídas para aplicações diferentes do fim. Mesmo dentro de uma aplicação particular do fim como o AI há umas necessidades diferentes para memórias, como para a formação ou inferencing, inferencing nos servidores, ou inferencing na borda distante. Cada um destas aplicações tem exigências diferentes, e aquela significa que você tem que personalizar as memórias. Esta personalização significa que você já não pode ver memórias como mercadorias ou produtos disponíveis imediatamente. Você tem que construi-la para uma aplicação particular. Isso é o lugar aonde o molho secreto retrocede dentro.”

Em muitos casos a memória e a interconexão são acopladas firmemente. “Qualquer coisa vai quando se trata de combinar tecnologias da memória e da interconexão para satisfazer as exigências do acesso de dados de cargas de trabalho da aplicação — por exemplo, níveis múltiplos de aglomeração que combinam que processam com a memória local para aproveitar-se da localidade em aplicações do fluxo de dados, ou microplaqueta multi-depositada/multi-movida SRAMs enorme para mapas de proteção da característica de aceleradores do CNN, e de hierarquias profundas do esconderijo com protocolos sofisticados da coerência para abrandar o grupo de trabalho morno de cargas de trabalho do centro de dados.”

As pequenas alterações podem render resultados grandes. “Apenas olhar no milagre pequeno que Apple executou com o M1,” diz Frank. “Figuraram para fora como ao arquiteto um subsistema da memória que servisse mestres heterogêneos múltiplos bem, usando a estratégia pondo em esconderijo inteligente e um enorme, a hierarquia do esconderijo do multi-nível.”

É tão frequentemente o caso, software é a âncora com inércia. “O que acontece geralmente há está um algoritmo no lugar, e nós vemos uma maneira da aperfeiçoar, aperfeiçoamos a memória, de modo que o algoritmo seja executado muito melhor,” dizemos Saggurti. “Em outros lado, nós temos estes tipos diferentes de memória. Pode você mudar seu algoritmo para utilizar estes tipos novos das memórias? No passado, usar TCAMs era na maior parte uma construção do domínio dos trabalhos em rede para olhar acima IP address. Mais recentemente, os motores do treinamento estão começando usar TCAMs, e aquela é uma aproximação tão diferente. Isto precisa o software, ou os firmware de mudar baseado nos tipos de memórias disponíveis. Mas na maioria das vezes, o software fica mudanças fixas e da memória para fazer a aplicação resultante melhor.”

Conscientização da taxa de transferência
Muito tempo e dinheiro está sendo investido na inteligência artificial atualmente. As microplaquetas feitas sob encomenda são forçadas pela taxa de transferência, e aquela está pondo o projetor sobre a memória e a interconexão.

“Historicamente, a memória e as arquiteturas da interconexão foram projetadas baseadas em planilhas estáticas ou modelos analíticos simples como o modelo de desempenho do roofline,” diz Kogel. “Para aplicações avançadas, esta torna-se consideravelmente complexo. Por exemplo, prever as exigências de memória de cada camada em um CNN exige a consideração da otimização de compilador como a fusão telhar e de camada. Estes métodos estáticos tornam-se ilogicamente complexos e imprecisos para a previsão e a otimização de cargas de trabalho do SoC-nível com subsistemas diversos do IP e encenações dinâmicas da aplicação. Por outro lado, correr a aplicação sobre a emulation do hardware ou um sistema da criação de protótipos está demasiado tarde no processo de desenvolvimento para fazer todas as mudanças drásticas ou otimização principal do projeto da memória.”

Isso põe o foco sobre as cargas de trabalho pretendidas. “A chave aos subsistemas eficientes da memória é o conhecimento de sua carga de trabalho,” diz Frank. “Compreendendo como se comporta, talvez dando forma mesmo a lhe em uma maneira que faça mais compatível com a limitação de sua hierarquia de memória, isto é o lugar onde a arquitetura é desafiada. Os aceleradores específicos do domínio exigem sistemas de memória ajustados — e a arte de construir o motor da transformação que a ‘impedância’ combina o produzido em massa, a GOLE organizada, bursty da página do acesso e o teste padrão do acesso do motor exige a introspecção no comportamento de sistema, modelando ferramentas e muitas cargas de trabalho para jogar com. Às vezes toma a mudança da maneira que a carga de trabalho processa os dados para poder melhorar o sistema total. Um bom exemplo era a transição da rendição ‘direta’ ao processamento telha-baseado em GPUs.”

Todo vem para baixo à modelagem e à simulação. “Nós propomos o uso de ferramentas virtuais da criação de protótipos modelar a carga de trabalho da aplicação, junto com modelos exatos do transação-nível da arquitetura da interconexão e da memória,” diz Kogel. “Esta ‘aproximação quantitativa da arquitetura primeiramente’ permite a análise de trocas adiantada, tendo por resultado uma especificação segura da aplicação. Às expensas do esforço adicional da modelagem e da simulação, o benefício é risco reduzido de faltar alvos do desempenho e do poder, ou custo reduzido de overdesigning o hardware apenas para estar no lado seguro. Na era de retornos de diminuição da lei de Moore, a oportunidade é sair com um produto mais aperfeiçoado e mais diferenciado.”

Isso permite que o impacto de mudanças algorítmicas seja visto, também. “Há uma necessidade de ir para trás e para remodelar os algoritmos,” diz Thiruvengadam. “Podem remodelar para as arquiteturas tradicionais da memória do legado, ou podem ser remodelados para arquiteturas novas, estilos novos das memórias, sabores novos da memória. Há este impulso constante para a escamação do desempenho, custo que escala, e igualmente podendo equilibrar as trocas para as aplicações diferentes. Esta é essencialmente a razão pela qual você está vendo o desenvolvimento continuado de MRAMs e de FeRAMs. Estão tentando encontrar no mínimo um ponto doce um par variáveis, se não todas as variáveis. A necessidade para remodelar algoritmos junto com as arquiteturas da memória está tornando-se certamente importante.”

O equilíbrio é necessário. “Você precisa de pensar sobre o conceito da intensidade computacional e o tipo de operações envolvidas,” diz Frank. “Determinados algoritmos têm exigências insaciáveis da largura de banda, quando outro moverem somente relativamente pequenas quantidades de dados mas para executar milhares de operações nele. a operação da Em-memória pode trabalhar bem para o SIMD-tipo que processa, onde a largura de banda da instrução é pequena relativo à largura de banda de dados e muitos elementos são processados usando a mesma receita. Mas assim que houver umas dependências sequenciais no córrego de dados ou no fluxo de dados irregular, o benefício de psiquiatras específicos da memória do domínio.”

Memória feita sob encomenda
Quando as mudanças arquitetónicas puderem produzir grandes resultados, aperfeiçoar as memórias pode igualmente fornecer ganhos. “Uma grande proporção do poder e da área de aceleradores de hoje é usada na memória,” diz Horsnell. “Tão todas as melhorias da latência/densidade/energia conseguidas por tecnologias de memória novas podiam ter um impacto dramático.”

As memórias feitas sob encomenda são grande negócio tornando-se. “Você começa ver coisas como o cálculo da em-memória, cálculo da próximo-memória, as memórias específicas que puderam ser escrever-toda-zero memória — memórias que são com certeza tipos aperfeiçoados de operações,” diz Saggurti. “Nós estamos vendo muitos clientes pedir nos sobre MRAM, ainda mais personalização de SRAMs, TCAMs, e determinadas emendas ao TCAMs.”

As dificuldades permanecem, embora. “Eu tive muitas discussões em relação aos projetos feitos sob encomenda da memória, onde processando na memória morro seria arquitetura ‘ideal uma’,” diz Frank. “Forneceria a largura de banda alta, a baixa latência, etc. Tudo era direito, à exceção do fato, que o processo da memória limitava que lógica poderia ser integrada — três ou quatro camadas do metal, baixa potência, mas transistor lentos. Isso significou a incapacidade para o motor do cálculo. Sacrificar a velocidade de relógio e a complexidade de circuito fez de repente à integração do motor do cálculo já não uma escolha tão boa.”

Mas algumas destas mudanças tornar-se-ão necessárias. Os “povos querem trazer o flash na microplaqueta e para fazer-lhe um flash encaixado,” diz Saggurti. “Então a pergunta torna-se, ‘é mesmo possível? ‘Em 28nm você pôde poder fazer o flash encaixado, mas os povos começam pensar sobre coisas como MRAM em 22nm.”

Ainda, há outras maneiras de olhar o problema. Do “variabilidade processo através de uma bolacha e através do dado, e mesmo ao longo do tempo, projeto da memória do limite,” adiciona Saggurti. “Quando você projeta uma memória, SRAM simples, você tende a projetar para o caso quando a pilha mordida vai uma maneira — lento — e a periferia vai a outra maneira — rapidamente. Se você projeta para aquele, e se a maioria de seu silicone é típica, você está deixando muitos desempenho e poder na tabela. Se você compreende onde você está na escala do processo e permite o desenhista de microplaqueta de atuar em cima dessa informação, a seguir você pode ajustar o sincronismo em conformidade. Seu projeto poderia ser mais ótimo, e você não tem que projetar para o pior caso.”

Conclusão
Quando a memória for sempre umas trocas de projeto, nunca recebeu o mesmo nível de atenção como o processamento, mesmo que fosse o limitador do desempenho em termos da largura de banda, do poder, e da área. O AI está causando arquiteturas da memória da reconsideração dos povos em caso de necessidade, mas com essa atenção extra, equipes de projeto pode igualmente a reconsideração alguns do software e dos algoritmos que foram aperfeiçoadas para sistemas de memória do legado. Em um mundo aonde os ganhos do desempenho não venham por livre cada 18 meses, umas medidas mais extremas estão transformando-se a única maneira de parar produtos das mercadorias tornando-se. (de Brian Bailey)

Contacto