the design, implementation, and evaluation of smart: a scheduler for multimedia applications

29
THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS Sistemas Computacionais para Processamento Multimídia Prof. Dr. Marcelo Zancheta do Nascimento Andrei Wellington José Ricardo Mestrado em Engenharia da Informação

Upload: ernie

Post on 19-Mar-2016

25 views

Category:

Documents


1 download

DESCRIPTION

THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS. Sistemas Computacionais para Processamento Multimídia Prof. Dr. Marcelo Zancheta do Nascimento Andrei Wellington José Ricardo Mestrado em Engenharia da Informação. Iremos entender:. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

Sistemas Computacionais para Processamento Multimídia

Prof. Dr. Marcelo Zancheta do Nascimento

Andrei WellingtonJosé Ricardo

Mestrado em Engenharia da Informação

Page 2: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

Iremos entender:

O que é e como funciona o SMART (Scheduling Multimedia Applications Real Time)

Page 3: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

SMART - Introdução

No inicio, os computadores foram utilizados apenas para automação de tarefas e cálculos, mas com o aperfeiçoamento do hardware, as aplicações multimídia de áudio e vídeo estão cada vez mais presentes nos desktops. Estas aplicações podem ser filmes, jogos, gráficos, realidade virtual, etc. Tem havido muita pesquisa e desenvolvimento de recursos que permitam a execução e adoção de novos recursos multimídia. E para apoiar a execução destas aplicações de tempo real em conjunto com as aplicações não tempo real, foi criado o SMART, que nada mais é que um programador de multimídia e aplicações de tempo real.

Page 4: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

SMART - Introdução

O SMART suporta aplicações com restrições de tempo, e fornece feedback dinâmico aos pedidos permitindo que os mesmos se adaptem a carga de trabalho do processador. Além disso, o suporte para aplicações em tempo real é integrado com o apoio de cálculos convencionais, permitindo que o usuário defina o compartilhamento do processador para aplicações que tenham a mesma prioridade.O SMART ajusta a alocação de recursos de forma dinâmica e contínua, realizando cálculos em tempo real e regulando as taxas de execução de tarefas em tempo real quando o sistemaestá sobrecarregado, proporcionando uma melhor relação de trabalho do que em condições normais.

Page 5: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

SMART - Introdução

O SMART foi implementado no sistema operacional Solaris e seu desempenho foi comparado com outros programadores comumente utilizados em pesquisa e prática de execução em tempo real interativo, e aplicações batch. Os resultados experimentais demonstram desempenho superior do SMART, com um enfileiramento mais justo do que o de outros programadores UNIX no suporte a aplicações multimídia.

Page 6: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

SMART - O que é multimídia

Para várias pessoas falar em multimídia é simplesmente falar em um filme de DVD, um clip de vídeo, ou simplesmente ouvir uma música de cd no computador, mas no entanto, multimídia é muito mais do que apenas ser capaz de mostrar um fluxo de vídeo ou um fluxo de áudio. O termo Multimídia como utilizado pela primeira vez em 1962 e significava simplesmente o uso ou o envolvimento de vários meios de comunicação

Page 7: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

SMART - Requisitos para programação do processador multimídia

Para se usar todo o potencial dos recursos multimídia, a importância do software é fundamental. Em todos os exemplos que temos de multimídia, o desempenho do software e do processador é fundamental para execuções em tempo real.Quando múltiplas aplicações são executadas simultaneamente, o processador deverá ter a capacidade de desempenhar um papel importante no agendamento de tarefas e seguir regras que permitam o melhor escalonamento possível.Para entender os requisitos impostos pelas aplicações multimídia no agendamento do processador. Primeiro os autores do artigo descrevem as principais características das aplicações multimídia e do ambiente computacional em que elas são executadas.

Page 8: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

SMART - Requisitos para programação do processador multimídia

Para ajudar a entender o artigo, alguns termos foram usados e são: Atividade para denotar uma entidade escalonável. Um aplicativo pode consistir de uma ou mais atividades. Uma atividade tem um conjunto de atributos associados a ela que pode mudar ao longo do tempo.Em particular, uma atividade é chamada de atividade em tempo real, se a atividade tem alguma exigência de tempo associado a ela. Uma atividade que não tem essa exigência de tempo é chamada de atividade convencional. Quando se executa, uma atividade pode mudar entre ser tempo real ou de natureza convencional.

Page 9: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

Tempo Real

Aplicações como as de multimídia, gráficas e de videoconferência vêm

surgindo com uma grande demanda. Nestes tipos de aplicações, não é apenas

importante que os resultados sejam logicamente corretos; devem ser levados

em conta aspectos como uniformidade na taxa de progresso da aplicação,

eficácia no uso de recursos disponíveis e garantias mínimas de desempenho.

Estas aplicações têm restrições de tempo, mas aceitam que estas sejam

violadas dentro de certos limites estatísticos. Esta característica as classificam

