Mas memoria RAM = menos Latencia?

Chino EnlazadordeMundos
#1 por Chino EnlazadordeMundos el 21/03/2016
Bueno, aqui una pregunta bien basica, pero no termino de entender bien,
si la memoria RAM ayuda a tener menor latencia... a veces leo que si, y otras leo que un poco.
Cual seria la respuesta correcta?
Y si tener dos sesiones en mi Mac me perjudica en rendimiento :roll: ? Ya que utilizo una sesion para trabajar con audiovisuales y la otra solo para tocar en vivo.
Trabajo con Ableton Live para tocar en vivo, con instrumentos acústicos. Lo que significa que manipulo bastante audio.
Las caracteristicas de mi mac son las siguientes:
MacBook Pro (13-inch, Mid 2012)
2.9 GHz Intel Core i7
8 GB 1600 MHz DDR3
Un disco de 750gb
Uso un Zoom H6 como placa de sonido.
Saludos!
Subir
OFERTAS Ver todas
  • -20%
    Technics SL-1200M7 Lamborghini
    1.199 €
    Ver oferta
  • -6%
    Elektron Digitakt II (B-Stock)
    939 €
    Ver oferta
  • -50%
    NI Komplete 15 Collector's Edition
    885 €
    Ver oferta
Harpocrates666
#2 por Harpocrates666 el 21/03/2016
No, la latencia depende del tamaño del buffer utilizado, y un tamaño mas pequeño genera mas carga de procesamiento mayor, si el procesador tiene poder, no se verá tan afectado por una mayor carga, pero si es un procesador menos potente una latencia baja generará perdida de muestras durante el procesamiento, eso se manifiesta como cortes y chasquidos en el audio a medida que bajas el buffer.
Subir
1
OptiMuff Prime
#3 por OptiMuff Prime el 24/03/2016
La latencia en un ordenador tiene que ver con muchos factores, pero todos ellos vienen dados por la capacidad de procesamiento y por los cuellos de botella que esa información procesada haya de cruzar.

Todo el mundo habla de los procesadores y se olvidan de la placa madre...
Toda, absolutamente TODA la información que se desea procesar (más la que ya se ha procesado) ha de circular por la placa madre.
Uno de los punts clave en cuanto a latencia es el bus de la RAM.
El bus no es la RAM mísma, es el sitio por el que circula la información que ha de llegar a la RAM y la que sale de ella.

En teoría, cuanta mayor capacidad de procesameinto tenga tu procesador, menor será la latencia.
Pero en la practica los factores como el bus de la memoria y la latencia CAS de la mísma memoria (se indica con las siglas "CL") participan de un modo importante en la latencia final del procesamiento.

Así que sí es cierto que la memoria RAM tiene mucho que decir en cuanto a las latencias, pero más por el bus de la placa madre y por la"CL" de la propia memoria que por la cantidad de memoria que maneje la máquina, que es mucho menos relevante.
Subir
Harpocrates666
#4 por Harpocrates666 el 24/03/2016
Optimuff Prime escribió:
Todo el mundo habla de los procesadores y se olvidan de la placa madre...
Toda, absolutamente TODA la información que se desea procesar (más la que ya se ha procesado) ha de circular por la placa madre.
Uno de los punts clave en cuanto a latencia es el bus de la RAM.
El bus no es la RAM mísma, es el sitio por el que circula la información que ha de llegar a la RAM y la que sale de ella.

En teoría, cuanta mayor capacidad de procesameinto tenga tu procesador, menor será la latencia.
Pero en la practica los factores como el bus de la memoria y la latencia CAS de la mísma memoria (se indica con las siglas "CL") participan de un modo importante en la latencia final del procesamiento.

Así que sí es cierto que la memoria RAM tiene mucho que decir en cuanto a las latencias, pero más por el bus de la placa madre y por la"CL" de la propia memoria que por la cantidad de memoria que maneje la máquina, que es mucho menos relevante.


???

Para comprender esto hay que entender la premiza de que el audio es información sincronizada, cada muestra debe ser reproducida en el periodo establecido por la frecuencia de muestreo, si la muestra no se encuentra disponible en el momento en que el reloj marca, se pierde y aparece un chasquido en su lugar.

