محتوای ارائه شده توسط Adam Bien. تمام محتوای پادکست شامل قسمتها، گرافیکها و توضیحات پادکست مستقیماً توسط Adam Bien یا شریک پلتفرم پادکست آنها آپلود و ارائه میشوند. اگر فکر میکنید شخصی بدون اجازه شما از اثر دارای حق نسخهبرداری شما استفاده میکند، میتوانید روندی که در اینجا شرح داده شده است را دنبال کنید.https://fa.player.fm/legal
Player FM - برنامه پادکست
با برنامه Player FM !
با برنامه Player FM !
High-Performance Java, Or How JVector Happened
Manage episode 418915279 series 2469611
محتوای ارائه شده توسط Adam Bien. تمام محتوای پادکست شامل قسمتها، گرافیکها و توضیحات پادکست مستقیماً توسط Adam Bien یا شریک پلتفرم پادکست آنها آپلود و ارائه میشوند. اگر فکر میکنید شخصی بدون اجازه شما از اثر دارای حق نسخهبرداری شما استفاده میکند، میتوانید روندی که در اینجا شرح داده شده است را دنبال کنید.https://fa.player.fm/legal
An airhacks.fm conversation with Jonathan Ellis (@spyced) about:
…
continue reading
Jonathan's first computer experiences with IBM PC 8086 and Thinkpad laptop with Red Hat Linux, becoming a key contributor to Apache Cassandra and founding datastax, starting DataStax to provide commercial support for Cassandra, early experiences with Java, C++, and python, discussion about the evolution of Java and its ecosystem, the importance of vector databases for semantic search and retrieval augmented generation, the development of JVector for high-performance vector search in Java, the potential of integrating JVector with LangChain for Java / langchain4j and quarkus for serverless deployment, the advantages of Java's productivity and performance for building concurrent data structures, the shift from locally installed software to cloud-based services, the challenges of being a manager and the benefits of taking a sabbatical to focus on creative pursuits, the importance of separating storage and compute in cloud databases, Cassandra's write-optimized architecture and improvements in read performance, DataStax's investment in Apache Pulsar for stream processing, the llama2java project for high-performance language models in Java
Jonathan Ellis on twitter: @spyced
346 قسمت
Manage episode 418915279 series 2469611
محتوای ارائه شده توسط Adam Bien. تمام محتوای پادکست شامل قسمتها، گرافیکها و توضیحات پادکست مستقیماً توسط Adam Bien یا شریک پلتفرم پادکست آنها آپلود و ارائه میشوند. اگر فکر میکنید شخصی بدون اجازه شما از اثر دارای حق نسخهبرداری شما استفاده میکند، میتوانید روندی که در اینجا شرح داده شده است را دنبال کنید.https://fa.player.fm/legal
An airhacks.fm conversation with Jonathan Ellis (@spyced) about:
…
continue reading
Jonathan's first computer experiences with IBM PC 8086 and Thinkpad laptop with Red Hat Linux, becoming a key contributor to Apache Cassandra and founding datastax, starting DataStax to provide commercial support for Cassandra, early experiences with Java, C++, and python, discussion about the evolution of Java and its ecosystem, the importance of vector databases for semantic search and retrieval augmented generation, the development of JVector for high-performance vector search in Java, the potential of integrating JVector with LangChain for Java / langchain4j and quarkus for serverless deployment, the advantages of Java's productivity and performance for building concurrent data structures, the shift from locally installed software to cloud-based services, the challenges of being a manager and the benefits of taking a sabbatical to focus on creative pursuits, the importance of separating storage and compute in cloud databases, Cassandra's write-optimized architecture and improvements in read performance, DataStax's investment in Apache Pulsar for stream processing, the llama2java project for high-performance language models in Java
Jonathan Ellis on twitter: @spyced
346 قسمت
すべてのエピソード
×An airhacks.fm conversation with Christian Humer ( @grashalm_ ) about: bachelor thesis on a Java bytecode interpreter written in Java, exploration of whether Java could be used as a systems language, benefits of implementing an ecosystem in itself as validation, C1X compiler based on C1 but reimplemented from scratch, concept of sea of nodes for mixing control and data flow, goal to rewrite the entire VM in Java, benefits of using one compiler throughout the stack for compatibility and maintainability, discussion of de-optimization process in JIT compilation, explanation of guards and assumptions in optimized code, three versions of Espresso (Java bytecode interpreter), first version as proof of concept, second version using Truffle with serialized ASTs , third version based on bytecodes with unrolling bytecode loops, explanation of bytecode quickening technique, sandboxing capabilities in GraalVM as replacement for deprecated security manager, isolating untrusted code in separate heaps for security, protection against speculative execution attacks, use case for running AI-generated Java code safely in isolated environments, GraalOS as a minimal operating system for running Java isolates , TRegex as GraalVM's optimized regular expression engine that compiles regex to machine code, bytecode interpreter DSL for generating efficient bytecode interpreters for different languages, memory improvements from using bytecode arrays instead of AST objects, potential future integration of TRegex as a Java API Christian Humer on twitter: @grashalm_…