como aplicações de tempo real, cujo aspectos principais são:

Page 10: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

Tempo Real

• Requisitos de Tempo – desempenho da conseqüência de perda do deadline, processos de tempo real são divididos em duas classes:

a) Hard – um processo é dito tempo real hard se o término de uma computação após seu deadline causar conseqüências catastróficas;

b) Soft – um processo é dito tempo real soft se a perda do deadline decrementa a performance do sistema mas não gera conseqüências catastróficas.

Page 11: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

SMART - Características de tempo

Embora existam muitas formas de mídia, eles podem ser divididos em dois tipos que tem características distintas: de tempo contínuo e de tempo discreto. Mídia de tempo contínuo - são dependentes do tempo.Mídia de tempo discreto - são independentes. Exemplos de mídia contínua são áudio digital e vídeo. Exemplos de mídia discreta são textos, imagens e gráficos.Ao contrário da mídia discreta, a mídia contínua tem requisitos temporais inerentes. O fluxo contínuo de mídia é composto por uma seqüência de amostras de mídias, organizadas pelo tempo, tais como amostras de áudio ou frames de vídeo.

Page 12: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

SMART - Características de tempo

A característica distintiva destes dados é que a informação não é expressa apenas nas amostras individuais do fluxo, mas o alinhamento temporal das amostras também. Por exemplo, considere um fluxo de vídeo capturado, mostrando uma bola quicando para cima e para baixo. A taxa de movimento da bola oscilante é codificada no tempo de espaçamento entre os quadros de vídeo.Para reproduzir com precisão o movimento da bola quicando, quando o fluxo de vídeo é apresentado, o tempo decorrido entre os quadros apresentados devem ser o mesmo que o tempo decorrido tempo entre os respectivos quadros, quando eles foram capturados.

Page 13: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

SMART - Características de tempo

Ao assistir um filme, o fluxo de áudio e o fluxo de vídeo precisam ser sincronizados para que o áudio correto seja ouvido quando um determinado frame de vídeo é exibido. Além disso, pode exigir a sincronização entre mídias contínuas e discretas, como no caso de closed caption em que o texto, áudio e vídeo são exibidos juntos. Observe que quando uma mídia independente de tempo é sincronizada com um media dependente do tempo, o resultado é dependente do tempo. Se as amostras de mídia não são tratados na taxa em que eles chegam, então não vai ser possível manter o alinhamento temporal exato das amostras de mídia. Os requisitos de tempo de processamento de mídia contínua são geralmente de natureza cíclica, embora também possam ser aperiódica.

Page 14: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

SMART - Características de carga do sistema

Quando se executam processos multimídia, a carga resultante é geralmente alta e muito dinâmica. As aplicações multimidia, precisam de uma demanda insaciável por recursos. Mesmo com os rápidos avanços na tecnologia de hardware, hoje estações de trabalho estão apenas começando a ser capazes de usar software para mostrar resolução completa (640x480 pixels) com taxa de vídeo full frame (30 frames por segundo). A tecnologia emergente de vídeo HDTV exige muito mais poder computacional. Como as aplicações de vídeo em tempo real são altamente necessitados de recursos e podem consumir uma máquina inteira, os recursos são comumente sobrecarregados com a demanda de recursos superior a sua disponibilidade.

Page 15: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

SMART - Características de carga do sistema

Muito do trabalho que tem sido feito para suportar os requisitos de tempo-real tem sido no contexto de sistemas embarcados em que os requisitos de tempo de aplicação e o ambiente de execução são estáticos e estritamente de natureza periódica. Em contrapartida, o ambiente de computação em que se executam aplicativos de multimídia é altamente de natureza dinâmica. Os usuários podem iniciar ou terminar as aplicações a qualquer momento, alterando a carga no sistema.Os requisitos de processamento de aplicações multimídia em si são muitas vezes altamente dinâmicos também. Embora as amostras de mídia na mídia correntes contínuas ocorrem normalmente em tempo de uma forma periódica, os requisitos para o processamento de amostras de meios de comunicação são por vezes periódicas.

Page 16: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

Example illustrating the behavior of SMART

Page 17: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

SMART - Carga do sistema

Por exemplo, o tempo de processamento para descomprimir ou comprimir JPEG ou MPEG codificados de vídeo podem variar substancialmente de frames de vídeo diferentes. Alternativamente, os requisitos de processamento de uma aplicação multimídia pode variar, dependendo de como ele está sendo usado.

Por exemplo, os requisitos para exibição de um filme em “fast forwarding” são diferentes dos requisitos para se exibir o mesmo filme em velocidade normal.

Page 18: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

Actual vs. estimated execution time per JPEG image

Page 19: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

SMART - Características do usuário