Entendiendo esto hay que aclarar que los ciclos de las memorias son del orden de los mega hertz, mientras que los ciclos de digitalizacion son del orden de los kilo hertz, en estricto rigor existen cientos de miles de veces mayor precisión en los ciclos de las memorias y cientos de veces menor latencias en el hardware, tal es el grado de diferencia que terminan siendo despreciables para el ser humano. Todo lo que dices está muy bien, pero no influyen en absolutamente nada cuando de audio hablamos, una cosa es tener conocimiento de los aspectos técnicos relacionados con el funcionamiento del hardware y otra cosa distinta es tener criterio para saber interpretar el real impacto, por eso no digas gratuitamente que "se nos olvida" algo que en realidad no es relevante.

El problema no es la latencia del hardware, ni mucho menos el ancho de los buses, la tasa de bits de un bus de audio a 48 khz 24 bits es ligeramente superior a 1 Mbps, y los anchos de banda de los buses hace décadas superan los gigabits, es lo mismo cuando se habla de USB versus firewire ¿cuantos buses de audio y a que resolución te llegan a saturar el bus USB? es cosas de dividir, obviamente hay mas información entre medio, pero sirve como aproximación ¿tendrás un proyecto de grabación que pueda poner en jaque la capacidad de los buses utilizados por las interfaces? difícilmente, es mas bien como insinúo en un principio el sincronismo el gran problema.

Latencias asociadas al hardware son realmente insignificantes comparadas con la latencia asociada en este caso al software, es ahi donde se vuelve relevante, y es lo que terminamos percibiendo los humanos, pero esta latencia como ya digo no es el problema, el problema es la perdida de muestras producto del sincronismo, y si eliminas la capa software y trabajas directamente sobre el hardware a ti te parecerá que latencia no hay, pero se perderán muestras si la carga es lo suficientemente alta. Y tienes razón en una cosa, que no es un tema necesariamente de procesador, si no mas bien de plataforma, pero considerando que las plataformas son ampliables generalmente se reduce al cambio de procesador.
Subir
OptiMuff Prime
#5 por OptiMuff Prime el 24/03/2016
Harpo Reloaded escribió:
(...)los ciclos de las memorias son del orden de los mega hertz, mientras que los ciclos de digitalizacion son del orden de los kilo hertz, en estricto rigor existen cientos de miles de veces mayor precisión en los ciclos de las memorias y cientos de veces menor latencias en el hardware, tal es el grado de diferencia que terminan siendo despreciables para el ser humano(...)

Cuando hablas de "ciclos de digitalización" no estás incluyendo al total de los datos procesados cuando tratamos audio.
Te estás circunscribiendo a la grabación, que no es el único procesamiento que ha de realizar el ordenador al trabajar con audio.
Me refiero a que no solo se trata de digitalizar (ahí estás acertado al hablar de kilo hz vs Mega Hz).
Cuando tratamos audio (añadiendo plugins en el DAW, por ejemplo) ya no estamos hablando de digitalización AD, si no de procesamiento en bruto de datos, con lo cual ya no tiene sentido hablar de kilo hertzios.

SI la frecuencia de la RAM es tantas veces superior y no presenta ningún tipo de cuello de botella no entiendo qué hacemos utilizando frecuencias de RAM de más de 1600 mhz en DDR3 cuando las humildes DDR llegaban a 800 mhz, miles de veces más rápidas que las frecuencias de digitalización de cualquier convertidor.

Según esa premisa el aumento de ciclos de reloj en la memoria no responde a ninguna necesidad: Todo humo.
Me gustaría ver el desempeño de un procesador de 4 núcleos y 4 hilos trabajando con RAM DDR a 400 mhz...

Repito, hablamos de procesamiento, no de digitalización.
Cuando hablamos de "un ordenador para audio" no solo vamos a ncesitar grabar, claro.
Para grabar 8 canales a 24 bit y 48 khz es más que suficiente una máquina sencillita y humilde.
Para tratar más tarde ese audio en el secuenciador ya es otra cosa: Ahí aparecen las malditas latencias que tanto nos rompen la cabeza...