1 LittleHorse Likes Sun 1:03:46
1:03:46
پخش در آینده
پخش در آینده
لیست ها
پسندیدن
دوست داشته شد1:03:46
An airhacks.fm conversation with Colt McNealy ( @coltmcnealy ) about: first computing experience with Sun workstations and network computing, background in hockey and other sports, using system76 Linux laptops for development, starting programming in high school with Java and later learning C, fortran , assembly , C++ and python , working at a real estate company with kubernetes and Kafka , the genesis of LittleHorse from experiencing challenges with distributed microservices and workflow management, LittleHorse as an open source workflow orchestration engine using Kafka as a commit log rather than a message queue, building a custom distributed database optimized for workflow orchestration, the recent move to fully open source licensing, comparison with AWS Step Functions but with more capabilities and open source benefits, using RocksDB and Kafka Streams for the underlying implementation, performance metrics of 12-40ms latency between tasks and hundreds of tasks per second, the multi-tenant architecture allowing for serverless offerings, integration with Kafka for event-driven architectures, the distinction between orchestration and choreography in distributed systems, using Java 21 with benefits from virtual threads and generational garbage collection, plans for Java 25 adoption, the naming story behind "Little Horse" and its competition with MuleSoft, the Sun Microsystems legacy and innovation culture, recent adoption of Quarkus for some components, the "Know Your Customer" flow as the Hello World example for Little Horse, the importance of observability and durability in workflow management, plans for serverless offerings and multi-tenant architecture, the balance between open source core and commercial offerings Colt McNealy on twitter: @coltmcnealy…

1 Apache Storm, Disruptor, JCTools and Linearizability 1:06:51
1:06:51
پخش در آینده
پخش در آینده
لیست ها
پسندیدن
دوست داشته شد1:06:51
An airhacks.fm conversation with Francesco Nigro ( @forked_franz ) about: JCTools as a Java concurrency utility library created by Nitsan Wakart, the history of JCTools and how Cliff Click donated his non-blocking HashMap algorithm to the project, contributions to JCTools including weight-free queue implementations, Apache Storm vs. Apache Kafka , explanation of how JCTools improves upon Java's standard concurrent queues by reducing garbage creation and optimizing memory layout, the difference between linked node implementations in standard Java collections versus array-based implementations in JCTools, detailed explanation of linearizability as a property of concurrent algorithms, the challenges of implementing concurrent data structures that maintain proper ordering guarantees, explanation of lock-free versus wait-free algorithms and their progress guarantees, discussion of the xadd instruction in x86 processors and how it's used in JCTools for atomic operations, the implementation of MessagePassingQueue API in JCTools that provides relaxed guarantees for better performance, comparison between JCTools and other solutions like Disruptor , explanation of how JCTools achieves 400 million operations per second in single-producer single-consumer scenarios, discussion of cooperative algorithms for multi-producer scenarios, the use of padding to avoid false sharing in concurrent data structures, the implementation of code generation in JCTools to create different flavors of queues, the use of Unsafe and AtomicLongFieldUpdater for low-level operations, real-world applications in high-frequency trading and medical data processing, integration of JCTools with quarkus and mutiny frameworks, the importance of proper memory layout for performance Francesco Nigro on twitter: @forked_franz…

