Mudanças entre as edições de "PARV"
Andrekhorie (disc | contribs) (→Arquitetura de Hardware) |
m (Foram revertidas as edições de 178.239.58.144 (disc) para a última versão por Ewout) |
||
(14 edições intermediárias de 5 usuários não apresentadas) | |||
Linha 1: | Linha 1: | ||
+ | ==Usando o Wiki...== | ||
+ | * Dicas de Formatação de Wiki [http://wiki.stoa.usp.br/Dicas_de_formata%C3%A7%C3%A3o aqui]! | ||
+ | * LaTeX (<math>\int_{0}^{2} x^{2} dx</math>) agora está habilitado de novo! > Obrigado! | ||
+ | |||
==Idéias== | ==Idéias== | ||
* Usar o conceito de [http://en.wikipedia.org/wiki/Entropy entropia] poderia ajudar? | * Usar o conceito de [http://en.wikipedia.org/wiki/Entropy entropia] poderia ajudar? | ||
* Claude Shannon definiu [http://en.wikipedia.org/wiki/Information_entropy entropia na teoria da informação]. Será que não poderia ser útil? | * Claude Shannon definiu [http://en.wikipedia.org/wiki/Information_entropy entropia na teoria da informação]. Será que não poderia ser útil? | ||
* Tratar da Complexidade em âmbito global, e não de sistemas computacionais individuais | * Tratar da Complexidade em âmbito global, e não de sistemas computacionais individuais | ||
− | * Definição de complexidade em software <ref>[http://portal.acm.org/citation.cfm?doid=7538.7540 Software | + | * Definição de complexidade em software <ref>[http://portal.acm.org/citation.cfm?doid=7538.7540 KEARNEY, J. P. et al. Software complexity measurement. Commun. ACM, ACM, New York, NY, EUA, v. 29, n. 11, p. 1044–1050, 1986. ISSN 0001-0782.]</ref> |
− | * Complexidade em Sistemas Distribuídos <ref>[http://portal.acm.org/citation.cfm?id=1276875.1276881&coll=&dl=ACM | + | * Complexidade em Sistemas Distribuídos <ref>[http://portal.acm.org/citation.cfm?id=1276875.1276881&coll=&dl=ACM RANGANATHAN, A.; CAMPBELL, R. H. What is the complexity of a distributed computing system? Complex., John Wiley & Sons, Inc., New York, NY, USA, v. 12, n. 6, p. 37–45, 2007. ISSN 1076-2787.]</ref> |
* Se valores numéricos absolutos forem difíceis de se achar, calcular dC/dt e integrar. | * Se valores numéricos absolutos forem difíceis de se achar, calcular dC/dt e integrar. | ||
* Para conclusão, não saberemos se o resultado obtido realmente condiz com a realidade futura, uma vez que a base de dados histórica é muito pequena. Por exemplo, se a complexidade tiver tendência exponencial nesses 50, 60 primeiros anos de Computação, mas daqui a 200 anos assumir um caráter estacionário? | * Para conclusão, não saberemos se o resultado obtido realmente condiz com a realidade futura, uma vez que a base de dados histórica é muito pequena. Por exemplo, se a complexidade tiver tendência exponencial nesses 50, 60 primeiros anos de Computação, mas daqui a 200 anos assumir um caráter estacionário? | ||
+ | |||
+ | ===Brainstorm=== | ||
+ | * Está "desempregando" vs. QI "desempregado" | ||
+ | ** E.g., Gerentes substituídos | ||
+ | * MIPS | ||
+ | * Quantidade de Processos (Business Process) envolvido | ||
+ | * Medida da inflação (financeira) para o tempo | ||
+ | ** E calcular tempo economizado. | ||
+ | ** I.e., monetarizar o tempo economizado | ||
+ | * Nível de abstração dos requisitos e aplicações | ||
+ | * Quantidade de safety envolvido nos projetos | ||
+ | ** Algo como transferência de responsabilidades | ||
+ | * Flexibilidade/Dinâmica requisitada | ||
+ | ** Por exemplo, autômatos adaptativos | ||
+ | ** Por exemplo, mudar um endereço numa ficha cadastral "na hora" | ||
+ | * Auditoria dos processos | ||
+ | ** Quanto mais simples o processo e mais fácil auditar | ||
+ | * Responsabilidades | ||
+ | ** "Fiscais" - caixa de supermercado | ||
+ | ** Safety | ||
+ | ** Security | ||
+ | ** Acurácia | ||
+ | * Ajuste à realidade | ||
+ | ** Computação Gráfica | ||
+ | ** Processamento Paralelo | ||
+ | ** Processamento em Tempo Real | ||
+ | * Facilidade de uso (usabilidade) | ||
+ | * Inferência de contextos | ||
+ | * Inferência do futuro (ter feeling de situações) | ||
+ | * Confiança do usuário no sistema | ||
+ | * Número de (correção de) falhas | ||
+ | * Originalidade do sistema (quantos existem com funções parecidas?) | ||
+ | * Independência/Inter-relação dos dados e sistemas | ||
+ | * Porque é difícil projetar um piloto automático? | ||
+ | ** Segurança (Safety) | ||
+ | ** Acurácia | ||
+ | ** Tempo de Resposta | ||
+ | ** Adaptabilidade (não acelerar mais que o motorista costuma) | ||
+ | ** Fácil ligar e desligar (usabilidade) | ||
+ | ** Visão espacial (curvas, carro a frente, etc...) | ||
+ | ** Capacidade de Decisão | ||
+ | *** Qual dos lados deve "jogar" o carro? | ||
+ | *** Inferência do futuro | ||
+ | ** Responsabilidade ("jurídica") | ||
+ | ** Confiança do usuário no sistema | ||
+ | |||
+ | |||
==Introdução== | ==Introdução== | ||
Linha 37: | Linha 88: | ||
''Estes valores são proporcionais?'' | ''Estes valores são proporcionais?'' | ||
− | Contudo, deve-se observar que a arquitetura de hardware possui escopo local, como já mencionado anteriomente. Para transpor este valor para um âmbito global, assume-se uma proporção direta entre o aumento de complexidade e o aumento de custo de produção. Dado o custo total de produção como | + | Contudo, deve-se observar que a arquitetura de hardware possui escopo local, como já mencionado anteriomente. Para transpor este valor para um âmbito global, assume-se uma proporção direta entre o aumento de complexidade e o aumento de custo de produção. Dado o custo total de produção como <math>C_T(Q)=C_F+C_V=C_F+Q \cdot C_{Mg}</math>, onde <math>C_T</math> é o custo total, <math>C_F</math> é o custo fixo, <math>C_V</math> é custo variável, <math>Q</math> é a quantidade produzida e <math>C_{Mg}</math> é o custo marginal. Portanto, a complexidade da arquitetura de hardware global é dada por <math>\mathbb{C}_{HW}=f(Q)\cdot \mathbb{C}_{HW, local}</math>, sendo este <math>f(Q)</math> um fator de aumento linear da complexidade em função da quantidade produzida (portanto, proporcional a <math>C_T</math>). |
====Arquitetura de Software==== | ====Arquitetura de Software==== | ||
Linha 47: | Linha 98: | ||
===Modelo Matemático=== | ===Modelo Matemático=== | ||
+ | Juntar todas as fórmulas, aplicando pesos a cada valor. | ||
==Aplicação de Modelo== | ==Aplicação de Modelo== | ||
Linha 52: | Linha 104: | ||
===Dados Históricos=== | ===Dados Históricos=== | ||
− | === | + | ====Arquitetura de Hardware==== |
− | + | * Ver [http://pt.wikipedia.org/wiki/MIPS_(medida) Tabela da evolução dos processadores (em MIPS e frequência de clock)]. | |
− | === | + | ====Arquitetura de Software==== |
+ | |||
+ | ====Arquitetura de Rede==== | ||
+ | |||
+ | ====Arquitetura de Informação==== | ||
+ | |||
+ | ===Curva de Complexidade=== | ||
==Conclusão== | ==Conclusão== | ||
− | == | + | ===Avaliação do Modelo=== |
− | + | Avalia o modelo proposto. | |
+ | |||
+ | ===Avaliação da Curva de Complexidade=== | ||
+ | Avalia o resultado atingido com o modelo. | ||
==Referências== | ==Referências== | ||
+ | <references/> | ||
+ | |||
+ | ==Outras Referências== | ||
* [http://www.freepatentsonline.com/7177774.html System and methods for quantitatively evaluating complexity of computing system configuration] | * [http://www.freepatentsonline.com/7177774.html System and methods for quantitatively evaluating complexity of computing system configuration] | ||
* [http://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel3/4906/13521/00622318.pdf?temp=x Problem complexity; Jackson, M.; IEEE Xplore] | * [http://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel3/4906/13521/00622318.pdf?temp=x Problem complexity; Jackson, M.; IEEE Xplore] | ||
* [http://www.freepatentsonline.com/70162874.html Method and computer system for evaluating the complexity of a user interface] | * [http://www.freepatentsonline.com/70162874.html Method and computer system for evaluating the complexity of a user interface] | ||
* [http://ee.stanford.edu/~gray/it.pdf Entropy and Information Theory; Robert M. Gray; Stanford University] | * [http://ee.stanford.edu/~gray/it.pdf Entropy and Information Theory; Robert M. Gray; Stanford University] | ||
− | |||
− | |||
− |
Edição atual tal como às 22h22min de 12 de novembro de 2010
Conteúdo[ocultar] |
[editar] Usando o Wiki...
- Dicas de Formatação de Wiki aqui!
- LaTeX (
) agora está habilitado de novo! > Obrigado!
[editar] Idéias
- Usar o conceito de entropia poderia ajudar?
- Claude Shannon definiu entropia na teoria da informação. Será que não poderia ser útil?
- Tratar da Complexidade em âmbito global, e não de sistemas computacionais individuais
- Definição de complexidade em software [1]
- Complexidade em Sistemas Distribuídos [2]
- Se valores numéricos absolutos forem difíceis de se achar, calcular dC/dt e integrar.
- Para conclusão, não saberemos se o resultado obtido realmente condiz com a realidade futura, uma vez que a base de dados histórica é muito pequena. Por exemplo, se a complexidade tiver tendência exponencial nesses 50, 60 primeiros anos de Computação, mas daqui a 200 anos assumir um caráter estacionário?
[editar] Brainstorm
- Está "desempregando" vs. QI "desempregado"
- E.g., Gerentes substituídos
- MIPS
- Quantidade de Processos (Business Process) envolvido
- Medida da inflação (financeira) para o tempo
- E calcular tempo economizado.
- I.e., monetarizar o tempo economizado
- Nível de abstração dos requisitos e aplicações
- Quantidade de safety envolvido nos projetos
- Algo como transferência de responsabilidades
- Flexibilidade/Dinâmica requisitada
- Por exemplo, autômatos adaptativos
- Por exemplo, mudar um endereço numa ficha cadastral "na hora"
- Auditoria dos processos
- Quanto mais simples o processo e mais fácil auditar
- Responsabilidades
- "Fiscais" - caixa de supermercado
- Safety
- Security
- Acurácia
- Ajuste à realidade
- Computação Gráfica
- Processamento Paralelo
- Processamento em Tempo Real
- Facilidade de uso (usabilidade)
- Inferência de contextos
- Inferência do futuro (ter feeling de situações)
- Confiança do usuário no sistema
- Número de (correção de) falhas
- Originalidade do sistema (quantos existem com funções parecidas?)
- Independência/Inter-relação dos dados e sistemas
- Porque é difícil projetar um piloto automático?
- Segurança (Safety)
- Acurácia
- Tempo de Resposta
- Adaptabilidade (não acelerar mais que o motorista costuma)
- Fácil ligar e desligar (usabilidade)
- Visão espacial (curvas, carro a frente, etc...)
- Capacidade de Decisão
- Qual dos lados deve "jogar" o carro?
- Inferência do futuro
- Responsabilidade ("jurídica")
- Confiança do usuário no sistema
[editar] Introdução
[editar] Objetivos
Este trabalho tem por objetivo analisar a complexidade em sistemas computacionais em um âmbito global e evolutivo através da definição de uma metodologia, identificando-se métricas relevantes para o cálculo da curva de complexidade. Aplicando-se o modelo proposto, espera-se verificar a tendência da complexidade em função do tempo.
[editar] Conceitos Teóricos
Para um estudo sobre a complexidade de sistemas computacionais, vê-se a necessidade de se definir o conceito de complexidade, para então reduzir esta definição ao escopo de sistemas computacionais e, assim, poder considerar os aspectos relevantes para a criação do modelo.
[editar] Complexidade
Warren Weaver, em seu artigo "Science and Complexity" (1948) [3], introduziu o conceito de complexidade na litetura científica como o grau de dificuldade de se prever as propriedades de um sistema se as propriedades de cada parte for dada. Classifica-se então a complexidade sistêmica em organizada e desorganizada. Os sistemas de complexidade desorganizada caracterizam-se pelo número elevado de variáveis e pelo seu comportamento caótico, embora as propriedades do sistema como um todo possam ser entendidas utilizando-se métodos probabilísticos e estatísticos. A complexidade organizada, por outro lado, refere-se a interações entre as partes constituintes do sistema, sendo o comportamente deste redutíveis às interações, e não às propriedades das partes elementares. A visão proposta por este artigo influenciou fortemente o pensamento contemporâneo acerca da complexidade.
Empiricamente, observa-se que uma proporção alta dos sistemas complexos encontrados na natureza possuem uma estrutura hierárquica. Em teoria, espera-se que qualquer sistema complexo seja hierárquico, tendo como a decomposição uma propriedade de sua dinâmica [4]. Esta simplifica tanto o estudo do comportamento como a descrição desses sistemas.
Em 1988, Seth Lloyd afirma que a complexidade de uma propriedade física de um objeto é função processo ou conjunto de processos responsáveis por sua criação [5]. Em outras palavras, a complexidade é uma propriedade da evolução de um estado, e não do estado em si. Consequentemente, uma medida da complexidade deve classificar sistemas em estados aleatórios como de baixa complexidade, e quantificar a evolução deste sistema para seu estado final.
[editar] Organização de Sistemas Computacionais
O termo "arquitetura" é amplamente utilizado para se referir à estrutura na qual um sistema é organizado. Em Tecnologia da Informação, sistemas computacionais são representados pela arquitetura de hardware, de software, de rede e de informação [6]. Em relação ao escopo coberto por cada uma delas, observa-se que a arquitetura de hardware é essencialmente local, sendo assim definido para apenas um nó do sistema, enquanto as arquiteturas de rede e de informação requerem necessariamente a interação entre diversos componentes. A arquitetura de software, no entanto, pode tanto indicar a organização do software em apenas um componente como também em diversos componentes distribuídos, quando aplicável. Esta decomposição vê-se necessária para melhor endereçar a complexidade de cada vertente de um sistema computacional.
[editar] Definição de Modelo
[editar] Variáveis Relevantes
A seguir serão apresentadas as variáveis relevantes para o modelo de complexidade em termos globais.
[editar] Arquitetura de Hardware
Valores representativos para o cálculo de complexidade relacionada à arquitetura de hardware incluem métricas normalmente utilizadas para benchmarks, como por exemplo o número de instruções por segundo do processador, a capacidade de armazenamento das memórias de acesso aleatório, cache e do disco rígido.
Estes valores são proporcionais?
Contudo, deve-se observar que a arquitetura de hardware possui escopo local, como já mencionado anteriomente. Para transpor este valor para um âmbito global, assume-se uma proporção direta entre o aumento de complexidade e o aumento de custo de produção. Dado o custo total de produção como , onde
é o custo total,
é o custo fixo,
é custo variável,
é a quantidade produzida e
é o custo marginal. Portanto, a complexidade da arquitetura de hardware global é dada por
, sendo este
um fator de aumento linear da complexidade em função da quantidade produzida (portanto, proporcional a
).
[editar] Arquitetura de Software
[editar] Arquitetura de Rede
[editar] Arquitetura de Informação
[editar] Modelo Matemático
Juntar todas as fórmulas, aplicando pesos a cada valor.
[editar] Aplicação de Modelo
[editar] Dados Históricos
[editar] Arquitetura de Hardware
[editar] Arquitetura de Software
[editar] Arquitetura de Rede
[editar] Arquitetura de Informação
[editar] Curva de Complexidade
[editar] Conclusão
[editar] Avaliação do Modelo
Avalia o modelo proposto.
[editar] Avaliação da Curva de Complexidade
Avalia o resultado atingido com o modelo.
[editar] Referências
- ↑ KEARNEY, J. P. et al. Software complexity measurement. Commun. ACM, ACM, New York, NY, EUA, v. 29, n. 11, p. 1044–1050, 1986. ISSN 0001-0782.
- ↑ RANGANATHAN, A.; CAMPBELL, R. H. What is the complexity of a distributed computing system? Complex., John Wiley & Sons, Inc., New York, NY, USA, v. 12, n. 6, p. 37–45, 2007. ISSN 1076-2787.
- ↑ WEAVER, W. Science and complexity. American Scientist, v. 36, p. 536–544, 1948.
- ↑ SIMON, H. A. The architecture of complexity. Proceedings of the American Philosophical Society, v. 106, n. 6, p. 467–482, 1962.
- ↑ LLOYD, S. Black Holes. Demons and the Loss of Coherence: How complex systems get information, and what they do with it. Tese (Doutorado em Física Teórica) — The Rockefeller University, Nova York, NY, EUA, 1988.
- ↑ GENTLEMAN, W. M. Dynamic architecture: Structuring for change. 2005.