En cualquier caso, buen aporte acerca del muestreo de audio. Thanks!. :birras:
Subir
Harpocrates666
#6 por Harpocrates666 el 24/03/2016
Optimuff Prime escribió:
Cuando hablas de "ciclos de digitalización" no estás incluyendo al total de los datos procesados cuando tratamos audio.
Te estás circunscribiendo a la grabación, que no es el único procesamiento que ha de realizar el ordenador al trabajar con audio.
Me refiero a que no solo se trata de digitalizar (ahí estás acertado al hablar de kilo hz vs Mega Hz).
Cuando tratamos audio (añadiendo plugins en el DAW, por ejemplo) ya no estamos hablando de digitalización AD, si no de procesamiento en bruto de datos, con lo cual ya no tiene sentido hablar de kilo hertzios.


No te me confundas amigo Optimuff, no es de digitalizacion de lo que estoy hablando, es de sincronismo, el audio en toda su ruta, desde que se digitaliza, pasando por los procesos por software, hasta que es reproducido mantiene una estructura sincrónica, es decir se debe mantener constante el periodo entre muestra y muestra. Piensa por ejemplo en cuando importas un audio de 44 khz en un proyecto de 96 khz, si no conviertes la frecuencia de muestreo de dicho audio se modificará el tiempo y el tono del audio, sonará mas rápido y agudo. Esto ocurre debido a que a 44 khz las muestras son tomadas cada 22 useg, pero a 96 khz cada muestra es tomada cada 10 useg y si reproduces a esa tasa las muestras de una señal que fue registrada con un periodo de 22 useg pues estarás compactando temporalmente la señal, eso afectara tono y tiempo.

Por eso cuando se procesa se debe mantener el periodo, y el resultado de cada proceso debe ser entregado en dicho periodo, es eso lo que he dicho, tu aplicación va siguiendo un reloj de sincronismo, y necesita las muestras procesadas dentro de cada ciclo.

Que exista mas información y no solo la de las muestras es un hecho, pero en realidad no hay problema con eso, te voy a poner un ejemplo que no está relacionado directamente pero sirve para entender como es el flujo de datos tanto en las redes como en los buses de comunicación:

En telefonía se utiliza una frecuencia de muestreo de 8 khz, y se utilizan 8 bits de digitalizacion, esto quiere decir que en 1 segundo se toman 8000 muestras de 8 bits, lo que por multiplicación directa nos da una tasa de bits de 64 kbps. Para conocer el espacio de tiempo entre muestra y muestra basta con dividir la unidad por la cantidad de muestras, es decir 125 useg entre muestra y muestras. Esa unidad de tiempo nos parece ínfima y prácticamente instantánea a nosotros los seres humanos, pero para una maquina es toda una eternidad, a tal punto que entre esos 125 useg podemos intercalar hasta 30 usuarios mas 2 canales de control y señalizacion, es decir, entre que llega la primera muestra de un usuario y la segunda, han pasado 30 muestras de otros usuarios mas los canales respectivos de control, es la base de lo que se conoce en jerga de telecomunicaciones como Jerarquía digital plesiócrona cuya unidad fundamental es la trama de 2 Mbps, la cual contiene la información de 30 usuarios distintos acomodados temporalmente para utilizar el mismo canal. Esta jerarquía puede ir creciendo de manera de permitir la trasmisión de volúmenes de datos aun mayores, todo depende de cuanto podamos dividir el tiempo entre muestra y muestra. No es diferente la lógica cuando de buses de datos al interior de un computador o a la administración de recursos se refiere.

Me tomo la libertad de referirme a esto, que en realidad se aleja de la pregunta, por la simple razón de que esta técnica de acomodar datos de diferentes orígenes utilizando el desfase temporal que existe entre muestra y muestra de la información sincrónica no es mas que el tan conocido TDM, sigla que a mas de alguno le parecerá conocida.

En definitiva, y para enlazar con lo que comentas, tu necesitas recursos cada 22 useg cuando se trata de señales digitalizadas a 48 khz y en ese periodo de tiempo tanto el procesador como las memorias están ociosos y pueden dedicarse a atender otros requerimientos, cientos de miles de requerimientos, pero es importante que al transcurrir nuevamente los 22 useg los recursos estén disponibles, y es ese el problema, para eso existe el buffer, para evitar perder el sincronismo por indisponibilidad de los recursos cuando se necesitan, aunque el procesamiento de audio si tiene prioridad, es un tipo de dato preferente.
Subir
vagar
#7 por vagar el 24/03/2016
No es lo mismo "menos latencia" que "menos latencia sin vaciados de buffer" (chasquidos).