1 Opensource and JVM Ports 1:00:01
1:00:01
پخش در آینده
پخش در آینده
لیست ها
پسندیدن
دوست داشته شد1:00:01
An airhacks.fm conversation with Volker Simonis ( @volker_simonis ) about: discussion about carnivorous plants, explanation of how different carnivorous plants capture prey through movement, glue, or digestive fluids, Utricularia uses vacuum to catch prey underwater, SAP's interest in developing their own JVM around Java 1.4/1.5 era, challenges with SAP's NetWeaver Java EE stack, difficulties maintaining Java across multiple Unix platforms (HP-UX, AIX, S390, Solaris) with different vendor JVMs, SAP's decision to license Sun's HotSpot source code, porting Hotspot to PA-RISC architecture on HP-UX, explanation of C++ interpreter versus Template interpreter in Hotspot, challenges with platform-specific C++ compilers and assembler code, detailed explanation of JVM internals including deoptimization, inlining, and safe points, SAP's contributions to openJDK including PowerPC port, challenges getting SAP to embrace open source, delays caused by Oracle's acquisition of Sun, SAP's extensive JVM porting work across multiple platforms, development of SAP JVM with additional features like profiling safe points, creation of SAP Machine as an open-source OpenJDK distribution, explanation of Java certification and trademark restrictions, Hotspot Express model allowing newer VM components in older Java versions, Volker's move to Amazon Corretto team after 15 years at SAP, brief discussion of ABAP versus Java at SAP, Volker's recent interest in GraalVM and native image technologies Volker Simonis on twitter: @volker_simonis…

1 Pure Java Blockchain 1:01:11
1:01:11
پخش در آینده
پخش در آینده
لیست ها
پسندیدن
دوست داشته شد1:01:11
An airhacks.fm conversation with Richard Bair ( @RichardBair ) about: discussion about Hedera public ledger and its underlying technology, explanation of Hashgraph algorithm for consensus and transaction ordering, comparison to other blockchain technologies like Bitcoin and ethereum , Hedera's democratic approach to block production versus leader-based systems, the Linux Foundation project called Hiero where Hedera's code is being moved, explanation of how nodes gossip transactions and come to consensus, the role of the Hedera Governing Council including companies like Dell and IBM, discussion of HBAR as the native token and fee system, comparison of Hedera's fixed dollar-denominated fees versus fluctuating fees in other blockchains, explanation of staking mechanism and how it creates a representative democracy for node selection, technical details about Hedera's Java implementation using Java 21 and modern language features, use of ZGC garbage collector with 200GB heap on consensus nodes, deployment on Linux using docker , discussion of Java modules and challenges with libraries like Netty , custom Protobuf to Java compiler called PBJ for performance optimization, consideration of replacing Netty with Helidon for better virtual thread support, discussion of supply chain security concerns and minimizing dependencies, custom logging implementation to avoid bloated frameworks like Log4j, importance of deterministic code execution across all nodes, challenges of distributed systems where iteration order must be consistent, explanation of node synchronization mechanisms when nodes fall behind, comparison to serverless cloud pricing models, discussion of vertical versus horizontal scaling in blockchain systems Richard Bair on twitter: @RichardBair…

1 High-Performance Load Testing 1:10:10
1:10:10
پخش در آینده
پخش در آینده
لیست ها
پسندیدن
دوست داشته شد1:10:10
An airhacks.fm conversation with Francesco Nigro ( @forked_franz ) about: discussion about the importance of stress testing over System Tests and unit tests, Coordinated Omission Problem in load generators where they don't accurately measure server performance during slowdowns, introduction to HyperFoil as a high-performance load generator capable of generating millions of requests per second with just two cores, explanation of how HyperFoil avoids GC overhead by pre-allocating resources, the architecture of HyperFoil using Netty event loops and a graph-based execution model, comparison with other load testing tools like JMeter, K6 , Apache Benchmark and Vegeta , introduction to QDUP as a shell automation tool for distributed testing, overview of Horreum for performance test results storage and analysis, explanation of how these tools work together in Red Hat's performance testing pipeline, discussion of JCTools and its importance for GC-free concurrent data structures, the Universal Scalability Law and its application to load balancing algorithms, the pick-two-random algorithm for efficient resource allocation, the benefits of using JBang for easy one-line execution of HyperFoil, potential drawbacks of HyperFoil including ergonomics and JIT compilation warm-up issues, the possibility of using GraalVM native image to avoid JIT compilation delays Francesco Nigro on twitter: @forked_franz…