• Diferentes usuários podem ter diferentes preferências de como um mix de aplicações devem se comportar. Por exemplo, quando um sistema está sobrecarregado porque está rodando simultaneamente o NetCam e o Show-MeTV, um usuário pode querer reduzir a qualidade de vídeo do NetCam para liberar recursos que podem ser usados para melhorar a qualidade de exibição do ShowMeTV. Outro usuário pode desejar o comportamento oposto. O comportamento desejado pode depender se o usuário está ativamente engajado em uma sessão do NetCam, ou se o usuário está entediado com a vídeo conferência e prefere assistir ao ShowMeTV. É desejável que o sistema seja suficientemente flexível para permitir que usuários diferentes obtenham o comportamento da aplicação com base nas suas preferências.

Page 20: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

SMART application performance under a changing load when using end user controls

Page 21: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

Comumente os sistemas operacionais multi-programados, são uma evolução do sistema operacional UNIX, a partir do ambiente, multiusuário de grande escala e sistemas de time-sharing. Estes sistemas de compartilhamento de tempo tentam ajustar a execução de todas as aplicações maximizando o rendimento total do sistema. Sem informações explícitas das aplicações, o melhor que pode ser feito é a utilização de heurísticas que usando algoritmos de intuição coletam algumas propriedades de aplicações, desde o seu comportamento e assim ajustam a alocação de recursos de uma forma a fornecer os resultados desejados.

SMART - As limitações dos sistemas operacionais comerciais

Page 22: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

Na tentativa de suportar aplicações com requisitos de tempo-real no contexto de um ambiente de computação, a AT & T desenvolveu o UNIX System V Release 4 (SVR4), que foi projetado para incluir um agendador de prioridade real-time estático, além de um padrão UNIX de time-sharing.

Um usuário pode indicar para o sistema operacional que o pedido tem requisitos de tempo que devem ser cumpridas classificando o aplicativo como um aplicativo em tempo real e atribuindo-lhe um valor prioritário.

SMART - As limitações dos sistemas operacionais comerciais

Page 23: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

Ao executar todas as atividades em ordem de prioridade, o UNIX SVR4 permite que as atividades em tempo real obtenham ciclos de processamento quando necessário para satisfazer as suas necessidades de tempo. Esta solução pretende oferecer suporte do sistema robusto para aplicações multimídia, permitindo que aplicações como os que manipulam áudio e vídeo possam ser atendidos pelo programador em tempo real.

Desde então o UNIX SVR4 é uma base comum de sistemas operacionais comerciais, sendo importante investigar estas afirmações. Portanto, temos usado um sistema UNIX SVR4 base para examinar o real desempenho das aplicações multimídia.

SMART - As limitações dos sistemas operacionais comerciais

Page 24: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

Não são apenas as latências que são muito pior do que o desejado, mas patologias ocorrem com o scheduler de tal forma que o sistema já não aceita entrada do usuário. Para aliviar alguns destes problemas, uma série de modificações foram feitas no scheduler do UNIX SVR4 para compartilhamento do tempo.

Enquanto a modificação do compartilhamento de tempo no scheduler não é muito eficaz, estas alterações não resultam em uma notável melhoria no desempenho para aplicações multimídia. O scheduler de compartilhamento de tempo no sistema operacional Solaris da Sun, a partir da versão 2.3 e posteriores, baseia-se nas modificações descritas no artigo em questão.

SMART - As limitações dos sistemas operacionais comerciais

Page 25: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

SMART- Performance

Para avaliar a eficácia do SMART, realizou-se uma série de experimentos com o protótipo rodando microbenchmarks bem como com aplicações comerciais reais.

Devido à complexa interação entre aplicativos e sistemas operacionais de uso geral, temos uma ênfase na avaliação do SMART com aplicações reais em um ambiente de sistema totalmente funcional.

Page 26: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

Comparison of scheduler application performance

Page 27: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

SMART- Performance

Os experimentos foram realizados utilizando-se uma máquina padrão.

Foram utilizadas 10 estações de trabalho com um único processador de 150 MHz SPARC, 64 MB de memória principal, e 78 GB de espaço em disco local. O sistema inclui uma testbed padrão de 8 bits pseudo-frame de buffer (ou seja, GX).

A exibição foi gerido com o X Window System e o Sistema operacional Solaris 2.5.1 foi utilizado como base para o trabalho experimental.

Page 28: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

Distributions of quality metrics

Page 29: THE DESIGN, IMPLEMENTATION, AND EVALUATION OF SMART: A SCHEDULER FOR MULTIMEDIA APPLICATIONS

Este trabalho objetivou criar um algoritmo para aumentar o desempenho de sistemas que tratam de aplicações multimídia e de tempo real.Garantindo assim uma melhora na performance e tratamento adequado para execução dos processos de tempo real.O SMART ajusta a alocação de recursos de forma dinâmica e contínua, realizando cálculos em tempo real e regulando as taxas de execução de tarefas em tempo real quando o sistemaestá sobrecarregado, proporcionando uma melhor relação de trabalho do que em condições normais.

SMART - Conclusão