Ingenieros de Netflix descubren un fallo en la JVM (Java Virtual Machine)

Поділитися
Вставка
  • Опубліковано 6 січ 2025

КОМЕНТАРІ • 721

  • @AntonioSarosi
    @AntonioSarosi  2 роки тому +236

    Para los ofendiditos de HTML:
    Es ironía, buscad ironía en el diccionario porque no sabéis identificarla. Por otro lado, se me ha olvidado mencionarlo, pero no puedes meterle padding a todo y esperar que se duplique el rendimiento. En este caso solo fue así porque su código tenía una jerarquía de clases con mucha herencia/interfaces y por eso cargaba esa parte de la JVM.

    • @a0z9
      @a0z9 2 роки тому +4

      La solución es que el compilador cree variables con nombres que asocien a cada cpu. Eso se puede hacer si el compilador es consciente de la compilación en tiempo real.

    • @LuisGarcia-dy5td
      @LuisGarcia-dy5td 2 роки тому +36

      Pero al final la solución fue agregar un padding, por lo tanto si sabías css ya lo podías arreglar 😂

    • @CarlosArturoQuirogaQuiroga
      @CarlosArturoQuirogaQuiroga 2 роки тому +5

      Que bueno que tocas este punto, para mi puede ser sarcasmo, y si es ironia, entonces lo qeu quieres decir es lo contrario, que el HTML si es un leguaje de programación? o que para entender esto no necesitas tener pensamiento trasversal?
      o sera que ironia no es dar a entender algo expresando lo contrario de lo que se quiere decir o se piensa.
      Esta parte que no es ingenieria, esa si no la entendi. jajajaj

    • @adanmirandaespindola521
      @adanmirandaespindola521 2 роки тому +2

      Efectivamente no puedes meterle padding a todo, en este caso especifico la solución fue precisa, pero tocaba indagar mas a fondo, a veces un cambio pequeño pero bien definido es mejor que hacer soluciones más complejas pero con resultados menos precisos; y ahi estoy de acuerdo donde se ven los reales ingenieros... pero como en el otro comentario insisto lo de "programar html" me causo gracia XD

    • @a0z9
      @a0z9 2 роки тому

      @@adanmirandaespindola521 lo gracioso es que los ingenieros no se dedican al hrnl

  • @s4vitar
    @s4vitar 2 роки тому +292

    Acabo de descubrir tu canal y la verdad es que me he quedado impresionado con el contenido que ofreces, ¡por aquí tienes un nuevo suscriptor!

  • @nvld2561
    @nvld2561 2 роки тому +53

    Este es el tipo de contenido que se necesita, no mas videos de "como comenzar a programar" o cursos basicos de lenguajes populares

    • @errrzarrr
      @errrzarrr 2 роки тому +2

      Eso es cierto

    • @arielcastillo7925
      @arielcastillo7925 Рік тому +3

      onda "cualquiera puede programar, mira acabo de sacar mi curso de JS desde 0, aprovechalo en descuento! universidad ? quien la necesita, es para nerd, tu genera dinero, mentalidad de tiburon" o la clasica "Como consegui trabajo como programador a mis 9 años de edad" jajajajjajaj

    • @francoprogrammer3591
      @francoprogrammer3591 3 місяці тому

      Lenguajes populares😂😂😂😂😂
      Se nota que todavía estás empezando

  • @sebamarin12
    @sebamarin12 2 роки тому +638

    Lo has explicado de tal forma , que lo he entendido aún siendo programador en html.

  • @Zugor940
    @Zugor940 2 роки тому +396

    Hey, muy muy buen video. Imaginas hacer una especie de "serie" contando casos como estos?

  • @ferdev6597
    @ferdev6597 2 роки тому +158

    Vídeos motivacionales para no dejar la carrera: ❌
    Vídeo donde te explican como en una empresa de streaming encontraron un error en JVM y modificaron el código fuente de la misma para hacer que sus microservicios funcionen mejor: ✔

    • @nadie7277
      @nadie7277 2 роки тому +19

      La Jvm no tiene ese fallo, si el tamaño de los bloques de caché fuesen distintos en otros servidores puede que continúe el caso. Es un tema del diseño del hardware. Por experiencia te digo que desarrollo a medio y bajo nivel para distintos SO y lo que me funciona en Windows falla en Linux y viceversa, lo mismo con Mac, Android, Bsd, etc... cosas inexplicables (claaarooo, algunas también han sido fallas del mismísimo compilador 🤦🏻‍♂️ y para encontrarlas hemos sufrido meses 😥😢), otras son fallas del SO.

    • @catto-from-heaven
      @catto-from-heaven 2 роки тому +3

      @@nadie7277 Tiene usted o alguno de sus compañeros un blog donde compartan info acerca de eso?

    • @nadie7277
      @nadie7277 2 роки тому +10

      @@catto-from-heaven Noup... pero MinGw en Windows tiene sus detalles con hebras, GCC en linux cuando usas buenas cantidades de memoria (matrices de 4 dimensiones [temas de cifrado]) y si te ocurre habilitar banderas de optimización del compilador (p.e. O2 si mal no recuerdo). Hace pocos meses desarrollaba un cliente para captura y reproducción de audio (streaming) en C++; tuve muchísimas caídas al azar allí hasta que quizás por cuestiones de suerte pude percatarme que si iniciabas una hebra en la linea final de un constructor y... si el hilo alcanzaba a reservar el espacio para su pila y arrancar antes de que el constructor terminara y se devolviera el control al código que hacía la instanciación, pues fino; pero si el constructor terminaba antes o justo durante la inicialización del hilo entonces había corrupción en los parámetros, esto sucedía tanto con Visual C como con MinGW... sin embargo, este mismo código jamás falló ni en Linux, ni en Mac, ni en Bsd, ni en la mugre de Android. Los SO tambien tienen sus fallos, siempre ha sido así, no son perfectos y nunca lo han sido, recuerdo cuando en Vista tenía un fallo al enumerar los recursos de red en el caso de impresión y en XP no sucedía esto luego en Win7 lo corrigieron. Oracle 10g de vez en cuando tenía problemas para acceder al libstdc++6 en RedHat... y era el #@#$#@(-_##$$& RedHat que se le metía el loco y le placía negarle el acceso repentinamente y al azar a un servidor que tiene meses funcionando sin novedad alguna 🤦🏻‍♂️.
      Android es el peor de todos, nunca en mi vida he visto algo tan malo y que te genere tanta desconfianza.

    • @pepito7773
      @pepito7773 2 роки тому +1

      La motivación se va en 2 dias

    • @BitcoinAndTraders
      @BitcoinAndTraders 2 роки тому +1

      @@nadie7277 Homero: puede darme dinero?

  • @Bleibruk
    @Bleibruk 2 роки тому +23

    🤯 que locura hasta donde tuvieron que bajar para poder entender y solucionar el problema... La experiencia en arquitectura de computadoras, en sistemas concurrentes, debugging avanzado nivel Dios. Genial! Apoyo la idea de muchos de que tengas una línea de videos hablando sobre este tipo de problemas, y más con las animaciones tan buenas que te mandas

  • @manuele.varelarodrigez1893
    @manuele.varelarodrigez1893 3 місяці тому +1

    Este canal es el tipo de canales que ves un día un video te interesa te suscribes y nunca lo sigues y después al tiempo descubres que es una joya este video es una joya de manera innegable y por lo que estoy viendo la inmensa mayoría de los videos son así gracias por tu contenido

  • @ivanandrade3050
    @ivanandrade3050 2 роки тому +31

    Explicar esto sin dibujos es imposible. No me quiero imaginar alguien que lo explique en pizarrón. Muy bien representado en dibujito lo que esta pasando. Por eso pago tus cursos en mastermind jaja. Saludos desde arg!!

  •  2 роки тому +79

    Como otro estudioso de arquitectura de computadores: me alegra que hayan youtubers como tú haciéndole justicia al bajo nivel y la importancia que tiene.
    Excelente video.

    • @buggedbits
      @buggedbits 2 роки тому +1

      gracias a Dios...

    • @leisiyox
      @leisiyox 2 роки тому +1

      Este tipo de problemas uno se los encuentra ya cuando una app esta lo suficientemente consolidada y hecha para que se dediquen a optimizar hasta lo mas infimo la verdad... no creo que al ingeniero promedio le toque esto en su vida... solo a los que estan en empresas muy grandes como netflix o especialistas la vd
      Una situacion que pasa cuando se esta en esas condiciones... se debe pagar una millonada a quien lo resuelva :v

    • @buggedbits
      @buggedbits 2 роки тому +6

      ​@@leisiyox nada tiene que ver el tamaño de la aplicacion si tienes un sitio web que procesa 500 ventas por minutos pero cuando tienes 501 , peta, lo normal es "alquilar" mas hardware para responder esa limitacion. ahora si al meterle mas hardware sigue petando a la venta 501 el problema esta en otro en lado. Y ver donde esta el problema es lo que haria el ingeniero... o al menos alquien que entendiese de arquitectura...

  • @luistiom
    @luistiom 2 роки тому +17

    En la universidad llevo un curso acerca de la arquitectura de computadores, tengo que admitir que mi actitud respecto a esos temas no fue la mejor y perdí el curso por no haber puesto de mi parte, gracias a tu video me doy cuenta de la importancia que estos temas tienen y lo diferenciales que son al momento de ser un profesional, gracias a ti me siento motivado y con ganas de investigar por mi cuenta para ser mejor, muchas gracias!!

  • @antonioperezdieppa3784
    @antonioperezdieppa3784 3 місяці тому +1

    Felicidades. Soy ingeniero de título, labor y pasión. Además me considero bastante competente. Ya conocía el concepto de false sharing, especialmente relacionado con la JVM. Te felicito porque es un muy buen video; contenido correcto y bien estructurado y explicado .
    Mi enhorabuena!

  • @clemensch.c.5789
    @clemensch.c.5789 2 роки тому +114

    Excelente información técnica. Le entendí muy bien. Fue como aire fresco; ya estaba cansado de esos programadores que están paranoicos por todo el rollo del chatGPT.

    • @xazak357r4
      @xazak357r4 2 роки тому +1

      Excelente comentario

    • @bobobo1673
      @bobobo1673 2 роки тому

      Habría que ser idiota para no estar paranoico, es normal

  • @fellox7866
    @fellox7866 2 роки тому +2

    Mas increíble lo tuyo Antonio, la manera en la que explicas todos estos problemas de verdad muestra lo interesante y complejo de este mundillo, me das ánimos ahora que empiezo la carrera. Me gustaría ver más de estos videos hablando de casos así!

  • @FulvioMoya
    @FulvioMoya 2 роки тому +14

    Excelente explicacion gracias por tomarte el tiempo de entender la situación y traernos hasta visualmente una demostracion ilustrativa

  • @jinjanwarrior5912
    @jinjanwarrior5912 2 роки тому +12

    El video me ha gustado bastante, has ido explicando los conceptos de forma muy sencilla y entendible, y eso ha conseguido hacer le video llevadero y que incluso adivinase que pasó antes de que lo dijeras. Tienes videos hablando de cosas sobre el estilo donde hay mucho lenguaje técnico y suelo perderme muchísimo, aunque en esos videos incluso también explicas los conceptos que aparecen. Supongo que esta vez los explicaste de otra forma o quizás este caso concreto era más simple no lo se. Enhorabuena por el video lo he disfrutado bastante, el hardware se me da fatal, incluso lo más básico y ver estas cosas y entenderlas me gustan, me ponen feliz, estoy empezando mi camino de desarrollador y aunque me guste programar y sea donde me estoy formando, me encantan todos los campos de la informática y me gustaría algún día entender el del hardware y los que le acompañen

  • @ov7bigboyvaldivia921
    @ov7bigboyvaldivia921 2 місяці тому

    Fascinante, me he quedado perplejo, verdaderamente es una vaga probavilidad que hallan descubierto semejante problema. Claro que la arquitectura es la base de todo, allá aquellos que solo se ocupan del alto nivel y conocieron asm, c, y hardware de la vieja escuela. Impresionante!!!. Gracias.

  • @lbrianl9613
    @lbrianl9613 6 місяців тому

    Eres increible amigo! quedé impresionado y lo mejor es que la claridad de tus explicaciones están a otro nivel wn Saludos desde Chile a seguir esforzándose y aprendiendo. nuevo subbb

  • @oscar-dev
    @oscar-dev 2 роки тому +1

    Me voy a suscribir, tengo 47 años y programo desde los 15 en C. La primera vez que encuentro un youtube en donde un programador habla como programador para programadores. Excelente, basta de pibitos que se hacen los cool toqueteando html y css.

  • @trapecioinv7313
    @trapecioinv7313 2 роки тому +3

    Increíblemente clara la explicación, y siento que este caso resume la vida de toda persona que se dedica a esto, pasarte horas y horas buscando el error para que luego sea 1 línea jajajaja. Necesitamos más de esto!

  • @alamguardin
    @alamguardin 2 роки тому +15

    Tus videos nunca decepcionan, siempre es buen contenido

  • @mentefria98
    @mentefria98 2 роки тому +10

    conclusión: investigaron varios días para arreglar el problema con una única línea de código. típico del sector.

  • @miguelangelpereiracruz59
    @miguelangelpereiracruz59 3 місяці тому

    Que canal tan maravilloso. Agradecido por la calidad que le dedicas

  • @aigon777
    @aigon777 2 роки тому +2

    Justo este semestre estoy dando arquitectura de computadoras y me ha encantado como has explicado lo de las lineas de caché (mejor y mas corto que los materiales de mi universidad que no citaré).
    Llevo 10 años programando en Java, me obsesiona el rendimiento, y NO habría encontrado la solución a esto. Seguramente en mi caso me habría vuelto loco buscando optimizar reduciendo la complejidad de tiempo y espacio y al final la solución habría sido escalar en más máquinas de 16 nucleos y dejarle el trabajo al load balancer. También hay que decir que no todas las empresas tienen la experiencia, el dinero o el tiempo para invertir en ese tipo de I+D.

  • @kerneldiego
    @kerneldiego 2 роки тому

    Me voló la cabeza en la forma tan sencilla que explicaste algo que parece bastante complejo explicar

  • @reroman
    @reroman 2 роки тому

    Excelente video y qué buena forma de explicar. Lo que que se me hace curioso es que hayan elegido recompilar la JVM (modificando no solo ese microservicio, sino cualquiera que se ejecute en esa máquina), en lugar de utilizar un lenguaje de más bajo nivel para implementar el microservicio.
    Soy desarrollador de C y C++ y no me ha tocado sufrir ese problema, pero sí es común trabajar con alineaciones y paddings en estructuras y clases para alinearse a páginas de memoria u otros requerimientos. Me atrevería a decir que cualquier desarrollador (profesional) de C/C++, habiendo encontrado la causa del problema, hubiera dado con la solución "fácilmente": agregar bytes de padding (al menos eso fue lo primero que se me ocurrió cuando lo explicaste), pero justamente encontrar la causa del problema es el verdadero reto.

  • @inigorafaelvaldesmartinez1837
    @inigorafaelvaldesmartinez1837 2 роки тому +2

    Eres un ser de luz menuda forma de explicarlo se entiende todo. Mas videos sobre estos temas (Que recomiendas empezar ha estudiar estas movidas Sistemas de forma facil) y no morir en el intento

  • @realsamu
    @realsamu 2 роки тому

    increíble video, super explicación, me hizo acordar cuando vi clases de código ensamblador y arquitectura de computadores.
    Un saludo

  • @favianangarita220
    @favianangarita220 2 роки тому +1

    Tremendo. No suelo comentar y si ver, pero bffff, como mola verlo así. Por no decir que casi es un video divulgativo, "a lo quantumfracture" pero del área de informática. Solo me dan ganas de estudiar más. En serio, gracias.

  • @oncosalud8435
    @oncosalud8435 2 роки тому

    Buen Video y Gracias, lo estas haciendo genial, Felices fiestas :)

  • @josuemcroot4862
    @josuemcroot4862 2 роки тому +3

    Soy desarrollador principalmente en lenguajes como C/C++, pero gracias a ti y tus videos me ha interesado el desarrollo web, tus videos y tus clases es Mastermind son de otro nivel. Muchas gracias profesor, ya llevo tres cursos con usted. 😁😅

  • @hck1bloodday
    @hck1bloodday 2 роки тому

    voy por el minuto 4:39, pero suena muy parecido a un problema que se dio una vez en una de las empresas en las que trabajaba, en las que en un servidor on premise al subierle los nucleos a una maquina virtual (de 8 a 16) su rendimiento empeoro, y era porque el hypervisor al tener que asignar mas nucleos debias esperar mas tiempo para que todos los nucleos estubieran disponibles y asi asignar el tiempo de procesamiento a la VM, por lo que el tiempo efectivo de procesamiento era menor por tener esperas mas lagas para poder procesar.
    (tambine que el codigo no estaba escrito para usar mas de un nucleo, pero eso es otro tema)

  • @gustavoenriquejimenez8098
    @gustavoenriquejimenez8098 2 роки тому +1

    Cuento mi anécdota. Hago electrónica y utilizo muchísimo las interrupciones de tiempo y de señales externas. Trabajé en sistemas embebidos con ingenieros en computación y me sorprendió ver que no entendían ni querían entender cómo funcionaban las interrupciones. Es algo que simplemente los anulaba. Tampoco querían entender las máquinas de estado que había implementado para coordinar todas las fuentes de interrupción. Además, en el mismo trabajo, yo había especificado que no debían usarse funciones orientadas a objeto para tratar cadenas porque en el sistema embebido no había mucha memoria, y que todas las cadenas debían tratarse con C plano. No respetaron las especificaciones y el sistema se quedaba sin memoria cada decenas de minutos. Cuando les expliqué que el problema de las funciones orientadas a objetos para operar con cadenas es que utilizaban funciones recursivas, y que el stack del microprocesador que usábamos era pequeño, me miraron con una cara como si yo hablara klingon. Confesaron que habían estudiado microprocesadores pero nunca se imaginaron que iban a tener que usar esos conceptos para un sistema real. En fin, desde ahora cada vez que quiero medir la competencia de un programador les presento un sistema con interrupciones y máquinas de estado.

  • @demomanprism1
    @demomanprism1 2 роки тому +1

    Los influencers de código que creen que hacer cursos de HTML en youtube los convierte en programadores: oye oye despacio cerebrito

  • @NeroDovahkiin
    @NeroDovahkiin 2 роки тому +1

    al final la solución era poner un entre las 2 variables, en el fondo siempre usas HTML (?

  • @argumento99
    @argumento99 3 місяці тому

    Excelente video y maravillosa explicación!!! Muchas gracias!!!!

  • @fruitoverflow
    @fruitoverflow 2 роки тому

    Primer video tuyo que veo y suscrita estoy, y he de decir que tienes toda la razón, el mundo de los ingenieros es muy diferente al de los programadores, a menudo me encuentro con problemas extremadamente ambiguos, precisamente estamos trabajando en extraer microservicios de un monolito, y las cosas no son tan simples como programar x funcionalidad y olvidarse, los problemas del mundo real son investigaciones que hacen que te pete la cabeza, y es lo que hay, lo más que podemos hacer es seguir aprendiendo y tratar de ser mejores ingenieros.

  • @elpoderimparable
    @elpoderimparable 2 роки тому +3

    Necesitamos ver más videos así, buen video.

  • @diegoalvarez5727
    @diegoalvarez5727 3 місяці тому

    Acabo de conocer tu canal y veo muy interesante tu contenido. Sigue así crack 👍

  • @diego0282
    @diego0282 2 роки тому

    Bravo!! excelente vídeo!! super explicativo y gráfico. Vamos que hasta mi hijo de 13 años podría entenderlo. Muy interesante este tema. Muchas gracias por compartirlo.

  • @JoeX92
    @JoeX92 2 роки тому

    que buena info!
    lo más loco es que, al parecer, eres el único UA-camr que ha hablado de este problema que tuvo Netflix!
    incluso es probable que la solución de ellos pueda hacer que la JVM pueda ir mejorando...
    suscrito 👍

  • @RAM9031
    @RAM9031 2 роки тому +1

    Este es un fallo en la coherencia de datos entre la caché y la memoria del sistema, esto posiblemente tenga nada que ver con JVM si no más bien con el HW que maneja la coherencia mediante los estados MESIF de las líneas de caché, seguramente se trataba de un CPU AMD.

  • @emanuelc1025
    @emanuelc1025 2 роки тому +1

    Primer video que veo tu canal, me ha encantado la forma en como explicas las cosas! Y a todos los ofendidos del HTML, tomenlo como una motivacion para aprender Arquitectura de Computadoras.. es muy lindo campo de estudio!

  • @yamilvernet
    @yamilvernet 2 роки тому

    Gracias Antonio, excelente trabajo! Rendí un exámen de estructura de datos hace unos días, haciendo compresión de índices y calculando los bits en papel, todo un dolor de cabeza; pero ver de esta forma como la máquina maneja los bits y los errores que pueden desencadenar estas manipulaciones está buenísimo. Cada día me interesa más todo lo que se encuentra a bajo nivel.

  • @camilapua777
    @camilapua777 2 роки тому

    me compartieron el vídeo, primero que veo de canal y ya me suscribí, muy interesante y entendí todo, ahora yo también compartiré!

  • @guillermoabril5592
    @guillermoabril5592 2 роки тому +2

    Videazo!! Gracias por compartirlo!

  • @8088NET
    @8088NET 2 роки тому

    Brutal amigo mio, excelente aporte entendido, gracias por tu tiempo..

  • @dejalaenvisto
    @dejalaenvisto 2 роки тому

    Excelente, me encanto la forma y toda la informacion, increible, muy bueno 🔥🔥🔥🔥🔥🔥

  •  2 роки тому +1

    En UA-cam hay un video muy interesante sobre cómo funciona Netflix sobre AWS. Es impresionante la cantidad de servicios que tienen en el backend para generar contenido y cuál es su filosofía para “vender”.

  • @hooh125
    @hooh125 2 роки тому

    Gracias por la explicación, muy interesante cómo funcionan las cosas a bajo nivel cuando ves la implicaciones reales que tienen este tipo de cosas a alto nivel

  • @chavode10
    @chavode10 2 роки тому

    Excelentes videos de parte del estimado Sarosi, como siempre

  • @androidlogin3065
    @androidlogin3065 2 роки тому

    Yo siempre lo he dicho y lo repetiré, para poder optimizar (y hacer que las cosas funcionen como deben) hay que saber cómo funcionan hasta rl más bajo nivel.
    Paralelizar para decenas de núcleos es relativamente fácil, pero hacerlo para decenas millones de núcleos es una tortura.
    Y en su video está muy bien explicado el problema del 'envenamiento por escritura' que causa efectos muy dispares, y latencias inesperables si solo se mira códiho fuente y no cómo trabaja el hardware físico/virtual.
    Mis felicitaciones y mi enhorabuena por la explicación, así se entiende muy bien, ojalá los 'jefes' prestasen más atención a los 'ingenieros' cuandos les decimos que hacer las cosas en paralelo no es tan simple como tomar unas tijeras y cortar código... o ejecutar más instancias en paralelo, etc.

  • @eduardochami4496
    @eduardochami4496 2 роки тому +1

    muy buen contenido y bien explicado para los mortales que programamos en html, necesito una serie de videos de este tipo

  • @herrkronen9694
    @herrkronen9694 2 роки тому

    Buenissimo !!! Gracias por tomarte el tiempo de explicar !

  • @jgalgarra
    @jgalgarra 2 роки тому

    Antonio, como profe de arquitectura y SSOO, este vídeo merece Matrícula de Honor

  • @the5tops618
    @the5tops618 2 роки тому +5

    El ingeniero que arreglo ese detalle para el micro servicio tiene bien ganado su sueldo.

    • @ezepm850
      @ezepm850 3 місяці тому

      Y el que lo descubrio

  • @mariocortes2670
    @mariocortes2670 2 роки тому

    Te felicito por la gran calidad que le has puesto al video. Se puedo entender de muy buena manera un tema tan complejo.

  • @maharbalev
    @maharbalev 2 роки тому +1

    Interesante el video. Me recordo de un caso que lei hace años, de calibre menor pero curioso, donde en una universidad el correo solo llegaba en un rango de ciertos km, que no tenia mucho sentido pero se debia a un parche mal aplicado al servidor.

  • @Gonzo345
    @Gonzo345 2 роки тому

    Enhorabuena por saberlo explicar así de bien. Nuevo suscriptor a la de ya

  • @androsxs15
    @androsxs15 2 роки тому

    Me encantan tus videos como los explicas bro, las animaciones y los dibujos ayudan mucho. Felicitaciones y un saludo

  • @Vegetal999
    @Vegetal999 2 роки тому

    Este video es una joyita mostrando como un error se resuelve con ensamblador 10/10

  • @AlexManuelTovarTriana
    @AlexManuelTovarTriana 2 роки тому

    Que buena explicación! Didáctica y entretenida!!

  • @xerozxl
    @xerozxl 2 роки тому

    en esas ironías de la vida un compañero que trabajaba para la NBA (la de basket, también tiene su sector de informática) tuvo un problema similar, no entendían por qué algunos microservicios andaban muy lento, de manera azarosa y sin motivo aparente directo, movilizaron bastante incluso a la gente de AWS, resumiendo: el problema lo ubico y soluciono uno de los abogados de la empresa que había estudiado programación en BASIC en la secundaria, y el problema era muy sencillo, en el ensamblado se usaba una instrucción de suma que usada de una determinada manera y con la memoria en esa específica configuración provocaba errores casi indetectables por qué se volvía a cargar la memoria de otra forma apenas diferente y andaba. Pero lo suficiente para volver la operativa muy lenta

  • @nicolasesteban699
    @nicolasesteban699 2 роки тому

    Buenísimo vídeo, Antonio. Me alucina tu manera de explicar conceptos.

  • @andres98
    @andres98 2 роки тому

    Un video increible, muchas gracias por compartirlo!

  • @kevinarevalofernandez3594
    @kevinarevalofernandez3594 2 роки тому

    Muy buen trabajo en la explicación. Gracias por compartir!

  • @raulalejandromorenocamargo2320
    @raulalejandromorenocamargo2320 2 роки тому

    Muy buena explicación super clara aquí un ingeniero a mitad de carrera y yo pensaba que la materia de sistemas operativos no era importante pero ya vi que si jaja

  • @heromil
    @heromil 2 роки тому

    Excelente video Antonio! De los más interesantes que he visto sobre informática.

  • @tavolordk
    @tavolordk 2 роки тому

    Excelente video me dieron ganas de volver a repasar todo con respecto a arquitectura de hardware

  • @HighOctaneNews570
    @HighOctaneNews570 2 роки тому +3

    Escribir una linea de codigo = 2 dolares
    Saber que linea de codigo escribir = 1998 dolares
    total 2000 dolares

  • @principp58
    @principp58 2 роки тому

    Compa primera vez que veo un video tuyo y es que aluciné, estoy en primer año de ingeniería y en arquitectura hay mucho que no me cabía en la lógica, pero aquí si he entendido varias cosas, te pasaste

  • @keranavca
    @keranavca 2 місяці тому

    pucha sarosi te pasas hace un buen no miro na, pero este video fuaa estuve re prendido a tu explicación jaja gracias!

  • @revytech1001
    @revytech1001 2 роки тому +2

    ¡Brutal el caso! Que forma de simplificar un problema tan complejo para exponerlo. ¡Por otro lado, me imagino la euforia del equipo de ingenieros al dar con la solución!

  • @gnickalan
    @gnickalan 2 роки тому

    Excelente video me gusta la temática y la forma de explicar. Buen trabajo ¡Muchas gracias! De verdad no todo es escribir código como si no hubiera mañana.

  • @angelgutierrez3851
    @angelgutierrez3851 2 роки тому

    Te ganaste un sub, la verdad que buen contenido, sigue sacando videos con casos como este :)

  • @sergidaniel2420
    @sergidaniel2420 2 роки тому

    Bueno trabajo de divulgación Antonio

  • @santiagorios490
    @santiagorios490 2 роки тому

    Waoooo la explicación ha estado excelente!

  • @dada11235
    @dada11235 2 роки тому +3

    ¡Brutal! ¡Qué buena explicación!

  • @davidfelipepenaguardiola1177
    @davidfelipepenaguardiola1177 2 роки тому

    Excelente explicación! Muy buen vídeo

  • @quimera14
    @quimera14 2 роки тому

    Justo me toca dar el final de Arquitectura de computadoras, al menos ahora tengo un poquito más de motivación para estudiarlo más a fondo.

  • @cheromechero1188
    @cheromechero1188 2 роки тому +4

    Acabo de cursar arquitectura de computadores en la ingeniería y literalmente gracias a ello he seguido el vídeo, porq si no me da la sensación de que no me habría enterado ni del clima😂😂

    • @cheromechero1188
      @cheromechero1188 2 роки тому

      Brutal asignatura btw

    • @tigrillo1439
      @tigrillo1439 4 місяці тому

      ​@@cheromechero1188 estudiar arquitectura de computadores y luego sistemas operativos 1 te cambia la cabeza literalmente.

  • @CarlosArturoQuirogaQuiroga
    @CarlosArturoQuirogaQuiroga 2 роки тому +1

    Muchas gracias por comunicar, informar, lo que mejora nuestro trabajo y profesionalismo. Tambien es bueno que pongas tu punto de vista respecto a lo que hacen o no hacen los demas. en mi opnion bastante orientado a juzgar, y claro esta que puede que tengas razon, si esto te gusta, es parte de tu forma de ser.

    • @AntonioSarosi
      @AntonioSarosi  2 роки тому +1

      Se llama ironía, más evidente no lo puedo hacer. Podría poner un mensaje como:
      Para todos los ofendidos esto es ironía
      Pero me parece excesivo

    • @CarlosArturoQuirogaQuiroga
      @CarlosArturoQuirogaQuiroga 2 роки тому +1

      @@AntonioSarosi de acuerdo jajajaaj el mundo necesita la ironía, para reconocer donde mejorar, aun así yo idealista y soñador espero que algun dia logremos que en la ironía no se tenga que decir a los ofendidos esto es ironía.

  • @jmedinamay
    @jmedinamay Рік тому

    Muy interesante video, y si es importante conocer la arquitectura, en la universidad, recuerdo que el profesor nos hizo que hicieramos varios programas para acceder a memoria con aputadores, y generar nuestras propias rutinas para generar ventanas, y es cuando entiendes a grosso modo como funcionaban muchos programas de aquel entonces, te hablo de mediado de los 90's

  • @walter6197
    @walter6197 2 роки тому

    Muchas gracias por este tipo de contenido, Antonio. De verdad que se agradece la calidad de la explicación y lo bien que se entiende.

  • @LokiLoco5
    @LokiLoco5 2 роки тому

    Recién descubierto y ya suscrito a tu canal. Vale la pena cuando encuentras en youtube canales serios y profesionales.

  • @glennluque
    @glennluque 2 роки тому

    Acabo de descubrir tu canal. Está excelente. Saludos.

  • @nadie7277
    @nadie7277 2 роки тому +1

    Excelente publicación man, lo que dices es cierto la diferencia entre un ingeniero y un programador es muy considerable y siempre será así 😊. Un profesor decía 10 procesadores de 100 Mhz NO hacen lo que uno de 1 Ghz... y es cierto, para aquellos que conocen el arte de la verdadera programación (hebras, concurrencia y exclusión mutua, secciones críticas, demonios y servicios, redes neuronales, etc etc etc) recordemos que el precio de la sincronización a veces es costoso pero necesario para garantizar el correcto uso de los recursos ante accesos concurrentes. Disponer de de más líneas de ejecución paralela no garantiza siempre más velocidad pero sí soporte a cargas paralelas de transacciones menos lo que cueste el bloqueo entre ellos cuando hayan interacciones entre ellos y /o su hilo creador/principal. Tener 4 hebras (en promedio 1 por Cpu) te dará algo más de velocidad (si es que puedes paralelizar la tarea) pero gastarás más entre los interbloqueos. Lo mismo sucede con 16 o 24 o 32 hebras 🤦🏻‍♂️... Por eso la velocidad no es proporcional al número de líneas de ejecución paralela.
    Excelente post, me ha agradado tanto que ahora quedo suscrito 😊.

  • @jojob84
    @jojob84 2 роки тому

    Excelente video, hace tiempo no veía un video tan interesante.

  • @brandonlopez6328
    @brandonlopez6328 2 роки тому

    Que bárbaro bro!
    Muchas gracias por esta buenísima explicación.

  • @devianhernandez6180
    @devianhernandez6180 2 роки тому

    Grande Tonio!

  • @7Nillo
    @7Nillo 2 роки тому +1

    Hay gente muy osada que te dice que lo que haces en Ingeniería Informática se puede hacer igualmente a través de una FP (cada cosa para lo que es, tienen proyecciones muy diferentes) y algunos que hicieron conmigo la carrera despreciaban las materias relacionadas con arquitecturas de computadores, afirmando que no servía de mucho saber esas cosas. A mí esas asignaturas me encantaban y oye, cosas éstas ayudan a entender por qué a veces un código que aunque esté bien es lento por como gestionas los recursos del hardware que uses.

    • @smaudd_labs
      @smaudd_labs 2 роки тому +1

      Te dejo una idea incluso mas osada. Todo lo que haces en ingeniería informática se puede hacer igualmente a través de internet. Si a tus compañeros les chupaba un huevo la asignatura, poco tenía que ver con la carrera que estaban estudiando y mucho con su interés. Da igual la carrera que escojas, lo realmente importante es donde inviertes tu tiempo.
      Se puede aprender todo lo que te daban en esa asignatura buscando en los sitios adecuados en internet. La carrera no es mas que un organigrama de que debes aprender y en qué orden.
      A ver cuanto tardan en la carrera en hacer contenido divulgativo de este nivel para que puedas contextualizar la teoría que te enseñan en la asignatura.

    • @jay-fs
      @jay-fs 2 роки тому

      @@smaudd_labs Mis dieses a tu explicación. Yo soy de FP, pero estoy en el mundo de la programación de bajo nivel. Trabajo con mucha gente de carrera, con la que sigo pensando ¿Qué diantres estudiaron y como aprobaron?
      Por motivos económicos nunca he podido estudiar una carrera, pero todos los días tras trabajar dedico un tiempo a estudiar todo lo posible, junto con prácticas de micros, memorias, etc.
      Nunca tendré un título universitario, pero si tengo los conocimientos, que para mí es lo más importante.
      Como dato extra, trabajo bastante con VxWorks, y la verdad es que me encanta optimizar cada línea de código para aprovechar toda la potencia de "cacharritos" que para otra gente serían calculadoras por sus especificaciones técnicas. Ríete de la Raspberry PI, cuanto sólo tienes 2MB de RAM, para gestionar radares 😋.

  • @JosueMeraz
    @JosueMeraz 2 роки тому

    Muy clara tu explicación, que genial este mundo!

  • @edwinroman30
    @edwinroman30 2 роки тому

    ¡Gracias por el contenido Antonio. De un microservicio a un tema de bajo nivel! Excelente resume 👌👌👌👌👌🙌🏻

  • @jmg980
    @jmg980 2 роки тому

    Muy bueno, te seguiré esperando poder algún día ser tan bueno como tú

  • @Walter11
    @Walter11 Рік тому

    esa linea extra no ocupa ciclos de reloj de las cpu? o espacio en la cache? memoria?

  • @diangosalazar6859
    @diangosalazar6859 2 роки тому

    Me hiciste recordar mis pininos en programación Assembler..
    Saludos desde el Perú 🇵🇪

  • @urielmachado9194
    @urielmachado9194 3 місяці тому

    Que copado haber estudiado Arqui y entender lo que pasa en el video, lo que si lo de Cache Controler creo que no lo vi, puede que tambien se conozca como dirty bit? o valid bit? porque es el mismo uso si no me equivoco

  • @adanmirandaespindola521
    @adanmirandaespindola521 2 роки тому

    La conclusión fue la mejor parte, y claro en mis años en esto de la ingeniería de softwares me he encontrado con varios comentarios o casos que aplica a usar una ingeniería "real"

  • @BitcoinAndTraders
    @BitcoinAndTraders 2 роки тому

    Brillante resumen, tan brillante como el trabajo de los que dilucidaron el problema netflixiano... Ganaste un seguidor. Y si: programadores hay a montones, como los abogados, pero solo destacará el que salga de la caja, y expanda su mente abarcando todos los campos, hasta los q parecen irrelevantes. Hay abogados que memorizan todas las leyes pero no saben cambiar una bombilla, eso los vuelve especialistas en una cosa y solo una cosa ( base de datos), , y la especialidad indica segmentación, y eso es para animales: el castor hace diques, el pájaro carpintero hace huecos, la abeja hace miel...

  • @elcrackent13
    @elcrackent13 2 роки тому

    Gracias por mencionar si quiera esa cuestión. La diferencia entre ingeniero y programador, e incluso hay otro termino desarrollador