1 Enterprise LLM Integration: Bridging Java and AI in Business Applications 1:05:08
1:05:08
پخش در آینده
پخش در آینده
لیست ها
پسندیدن
دوست داشته شد1:05:08
An airhacks.fm conversation with Burr Sutter ( @burrsutter ) about: discussion about integrating LLMs into enterprise Java applications, challenges with non-deterministic LLM outputs in deterministic code environments, limitations of chat interfaces for power users in enterprise settings, preference for form-based applications with prompts running behind the scenes, using LLMs to understand unstructured data while providing structured interfaces, maintaining existing CRUD systems while using LLMs for unstructured data like emails and support tickets, practical examples of using LLMs to generate code from business requirements, creating assistants with system messages and short user prompts, potential for embeddings to replace text prompts in the future, developer journey in learning LLM integration including prompts, tools, RAG , and agentic workflows, benefits of specialized agents over one general agent, using LLMs for code generation with limitations for complex use cases, hybrid approaches combining LLMs with human oversight, using LLMs for email routing and support case classification, potential for extracting knowledge from enterprise data sources like Confluence and SharePoint, quality assurance with LLM judges, discussion of small language models versus large ones, model distillation and fine-tuning for specific enterprise use cases, cost considerations for model training versus using off-the-shelf models with better tool invocation, prediction that models will become more efficient and run on commodity hardware in the future, focus on post-training inference and reliable results Burr Sutter on twitter: @burrsutter…

1 From Predator Plants to Concordance with Java 1:04:15
1:04:15
پخش در آینده
پخش در آینده
لیست ها
پسندیدن
دوست داشته شد1:04:15
An airhacks.fm conversation with Volker Simonis ( @volker_simonis ) about: early computing experiences with Schneider CPC (Amstrad in UK) with Z80 CPU, CP/M operating system as an add-on that provided a real file system, programming in Basic and Turbo Pascal on early computers, discussion about gaming versus programming interests, using a 9-pin needle printer for school work, programming on pocket computers with BASIC in school, memories of Digital Research's CP/M and DR-DOS competing with MS-DOS , HiMEM memory management in early operating systems, programming in Logo language with turtle graphics and fractals, fascination with Lindenmayer systems (L-systems) for simulating biological growth patterns, interest in biology and carnivorous plants, transition to PCs with floppy disk drives, using SGI Iris workstations at university with IRIX operating system, early experiences with Linux installed from floppy disks, challenges of configuring X Window System, programming graphics on interlaced monitors, early work with HP using Tickle/Tk and python around 1993, first experiences with Java around version 0.8/0.9, attraction to Java's platform-independent networking and graphics capabilities, using Blackdown Java for Linux created by Johan Vos , freelance work creating Java applets for accessing databases of technical standards, PhD work creating software for analyzing parallel text corpora in multiple languages, developing internationalization and XML capabilities in Java Swing applications, career at Sun Microsystems porting MaxDB to Solaris, transition to SAP to work on JVM development, Adabas and MaxDB, reflections on ABAP programming language at SAP and its database-centric nature Volker Simonis on twitter: @volker_simonis…
An airhacks.fm conversation with Alvaro Hernandez ( @ahachete ) about: discussion about stackgres as a complete database cloud solution for PostgreSQL , kubernetes as an abstraction layer over infrastructure providing a programmable API, Stackgres offering high availability with primary and replica nodes using patroni , integrated connection pooling with PgBouncer , kubernetes operators and Custom Resource Definitions (CRDs) as a powerful way to extend Kubernetes, day two operations automated through CRDs including benchmarks and version upgrades, Stackgres supporting sharding with Citus for horizontal scaling similar to DynamoDB , Change Data Capture capabilities using embedded debezium , failover mechanisms taking typically 30 seconds with DNS updates, synchronous vs asynchronous replication options affecting data loss during failover, Stackgres being implemented in Java using quarkus , ContainerD as a programmable container runtime that can be used without Kubernetes, Stackgres offering multiple interfaces including CRDs, REST API, and a web console, considerations for running databases on Kubernetes vs cloud-managed services, the advantages of containerization for infrastructure, the challenges of multi-leader setups in PostgreSQL requiring conflict resolution, the value of Kubernetes for on-premises deployments vs cloud environments Alvaro Hernandez on twitter: @ahachete…