En el segundo caso, tanto la cantidad como la velocidad de la RAM podrían ayudar indirectamente a que cuando se baje el tamaño del buffer de transferencia de audio no se produzcan chasquidos. Depende fundamentalmente de si el tipo de procesamiento que se esté haciendo requiere el movimiento de grandes cantidades de información.

Por ejemplo, las reverberaciones de convolución o los samplers trabajan accediendo a ficheros de gran tamaño en disco y se pueden beneficiar de cachés en RAM generosas, de lo contrario la lentitud del disco se convierte en el cuello de botella y se pueden llegar a producir vaciados de buffer de audio.

También influye la gestión de memoria virtual. Aunque éste es un proceso del sistema operativo de baja prioridad, si no se tiene RAM suficiente para todos los procesos que se están ejecutando el sistema empieza a hacer intercambio con disco que de nuevo puede producir problemas.

Sin embargo, si el procesamiento es fundamentalmente algorítmico (sintetizadores virtuales, reverberaciones algorítmicas, etc.) ni la cantidad ni la velocidad de la RAM influyen, y es la velocidad de la CPU el factor determinante.

Otro cuello de botella puede estar en el bus del sistema. Aunque su velocidad se mida en GB/s, hay determinados periféricos como tarjetas de vídeo, controladoras de disco o tarjetas de red que pueden llegar a monopolizar el bus durante el suficiente tiempo como para interferir con la transferencia entre el hub USB interno y la CPU.

Con 8 GB de RAM que dices que tienes, me extraña mucho que ése sea el problema, a no ser que estés haciendo proyectos de 100 pistas con librerías orquestales y quieras latencias de 5 ms.
Subir
OptiMuff Prime
#8 por OptiMuff Prime el 24/03/2016
Mmmm... Interesantes aportes los de los 2. He aprendido mucho!
Eso que explicas de intercalar más conversaciones en el mísmo canal físico es lo que se entiende por el famoso multiplexado, no?

Graciñas por la info! :birras:
Subir
Harpocrates666
#9 por Harpocrates666 el 25/03/2016
lgarrido escribió:
En el segundo caso, tanto la cantidad como la velocidad de la RAM podrían ayudar indirectamente a que cuando se baje el tamaño del buffer de transferencia de audio no se produzcan chasquidos.


Si, hay que aclararlo, en estricto rigor no suma latencia, peros si resta rendimiento.

Alguien escribió:
Otro cuello de botella puede estar en el bus del sistema. Aunque su velocidad se mida en GB/s, hay determinados periféricos como tarjetas de vídeo, controladoras de disco o tarjetas de red que pueden llegar a monopolizar el bus durante el suficiente tiempo como para interferir con la transferencia entre el hub USB interno y la CPU.


He ahi una de las ventajas de Firewire por sobre USB,
Subir
Hoperman
#10 por Hoperman el 25/03/2016
16gigas de RAM 1024 samples y SSD sólido y adiós latencia!
Subir
Carmelopec
#11 por Carmelopec el 25/03/2016
Desentrañar los misterios del cuello de botella me produce admiración, una de las cosas que anima a seguir la ciencia o, al menos, leeros a los científicos y cientifistas.

Hasta ahora mucha gente , al respecto del cuello de Botella, prefería la opinión de Aznar.

[ Imagen no disponible ]
Subir
Carmelopec
#12 por Carmelopec el 25/03/2016
Harpo Reloaded escribió:
He ahí una de las ventajas de Firewire


Eso es, una de las ventajas.
Subir
OptiMuff Prime
#13 por OptiMuff Prime el 25/03/2016
...Carmelo, te importaría no subir pornografía dura en hispasonic?
Acaban de subírseme todos los ácidos estomacales... :babear: :mrgreen:
Subir
Carmelopec
#14 por Carmelopec el 25/03/2016
El hilo estaba discurriendo por senderos demasiado aritméticos, no he podido sustraerme de la tentación de humanizarlo un poco.
Subir
Carmelopec
#15 por Carmelopec el 25/03/2016
En un futuro es posible que veamos sistemas basados todo en el procesador, o en procesadores escalares como aquel de la Sony play.
Sin buses ni casi placa, procesadores nudistas, habrá que cambiar los procesos de fabricación y un poco la programación; pero cada vez hay más funciones integradas dentro del encapsulados de los chinos.
Computación para todos, Intel y gente.
Subir
Hilos similares
Nuevo post

Regístrate o para poder postear en este hilo