1 From OCCAM and CSP to Java 1:09:08
1:09:08
پخش در آینده
پخش در آینده
لیست ها
پسندیدن
دوست داشته شد1:09:08
An airhacks.fm conversation with Kevlin Henney ( @KevlinHenney ) about: first computer was a Sinclair ZX81 with 1K of memory, programming in Basic and later Z80 assembly language, creating simulations like volcano explosions and n-body problems as a teenager, transitioning to the ZX Spectrum and other early home computers, studying physics at university but becoming more interested in programming, learning fortran , getting his first programming job at a small software house in Bristol where his boss had a wall of books on programming languages and paradigms, becoming self-taught through reading these books, developing an interest in AI and philosophy of mind which led to pursuing a master's degree in parallel computer systems, creating a virtual machine for a Lisp-based actor model, learning about the occam programming language based on Communicating sequential processes (CSP) for transputers, discovering Object-oriented programming and being fascinated by modularity and encapsulation, encountering Java in the mid-90s as a free downloadable language with platform independence, appreciating Java's familiar C-like syntax while offering object orientation without low-level concerns, using Java primarily for training and consultancy work rather than application development, discussing the evolution of Java features like inner classes (Java 1.1) and interfaces, explaining his unique perspective on interfaces coming from distributed systems experience with IDLs, reflecting on his work with various distributed Java technologies like RMI, Jini and JavaSpaces , continuing his career as an independent consultant, trainer and speaker with strong involvement in the patterns community Kevlin Henney on twitter: @KevlinHenney…

1 Java Scalability Considerations 1:08:44
1:08:44
پخش در آینده
پخش در آینده
لیست ها
پسندیدن
دوست داشته شد1:08:44
An airhacks.fm conversation with Francesco Nigro ( @forked_franz ) about: Netty committer and performance engineer at Red Hat, discussion of Netty's history, focus on low-level core components like buffers and allocators in Netty, relationship between Vert.x and Netty where Vert.x provides a more opinionated and user-friendly abstraction over Netty, explanation of reactive back pressure implementation in Vert.x, performance advantages of Vert.x over Netty due to batching and reactive design, detailed explanation of IO_uring as a Linux-specific asynchronous I/O mechanism, comparison between event loop architecture and Project Loom for scalability, limitations of Loom when working with IO_uring due to design incompatibilities, discovery of a major Java type system scalability issue related to instance-of checks against interfaces, explanation of how this issue affected Hibernate performance, deep investigation using assembly-level analysis to identify the root cause, collaboration with Andrew Haley to fix the 20-year-old JDK issue, performance improvements of 2-3x after fixing the issue, discussion of CPU cache coherency problems in NUMA architectures, explanation of how container environments like kubernetes can worsen performance issues due to CPU scheduling, insights into how modern CPUs handle branch prediction and speculation, impact of branch misprediction on performance especially with memory access patterns, discussion of memory bandwidth limitations in AI/ML workloads, advantages of unified memory architectures like Apple M-series chips for AI inference Francesco Nigro on twitter: @forked_franz…

1 From Kona Coffee Beans to Java 1:15:45
1:15:45
پخش در آینده
پخش در آینده
لیست ها
پسندیدن
دوست داشته شد1:15:45
An airhacks.fm conversation with Burr Sutter ( @burrsutter ) about: first computer: IBM PS/2 386SX funded by grandparents' Kona coffee sales, early passion for programming and problem-solving, self-taught C programming, database engine development as a student, transition from theater aspirations to computer science, work with Progress 4GL and Silverstream , shift to .net development, joining JBoss and Red Hat through acquisition, Mark Fleury's impactful "free don't suck" presentation, evolution of Java application servers and middleware technologies, enterprise service bus and SOA, impact of docker and kubernetes on the industry, Red Hat's adaptation to cloud-native technologies, development of quarkus , current interest in language models and GenAI , Java's longevity and adaptability, Quarkus' fast startup time and compatibility with legacy Java EE applications, work on Kubernetes and Quarkus, the importance of Java's "write once, run anywhere" principle, Java's performance compared to other languages Burr Sutter on twitter: @burrsutter…
An airhacks.fm conversation with Christian Humer ( @grashalm_ ) about: early programming experiences with DOS text Adventures and Captain Comic , transition from graphics design to computer science, work on Java Server Pages (JSPs) and point-of-sale systems, development of Swing GUI for touchscreens, introduction to GraalVM and Truffle framework, ActionScript , Adobe Flash and Adobe Flex , explanation of Futamura projections and partial evaluation in Truffle, discussion on the challenges of implementing dynamic language runtimes, de-optimization in JIT compilers, Nashorn JavaScript engine vs. GraalJS , language interoperability in GraalVM, reuse of libraries across different programming languages, embedding of JavaScript and React in Java applications, comparison with PyPy in the python ecosystem, current work on bytecode DSL for generating bytecode interpreters, the importance of math in computer science and its relation to programming concepts Christian Humer on twitter: @grashalm_…

1 From Swing to Blockchain 1:01:36
1:01:36
پخش در آینده
پخش در آینده
لیست ها
پسندیدن
دوست داشته شد1:01:36
An airhacks.fm conversation with Richard Bair ( @RichardBair ) about: early programming experiences with Basic and building computers, his first production app at 17 for his father's auto repair shop, starting computer science degree at 16 and completing it at 43, joining Sun Microsystems' Swing team, working on JavaFX from its inception as F3 through its evolution, becoming lead of JavaFX team and chief architect for client Java, moving to Oracle's IoT team, current role as VP of Engineering at Hedera blockchain company, explanation of Hedera's Hashgraph algorithm solving the Byzantine Generals Problem, implementation of Hedera's technology in Java, open-source nature of Hedera's codebase, resources for learning about and developing with Hedera including documentation, Hedera Improvement Proposals - hips , and developer hedera playground , discussion of blockchain technology and its potential impact on open protocols and decentralized networks, comparison of blockchain to distributed databases, explanation of consensus mechanisms in distributed ledgers, tokenization of real-world assets Richard Bair on twitter: @RichardBair…

1 Postgres Performance Optimization: Connection Pooling, JDBC, and Distributed Databases 1:09:52
1:09:52
پخش در آینده
پخش در آینده
لیست ها
پسندیدن
دوست داشته شد1:09:52
An airhacks.fm conversation with Alvaro Hernandez ( @ahachete ) about: discussion on Postgres JDBC driver contributions, SCRAM authentication library implementation, importance of connection pooling for Postgres performance, tuning Postgres configuration, PgBouncer as a popular connection pooler, challenges with lambda and database connections, benefits of using connection poolers at multiple levels, the need for an HTTP-based protocol for PostgreSQL , PostgresSQL Configuration Tool by StackGres , distributed SQL databases like DSQL and their trade-offs, optimistic vs pessimistic locking in distributed databases, comparison of JPA optimistic locking to distributed database conflicts, the power of using SQL directly vs ORM frameworks, the evolution of Java and JDBC making direct database queries more convenient, the potential benefits of using stored procedures in databases, the importance of understanding database internals for optimal performance, the need for careful consideration when choosing between ORM and direct SQL queries, the complexities of distributed databases and their impact on application design Alvaro Hernandez on twitter: @ahachete…
به Player FM خوش آمدید!
Player FM در سراسر وب را برای یافتن پادکست های با کیفیت اسکن می کند تا همین الان لذت ببرید. این بهترین برنامه ی پادکست است که در اندروید، آیفون و وب کار می کند. ثبت نام کنید تا اشتراک های شما در بین دستگاه های مختلف همگام سازی شود.